rancher和k8s的关系(rancher 部署k8s集群)

rancher和k8s的关系(rancher 部署k8s集群)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍rancher和k8s的关系(rancher导入k8s集群)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

K8s集群上使用Helm部署246版本Rancher集群

参考文档
Helm安装Rancher

Rancher简介
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。
Rancher支持各类集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可以使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管​​理员可以在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管​​理员可以在单个页面对所有Kubernetes集群的健康状况和容量进行监控。
Rancher为DevOps工程师提供了一个直观的用携知户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。

集群环境

Helm环境

添加辩脊消Chart仓库地址

通过Helm安装Rancher
注意:这里指定了hostname=rancher.minminmsn.com,必须使用域名访问才行。
注意:rancher默认使用https访问,因此,需要有一个公网的SSL才行,可以使用之前ingress-secret2021。

注意:其中有几个参数需要特别注意,如果不注意后续再修改服务配置也可,比如namespace、hostname、ingress等,下面正式helm部署rancher

发现默认是3节野悔点rancher集群,测试k8s集群只有2个节点,所以有1个pod没有启动,这里需要修改deploy中的replicas为2

修改其中replicas由2变为2

全部内容如下

修改ingress证书
需要修改rancher默认ingress的secretName由tls-rancher-ingress变更为ingress-secret2021

登陆rancher设置环境
默认密码为admin需要设置复杂密码,默认语言为英文可以改为中文,默认管理本地k8s集群

添加TKE集群
创建ptech集群并导入,需要在ptech集群上执行如下

创建enterprise集群并导入,需要在enterprise集群上执行如下

最终效果如下

记一次rancher导入yaml生成k8s异常

公司使用rancher来部署k8s集群,最近因为有一个新的项目开发完成需要搭建环境,因此我编写了k8s的yaml来导入到rancher中,生成一个测试环境,一个演示环境,测试环境用于测试,演示环境用于给客户演示。导入之后namespace等成功生成,测试环境没有问题,但是demo环境出现了问题。

demo环境的yaml如下:

刚开始在namespace页面时看起来并没有什么问题,但是点击进入到工作负载页面后,在访问端口处展示的端口却是 n/a 。当时感觉不对,但是并没有在意,

查看pod日志,也能正常展示

但是通过接口进行访问时,却一直访问不到。经过多次排查,发现是磨宏困因为yaml编写的问题

图中三处的APP名称必须保持一致,才能正常访问。

labels : 用来定位一个或多个资源,键值对方式进行定义,下方使用的selector会与这里的键值对对应,作为selector的挑选条件

matchlabels: 标签选择器,与上面的标签共用,这个部分是17版本开始加的,必须与上面的labels对应,选择包含标签app:xxxx的资源

在瞎念新版的k8s中labels是绝渗非常重要的

matchLabels/matchExpression作用

matchLabels使用场景

Pod 选择器

如果在生产环境中有大量的Deployment的话,无法快速确定哪些Pod是属于哪个Deployment,这个是就体现了label标签的重要性,而我上面的yaml并没有将service中的selector与deployment中的lables对应,因此创建的pod无法与service绑定,导致访问不到。

将yaml修改成如下之后修复了这个bug

https://blog.csdn.net/Mr1ght/article/details/118180271

rancher部署k8s遇到的问题总结

本地没镜像会自动去仓库拉取镜像,最后启动成功后,访问部署服务器的ip即可。
初次访问会让设置密码,即admin用户密码,设置完成后就进入rancher了。

参考了百度,使用如下方法解决了,但是这种方法还不是最优,(记得往下看)

添加完配如睁置,等rancher自动重新deploy后,还是不行然后就去看了kubelet容器日志,有报错

