使用sealos部署kubernetes集群

本次使用3台主机完成,其中2台主机为master节点,1台主机为worker节点。

一、主机准备

1.1 配置主机名

# hostnamectl set-hostname xxx
​
k8s-master01
k8s-master02
k8s-worker01

1.2 设置静态IP地址

序号 主机名 主机IP
1 k8s-master01 192.168.10.11
2 k8s-master02 192.168.10.12
4 k8s-worker01 192.168.10.13
#三台机器分别设置
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ec87533a-8151-4aa0-9d0f-1e970affcdc6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.xxx"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"

1.3 配置主机名与IP地址解析

下面解析是管理员添加,sealos在运行过程中,也会自动添加主机名与IP地址解析关系。

在3台服务器中都要在host文件中添加此ip对应主机

# vim /etc/hosts
192.168.10.11 k8s-master01
192.168.10.12 k8s-master02
192.168.10.13 k8s-worker01

# 重启网络服务
systemctl restart network

1.4 升级内核

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
​
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
​
yum --enablerepo="elrepo-kernel" -y install kernel-lt.x86_64
​
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
​
grub2-set-default "CentOS Linux (5.4.204-1.el7.elrepo.x86_64) 7 (Core)"
​
reboot

1.5 初始化环境

每台机器都需要进行初始化环境

 #关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
​
 #关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时
​
 #关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久
​
 #时间同步 
yum install ntpdate -y
ntpdate time.windows.com
​
​
#master执行,配置ssh免密登录,生成一直敲回车即可
ssh-keygen -R 192.168.10.11
#master执行,拷贝ssh秘钥到其他节点
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.10.12
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.10.13

二、sealos准备​

下载安装sealos

#下载sealos
wget https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz
​
#解压并赋权
tar zxvf sealos_4.3.7_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
​
#测试
sealos version

三、使用sealos部署kubernetes集群

kubernetes集群默认使用containerd

#sealos生成配置文件,镜像替换成阿里云。镜像替换可访问https://explore.ggcr.dev/
sealos gen registry.cn-shanghai.aliyuncs.com/labring/kubernetes-docker:v1.21.0 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.8.2 registry.cn-shanghai.aliyuncs.com/labring/calico:v3.22.1 \
--masters 192.168.10.11,192.168.10.12 \
--nodes 192.168.10.13 --passwd 123456 --port 22 --output Clusterfile
#执行文件
sealos apply -f Clusterfile

这里需要等待一段时间,安装成功后如图:

验证集群是否正常

# kubectl get nodes
NAME           STATUS   ROLES           AGE   VERSION
k8s-master01   Ready    control-plane   16h   v1.24.0
k8s-master02   Ready    control-plane   16h   v1.24.0
k8s-master03   Ready    control-plane   16h   v1.24.0
k8s-worker01   Ready    <none>          16h   v1.24.0
# kubectl get pods -n kube-system
NAME                                   READY   STATUS    RESTARTS      AGE
coredns-6d4b75cb6d-59ph5               1/1     Running   1 (15h ago)   16h
coredns-6d4b75cb6d-wz6tx               1/1     Running   1 (15h ago)   16h
etcd-k8s-master01                      1/1     Running   1 (15h ago)   16h
etcd-k8s-master02                      1/1     Running   1 (15h ago)   16h
etcd-k8s-master03                      1/1     Running   1 (15h ago)   16h
kube-apiserver-k8s-master01            1/1     Running   3 (15h ago)   16h
kube-apiserver-k8s-master02            1/1     Running   1 (15h ago)   16h
kube-apiserver-k8s-master03            1/1     Running   1 (15h ago)   16h
kube-controller-manager-k8s-master01   1/1     Running   3 (15h ago)   16h
kube-controller-manager-k8s-master02   1/1     Running   1 (15h ago)   16h
kube-controller-manager-k8s-master03   1/1     Running   1 (15h ago)   16h
kube-proxy-5l26r                       1/1     Running   1 (15h ago)   16h
kube-proxy-cfbkh                       1/1     Running   1 (15h ago)   16h
kube-proxy-g92fs                       1/1     Running   1 (15h ago)   16h
kube-proxy-zsjxv                       1/1     Running   1 (15h ago)   16h
kube-scheduler-k8s-master01            1/1     Running   3 (15h ago)   16h
kube-scheduler-k8s-master02            1/1     Running   1 (15h ago)   16h
kube-scheduler-k8s-master03            1/1     Running   1 (15h ago)   16h
kube-sealyun-lvscare-k8s-worker01      1/1     Running   1 (15h ago)   16h

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