【云原生】Rancher部署k8s集群流程—2023.03

该文详细阐述了如何使用Rancher部署一个Kubernetes集群,包括准备服务器、初始化操作(如关闭防火墙、SELinux,禁用swap等)、安装Docker、部署Rancher、创建K8s集群。通过Rancher的可视化界面简化了集群部署过程,提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整体思路:
首先,准备好4台服务器,并且固定好IP;其次将4台服务器初始化,并在4台服务器上安装docker;然后在rancher节点的服务器上安装rancher,安装成功过后就可以通过IP+端口号访问rancher页面进行可视化操作了;最后在rancher节点服务器上创建配置文件,部署kubectl,就可以通过rancher节点控制整个集群了。

1. 准备工作

准备了4台机器,一台rancher,一台master,2台node,固定好IP,可以参考这篇文章,帮助您固定虚拟机IP(此处有超链接)

主机名称IP部署内容组件
k8s-rancher192.168.2.21rancherdocker\rancher\kubectl
k8s-master1192.168.2.22master1docker
k8s-node1192.168.2.23node1docker
k8s-node2192.168.2.24node2docker

2. 初始化操作

2.1 关闭防火墙

systemctl disable firewalld  #永久关闭,移除开机自启项,以后开机不会启动
systemctl stop firewalld  #临时关闭,立刻关闭

2.2 关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config   # 修改selinux配置文件为关闭状态,以后开机不会启动
setenforce 0   #临时关闭,立刻关闭

2.3 关闭swap分区

sed -ri 's/.*swap.*/#&/' /etc/fstab  # 修改swap配置文件为关闭状态,以后开机不会启动
swapoff -a  #临时关闭,立刻关闭

2.4 设置主机名

hostnamectl set-hostname <设定的主机名称>
bash   # 刷新

2.5 修改hosts表

cat >> /etc/hosts << EOF
192.168.2.21 k8s-rancher
192.168.2.22 k8s-master1
192.168.2.23 k8s-node1
192.168.2.24 k8s-node2
EOF

2.6 时间同步

yum -y install ntpdate 
ntpdate time.windows.com

2.7 流量转发

# 将桥接的 IPv4 流量传递到 iptables 的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF

#加载
modprobe br_netfilter
sysctl -p

sysctl --system   # 生效

3. 部署docker

安装之前确保没有其他dockers版本,如果有别的版本会有冲突,需要把原有的卸载再安装,可以参考这篇文章,卸载dockers(此处有超链接)
在4台服务器即所有节点上部署。

# 下载docker的yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 
# 安装docker,找上一步的yum源去安装
yum  -y install docker-ce-20.10.12-3.el7
# 开机自启动并且启动docker
systemctl enable docker && systemctl start docker 
# 查看docker版本
docker --version

# 设置docker拉取镜像的加速器
cat > /etc/docker/daemon.json << EOF 
{
 "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] 
}
EOF

# 重启docker
systemctl daemon-reload
systemctl restart docker

4. 部署rancher

在k8s-rancher服务器上部署rancher,这里部署的是2.6版本

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

5. 配置rancher

完成后,访问https://<部署主机的ip>:8443 ,进入rancher管理页面。
在这里插入图片描述
可以看到rancher的引导信息,提示需要进行如下操作,按照提示操作即可

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

在这里插入图片描述
将密码输入到对话框里,点击“Log in with Local User”。

在下表面的页面填写好新密码和Server URL,然后点击Continue。
注意:
密码至少12位
Server URL一定要填写IP地址
在这里插入图片描述

可以在左侧设置语言
在这里插入图片描述

6. 创建k8s集群

点击创建
在这里插入图片描述
选择自定义
在这里插入图片描述
输入集群名字,选择版本
在这里插入图片描述
在“Advanced Options”中进行高级设置,比如:选择是否启用Nginx Ingress,我这里没有选择没有开启。这个设置项后续可以点击rancher界面中此集群的升级按钮进行重新选择。
在这里插入图片描述
点击“Next”后,进入添加主机命令页面
在这里插入图片描述
点选Etcd,Control Plan两个选项,最好把Worker选项也选上,然后复制下方的命令,到master1节点执行,这里没有选择Worker。如果部署的是多个master节点的集群,只要把对应的命令在每一台master节点上执行就可以。
点选Worker选项,然后复制下方的命令,到2个node节点执行。
在这里插入图片描述
当集群前面的状态变成Active时,就表示集群部署完成。
在这里插入图片描述
可以点击集群的名称,进入集群详情页
在这里插入图片描述
点击箭头处的标识,可以下载集群的配置文件保存。

在k8s-rancher服务器上创建文件夹.kube,并在此文件夹下创建config文件,将下载的配置文件内容复制进去,保存退出,
在这里插入图片描述
然后在k8s-rancher服务器部署kubectl命令,就可以通过kubectl命令控制集群了。

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

查看节点状态

kubectl get nodes

在这里插入图片描述
到这里,rancher部署单master节点的k8s集群就完成了。整体下来给我的感觉就是方便,不用再修改配置文件,也不用再去找错误了,大大的缩短了部署集群的时间。在可视化平台上只需要点一点,集群就轻松部署完成了非常方便。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是小bā吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值