可能由于之前误操作或者kubelet自动清理 /opt/cni/bin 目录下没有任何程序了,然后复制了其它同镜像的容器里 /opt/cni/bin 下面的文蠢橡培件到宿主机 /opt/cni/bin 目录下,就好了。没有报错,问题解决。但这种自己加配置文件,cniVersion还糊里糊涂的方式明显不合适,于是就又看了看rancher的kubernetes配置。
最后找到了问题所在:
rancher默认的kubernetes配置中,默认注释掉了网络提供者,取消注释就行了
在集群界面,点击“编辑集群”,然后选择“编辑yaml”,在kubernetes的配置yaml中, network 部分从上面的注释中复制如下配置,添加进去:

配置如图:

网络问题解决之后,又遇到了新的报错:

百度的结果是让

但我们这是在编辑yaml,于是就改成了:
yaml文件中kubelet那一项下面添加配置:

配置如图:

然后rancher会自动重新deploy,最后完事儿之后,集群就好了哈哈哈哈哈(不愧是我。

节点(包含etcd、control、worker)最后启动的所有容器如下图:

集群状态如下图:

最后再附一个rancher节点清理指路,以前残留的数据会影响集带唯群的,要注意保证服务器环境的整洁,kubelet容器会挂载 /etc/cni , /opt/cni 目录的,etcd会挂载 /var/lib/etcd 目录。
https://docs.rancher.cn/rancher2x/admin-manual/remove/#_1-%E6%89%8B%E5%8A%A8%E6%B8%85%E7%90%86%E8%8A%82%E7%82%B9

一台虚拟机安装rancher2+k8s环境

对于初学者,在一台虚拟机上安装rancher2和k8s环境,是一件挺麻烦的事,笔者做了个虚拟机镜像,帮助快速搭建环境。

为了节约运行时资源,采用了轻量级的k3s部署k8s环境,用于本地开发及测试环境,够用了。

在k3s上安装rancher,官方安装文档:
https://rancher.com/docs/rancher/v2.5/en/

账号 root 密码 123
如果需渗晌要ssh私钥登录,请自行修改.ssh/authorized_keys

账号 admin 密码 123
打开浏览器,推荐谷歌浏览丛耐锋器,输入 https://rancher.l.jamma.cn ,首次打开会提示证书警告,点击继续即可。

建议内存4G以上。

通过配置端口转发,从主机访问虚拟机的服务,例如rancher里配置redis,通过L4层负载均衡开放端口6379, 虚拟机网络中配置好6379端口转发后,就可以通过localhost:6379直接访问虚拟机的redis服务了。
注意,需要转发的端口必须在宿主机没有被亩梁占用。
默认已经配置了下列端口转发。

默认,我配置了泛域名 *.l.jamma.cn 解析为 127.0.0.1,长期有效,你可以直接使用我的域名,可以配置自己的域名。

下面是我配置的两个L7层负载均衡的例子
api.l.jamma.cn 指向 api服务
gateway.l.jamma.cn 指向 gateway服务

使用helm前需要设置环境变量KUBECONFIG

K8S的概念是什么

k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了纤裂源云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。想要了解更多,我推荐你毁态去看看时速云,他们是一家全栈云原生技术服务提供商,提供云原生源猜应用及数据平台产品,其中涵盖容器云PaaS、DevOps、微服务治理、服务网格、API网关等。大家可以去体验一下。
希望能给您提供帮助,可以给个大大的赞不。

分享到 :
相关推荐

Managed和Unmanaged美国服务器方案有哪些不同

在选购美国服务器的时候。细心的朋友可能会发现。现在有些美国主机商都提供Managed...

高防御服务器中单机与集群防御是啥意思(单机防御和集群防御)

在租用高防御服务器时。我们常常能看到单机防御和集群防御。但是很多人并不了解单机防御和...

app服务器如何选择(做个app怎么选择服务器)

app服务器选择的方法:1。选择BGP多线路机房。能保证用户的访问和响应速度;2。根...

租用美国服务器需要操作哪些安全设置(租用美国服务器需要操作哪些安全设置呢)

租用美国服务器需要操作的安全设置有:1。初始设置美国服务器。如Web服务器。邮件服务...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注