当前位置: 首页 > 工具软件 > Fleet-k8s > 使用案例 >

使用Rancher搭建k8s集群

孟征
2023-12-01

新建4台虚拟机

192.168.10.120 rancher
192.168.10.121 k83-master
192.168.10.122 k8s-node2
192.168.10.123 k8s-node3

1. Rancher部署

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和K8s的全栈容器部署与管理平台

1.1 所有节点部署docker

安装docker依赖:
yum -y install wget expect vim net-tools ntp bash-completion ipvsadm ipset jq iptables conntrack sysstat libseccomp iptables curl yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #安装docker源
dnf repo-pkgs docker-ce-stable list
yum list docker-ce --showduplicates|sort -r #查看docker版本
yum -y install docker-ce-19.03.9-3.el7


mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
	"registry-mirrors":["https://4bsnywln.mirror.aliyuncs.com"],
	"exec-opts":["native.cgroupdriver=systemd"]
}
EOF

启动docker
systemctl daemon-reload;systemctl restart docker;systemctl enable --now docker.service
docker version
docker info

1.2 配置时间同步

确认时间服务已经安装
yum -y install chrony

cat > /etc/chrony.conf <<-'EOF'
pool 192.168.10.120 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow  192.168.10.0/24
local stratum 10
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
EOF	

启动时间服务:
systemctl restart chronyd.service --now

设置完时区后,强制同步下系统时钟:chronyc -a makestep
查看时间同步源:chronyc sources -v
查看时间同步源状态: chronyc sourcestats -v 
重启依赖于系统时间的服务

1.3 设置主机名

192.168.10.120 rancher
192.168.10.121 k83-master
192.168.10.122 k8s-node2
192.168.10.123 k8s-node3

1.4 关闭防火墙、selinux和swap

1.5 下载rancher

https://hub.docker.com/rancher
在master端执行如下命令:
docker pull rancher/rancher:v2.5.2-linux-amd64

运行rancher
mkdir -p /mnt/d/rancher_data
docker run -d --privileged -p 80:80 -p 443:443 -v /mnt/d/rancher_data:/var/lib/rancher --restart=always --name rancher-v2.5.2 rancher/rancher:v2.5.2-linux-amd64 
安装最新版的rancher时必须指定--privileged参数,使用改参数后,容器内的root拥有真正的root权限

用户名密码: admin admin

2. Rancher执行kubectl命令

Rancher部署成功后执行kubectl命令只能在控制台执行,无法在宿主机执行很不方便
配置步骤:
2.1 在宿主机上下载kubectl二进制文件
 类似资料: