通过rancher2.7管理k8s1.24及1.24以上版本的k8s集群

目录

初始化实验环境

安装Rancher

登录Rancher平台

通过Rancher2.7管理已存在的k8s最新版集群


文档中的YAML文件配置直接复制粘贴可能存在格式错误,故实验中所需要的YAML文件以及本地包均打包至网盘.

链接:https://pan.baidu.com/s/1oYX4eGoBtW_R-7i45rk8pw

提取码:prk9

Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全性,加速企业数字化转型。

超过40,000家企业每天使用Rancher快速创新

Rancher官方文档:

https://docs.rancher.cn/

以下是 Rancher 的一些基本介绍:

  1. 容器管理:Rancher 支持 Kubernetes,允许用户通过 Web 界面集中管理多个k8s集群。它允许用户通过简单的几步就能够部署k8s资源
  2. 多云支持:Rancher 提供了对多个云提供商的支持,如 AWS、Azure、Google Cloud 等,使用户能够在不同云平台之间轻松迁移容器工作负载。
  3. 高可用性:Rancher 可以配置为高可用模式,确保平台本身的稳定性和容错性。这意味着即使在某些节点失败的情况下,Rancher 仍然可以继续运行并提供服务。
  4. 安全性:Rancher 提供了多层级的安全特性,包括用户认证、访问控制、镜像安全扫描等,帮助用户保护容器化应用程序的安全。
  5. 资源管理:Rancher 允许用户对容器集群中的资源进行管理和调整,以确保应用程序的性能和稳定性。
  6. 应用商店: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

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF

root@xianchaorancher \~# sysctl -p /etc/sysctl.d/k8s.conf

#配置国内阿里云docker的repo源

安装基础软件包

root@xianchaorancher \~# yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate

配置时间同步:

# 跟网络时间做同步

root@** xianchaorancher **\~# ntpdate cn.pool.ntp.org

#把时间同步做成计划任务

root@** xianchaorancher **\~# crontab -e

* * * * * /usr/sbin/ntpdate cn.pool.ntp.org

#重启crond服务

root@** xianchaorancher **\~# service crond restart

添加阿里云docker在线源

root@xianchaorancher \~# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在xianchaorancher上安装docker-ce。我们已经配置了docker本地源,直接安装docker-ce服务。

安装docker-ce

root@xianchaorancher \~# yum install docker-ce -y

root@xianchaomaster1 \~# systemctl start docker && systemctl enable docker.service

修改docker配置文件,配置镜像加速器

root@xianchaorancher \~# tee /etc/docker/daemon.json << 'EOF'

{

"registry-mirrors":"https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","[http://qtid6917.mirror.aliyuncs.com](http://qtid6917.mirror.aliyuncs.com "http://qtid6917.mirror.aliyuncs.com")", "https://rncxm540.mirror.aliyuncs.com",

"exec-opts": "native.cgroupdriver=systemd"

}

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 <none> <none>

cattle-cluster-agent-57c864c7f5-rw9w2 1/1 Running 0 52s 10.244.123.66 xianchaomaster1 <none> <none>

看到cattle-cluster-agent这个pod时running,说明rancher-agent部署成功了,在rancher ui界面可以看到如下内容:https://192.168.40.138/dashboard/home

上面结果说明rancher里面已经导入了k8s,k8s的版本是1.23.1

相关推荐
ITyunwei098719 小时前
技术管理者视角:AI 重构 ITSM 的四个工程化落点
运维·人工智能
阿里云云原生19 小时前
RCA 决定 AgenticOps 的行动方向:STAROps 如何把根因定位做成系统能力
云原生
我有2只猫20 小时前
vLLM Docker 本地部署小模型
docker·容器·vllm
腾讯数据架构师21 小时前
壁仞 GPU 怎么接入 Kubernetes 和 AI 平台?CubeStudio 壁仞算力适配实操
人工智能·容器·kubernetes·cube-studio·ai平台
有脚就行21 小时前
第28篇-Kubernetes-GPU调度机制-Device-Plugin与GPU-Operator
人工智能·容器
键盘鼓手苏苏1 天前
AI 内容生成管线设计:从多模态编排到质量守门的生产级架构
云原生·kubernetes·k8
明志数科1 天前
宇树科技IPO背后的产业逻辑:人形机器人从“讲故事“到“交数据“
运维·服务器·数据库
外滩运维专家1 天前
验证码接口上线三天就被刷了,我后来加的几道防线
运维
跨境小彭1 天前
店群运营实操复盘:批量活动申报自动化优化方案
大数据·运维·人工智能·自动化·跨境电商·temu·temu电商运营
Jlzn88881 天前
2026年锂电CCS组装线:车规储能双场景兼容自动化方案的技术架构与实践
运维·架构·自动化