目录
文档中的YAML文件配置直接复制粘贴可能存在格式错误,故实验中所需要的YAML文件以及本地包均打包至网盘.
链接:https://pan.baidu.com/s/1oYX4eGoBtW_R-7i45rk8pw
提取码:prk9
Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全性,加速企业数字化转型。
超过40,000家企业每天使用Rancher快速创新
Rancher官方文档:
以下是 Rancher 的一些基本介绍:
- 容器管理:Rancher 支持 Kubernetes,允许用户通过 Web 界面集中管理多个k8s集群。它允许用户通过简单的几步就能够部署k8s资源
- 多云支持:Rancher 提供了对多个云提供商的支持,如 AWS、Azure、Google Cloud 等,使用户能够在不同云平台之间轻松迁移容器工作负载。
- 高可用性:Rancher 可以配置为高可用模式,确保平台本身的稳定性和容错性。这意味着即使在某些节点失败的情况下,Rancher 仍然可以继续运行并提供服务。
- 安全性:Rancher 提供了多层级的安全特性,包括用户认证、访问控制、镜像安全扫描等,帮助用户保护容器化应用程序的安全。
- 资源管理:Rancher 允许用户对容器集群中的资源进行管理和调整,以确保应用程序的性能和稳定性。
- 应用商店:Rancher 提供了应用商店(Catalog)功能,允许用户浏览和安装预定义的应用程序模板,简化了应用程序部署的过程。
初始化实验环境
安装rancher需要的实验环境如下:
环境说明(centos7.9):
IP 主机名 内存 cpu
192.168.40.138 xianchaorancher 4G 4vCPU
已经存在的K8s实验环境:
角色 ip 主机名
控制节点 192.168.40.180 xianchaomaster1
工作节点 192.168.40.181 xianchaonode1
配置主机名:
在192.168.40.138上执行如下:
hostnamectl set-hostname xianchaorancher
配置hosts文件:
#在xianchaomaster1、xianchaonode1、xianchaorancher上操作:
192.168.40.180 xianchaomaster1
192.168.40.181 xianchaonode1
192.168.40.138 xianchaorancher
关闭防火墙
root@xianchaorancher \~\]# systemctl stop firewalld ; systemctl disable firewalld
关闭selinux
\[root@xianchaorancher \~\]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
注意:修改selinux配置文件之后,重启机器,selinux才能永久生效
内核参数修改:br_netfilter模块用于将桥接流量转发至iptables链,br_netfilter内核参数需要开启转发。
\[root@xianchaorancher \~\]# modprobe br_netfilter
\[root@xianchaorancher \~\]# cat \> /etc/sysctl.d/k8s.conf \<\ } EOF root@xianchaorancher \~\]# systemctl restart docker
\[root@xianchaorancher \~\]# systemctl status docker
显示如下,说明docker安装成功了
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-03-17 12:39:06 CST
#### 安装Rancher
Rancher2.7+版本支持导入已经存在的k8s1.24+版本的k8s集群:
在xianchaorancher上操作如下命令:
\[root@xianchaorancher \~\]# docker load -i rancher_2.7.3.tar.gz
\[root@xianchaorancher \~\]# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:v2.7.3
注:unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
验证rancher是否启动:
\[root@xianchaorancher \~\]# docker ps \| grep rancher
显示如下,说明启动成功:
70b5916dd1bc rancher/rancher:v2.7.3 "entrypoint.sh" 45 seconds ago Up 36 seconds 0.0.0.0:80-\>80/tcp, :::80-\>80/tcp, 0.0.0.0:443-\>443/tcp, :::443-\>443/tcp recursing_hofstadter
#### 登录Rancher平台
在浏览器访问xianchaorancher的ip地址:

**选择高级**

**接受风险并继续**

**(1)获取密码:**
**在xianchao** **rancher** **上,docker ps查看正在运行的容器,显示如下:**
**CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES**
**70b5916dd1bc rancher/rancher:v2.7.3 "entrypoint.sh" 3 minutes ago Up 3 minutes 0.0.0.0:80-\>80/tcp, :::80-\>80/tcp, 0.0.0.0:443-\>443/tcp, :::443-\>443/tcp recursing_hofstadter**
**通过上面可以看到容器的id是**70b5916dd1bc
**\[root@xianchao** **rancher** **\~\]# docker logs** 70b5916dd1bc **2\>\&1 \| grep "Bootstrap Password:"**
**2022/04/16 02:29:29 \[INFO\] Bootstrap Password: sq5hsgp7n8585m4l85s6khdnz2q4f79fwtgh5w2l7k669hvknn26jw**
**通过上面可以看到获取到的密码是** **:**
sq5hsgp7n8585m4l85s6khdnz2q4f79fwtgh5w2l7k669hvknn26jw
**把获取到的密码** sq5hsgp7n8585m4l85s6khdnz2q4f79fwtgh5w2l7k669hvknn26jw**复制到password位置:**

使用本地用户登录,**显示如下:**

**设置新的密码:**

**点击继续之后,显示如下:**

### ******通过Rancher**** ****2.7**** ****管理已存在的k**** ****8s**** ****最新版集群******
**#把已经存在的k8s集群导入到rancher了**

**选择导入已有的集群,出现下面界面**

选择通用,出现如下界面:

集群名称:xianchao,点击创建

出现如下界面:

**在k8s控制节点复制上图红色箭头标注的一串命令:**
\[root@xianchaonode1 \~\]#ctr -n=k8s.io images import rancher-agent_2.7.3.tar.gz
\[root@xianchaomaster1 \~\]#ctr -n=k8s.io images import rancher-agent_2.7.3.tar.gz
**\[root@xianchaomaster1 \~\]# curl --insecure -sfL https://192.168.40.138/v3/import/stqwgdprrz7brdvzr7wgrqt6m6wgmq8w6kcj6sg8rwxl6rqr4bqdqb_c-m-5cnf2c8v.yaml \| kubectl apply -f --**
**验证rancher-agent是否部署成功:**
**\[root@xianchaomaster1 \~\]# kubectl get pods -n cattle-system -o wide**
**NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES**
**cattle-cluster-agent-57c864c7f5-f7n28 1/1 Running 0 44s 10.244.121.7 xianchaonode1 \