rancher2.6部署k8s集群示例

Posted 农民工老王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rancher2.6部署k8s集群示例相关的知识,希望对你有一定的参考价值。

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬

目录

rancher 2.6已经发布一段时间,与2.5还是有不少变动,而且目前只有英语文档。为了方便大家顺利使用,在此演示下rancher2.6部署k8s集群。

本文是 如何通过rancher部署k8s集群 这篇博客的升级版本,该文介绍了rancher 2.5部署k8s集群的流程。大家可以对比阅读。

1 计算机准备

本次部署准备了五台机器,如下表所示。

机器名IP地址部署内容cpu核心数内存(G)硬盘(G)
k8s179192.168.130.179rancher48100
k8s180192.168.130.180master48100
k8s183192.168.130.183node832100
k8s184192.168.130.184node832100
k8s185192.168.130.185node832100

本次安装相对于rancher2.5的那次部署,有以下改进:

  • rancher和master节点部署在不同的机器上,有利于两者解耦,可以分别打快照和回滚。
  • master节点不再承担worker的角色,不参与工作负载。这也是k8s的最佳实践。

如果您的机器资源不是很宽裕,可以将rancher和master部署在同一台机器上,还可以缩减node的数量为两个。cpu、内存、硬盘资源也可以按照您的实际情况进行配置。

2 安装前准备

具体步骤参见 我的另一篇博文 如何设置k8s安装前的计算机环境(此处有超链接,可以直接点击跳转)

3 部署rancher

docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 --privileged rancher/rancher:v2.6.3

需要注意的是上面的命令中的rancher的版本v2.6.3仅仅是我2022年5月安装测试时的最新版,rancher随时在更新,您可以将上面命令中的“v2.6.3”替换为“latest”,以安装最新版本的rancher。但如果您选择最新版后,您的rancher用户界面可能会和下文的截图有差异,需要您进行一定的探索和推测。请根据您的需求选择。

4 配置rancher

完成后,访问https://<部署主机的ip或全限定域名>:8443 ,进入rancher管理页面。
可以看到rancher的引导信息,提示你需要进行如下操作

# 找到您的容器ID
docker ps
# 找到密码
docker logs  $container-id  2>&1 | grep "Bootstrap Password:"

例如:
然后将查询到的字符串复制到Password文本框中,点击Log in with Local User。

在下面这个页面您需要依次点击第一个和第三个箭头的选择框,并填写好密码和Server URL,然后点击Continue。
需要注意两点:

  • Server URL一定要填写IP地址,而不要填写全限定域名。
  • 密码长度要超过12位。

按照如图的操作,可以设置为中文语言。

5 创建k8s集群

点击箭头处的创建。
点击自定义。
填写集群名字,并选择版本。

在“Advanced Options”中进行高级设置,比如:选择是否启用nginx Ingress,我这里没有选择没有开启,主要是用不上。是否开启请根据您的需求来定。这个设置项后续可以点击rancher界面中此集群的升级按钮进行重新选择。

点击“Next”后,进入添加主机命令页面。
点选Etcd,Control Plan两个选项,然后复制下方的命令,到master节点执行。
点选Worker选项,然后复制下方的命令,到node节点执行。

当集群前面的状态变成Active时,就表示集群部署完成,可以点击集群的名称,进入集群详情页。
点击箭头处的标识,可以下载集群的配置文件。
在部署kubectl的计算机中,在用户文件夹下创建.kube文件夹,并在其中创建文件config,并将下载的配置文件中的内容写入config文件。然后就可以通过kebectl操作集群。

6 rancer2.6的更新点

重新设计的Rancher用户体验

重现设计用户界面的外观和感觉,使初学者和高级Kubernetes用户易于使用。

集群资源管理器的导航已经更新,用户现在可以看到用简单术语表达的最常用的Kubernetes资源的折叠子集。任何Kubernetes资源都可以通过Explorer进行管理,并通过资源搜索功能快速找到。用户现在可以管理他们的项目。像监控和日志这样的集群工具被聚集在一个容易发现的集群工具菜单下。启用监控时,集群仪表板现在包括实时指标。
全局导航经过重新设计,使用户和管理员更容易在集群和顶级应用之间快速切换。
集群管理列出了用户的所有集群,并增强了它自己的左侧导航菜单,将所有集群生命周期工具集中到一个地方。

增强品牌和定制选项

管理员现在可以通过一个品牌管理页面管理Rancher中的标识和颜色。
用户可以在集群资源管理器导航中添加自己的应用程序的链接。

增强的AKS生命周期管理

对AKS集群的配置进行了更新,以支持私有AKS端点、多节点池、自动缩放和利用Rancher云凭证进行认证。
现有的AKS集群可以被注册,从而能够管理Kubernetes版本和配置设置。

增强的GKE生命周期管理

对GKE集群的配置进行了更新,以支持共享VPC、多节点池、自动缩放和网络标签。
现有的GKE集群可以被注册,从而能够管理Kubernetes版本和配置设置。
Rancher的项目网络隔离可以为通过Rancher配置或注册的GKE集群启用。

技术预览 - RKE2集群配置

为了支持RKE2集群的配置,我们引入了一个建立在集群API之上的新的配置框架。
RKE2集群可以通过Rancher在不同的云基础设施供应商(如AWS、Azure、vSphere、Linode和DigitalOcean)配置虚拟机。
RKE2集群也可以在现有的虚拟或裸机服务器上进行配置。

技术预览 - RKE2支持Windows工作节点

Windows工作节点可以被添加到任何使用默认Calico CNI的RKE2自定义集群中。

技术预览 - 集群模板

集群模板提供了控制哪些参数可以被定制的能力,以配置集群。

集群可以定义的例子有。

etcd、control和worker的节点池。
用于配置节点的云凭证。

使用OIDC的Keycloak

Keycloak现在可以使用OIDC进行认证。

安全性增强

管理员现在可以通过Rancher和Kubernetes审计日志中的用户名和身份提供者(IdP)来追踪用户。
管理员可以启用Rancher API令牌的单向哈希。

如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。

六、rancher搭建rabbitmq集群化部署

参考技术A 一.Rabbitmq在rancher上面部署
Prod:

这里要做3个rabbitmq,取名分别prod,master,slave
Master和slave基本配置一样,就是映射时候记得改一下映射文件名字就行下面是
master:

二.Rabbitmq在rancher添加服务如图:

Slave:

三.Rabbitmq的配置命令如图:
如果执行失败说明你没给容器设置容器名字

如果成功如图日志会打印:

四:Rabbitmq整合对外端口外加测试是否成功

到这里启动会报错说找不到配置为文件
现在我们要配置这个统一管理配置文件,记得改成你自己的服务名字:

以上是关于rancher2.6部署k8s集群示例的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 部署 k8s集群

Linux企业运维——Kubernetesk8s集群安装部署

kubernetes 概述和kubeadm方式集群搭建

kubernetes 概述和kubeadm方式集群搭建

kubernetes 概述和kubeadm方式集群搭建

实操教程丨如何在K8S集群中部署Traefik Ingress Controller