通过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", "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

相关推荐
wanhengidc17 分钟前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain32 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
-KamMinG42 分钟前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Bessssss1 小时前
centos日志管理,xiao整理
linux·运维·centos
豆是浪个1 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
王铁柱子哟-1 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
chinayu20072 小时前
虚拟机桥接模式
linux·运维·桥接模式
vvw&2 小时前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
o(╥﹏╥)2 小时前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs