大家好,今天来介绍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网关等。大家可以去体验一下。
希望能给您提供帮助,可以给个大大的赞不。
本文地址:https://gpu.xuandashi.com/71664.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!