环境:
sealoas官网:https://sealos.run/docs/k8s/quick-start/deploy-kubernetes
服务器系统 : Ubuntu2404
集群规模:单节点集群
步骤一,准备机器环境
1.基础环境
同步机器时间, 多台机器配置互相免密,关闭防火墙,selinux,swap分区,对机器进行初始优化
2.安装依赖软件
# Ubuntu/Debian
apt update && apt install -y curl jq ebtables socat iptables
# CentOS/Rocky
yum update && yum install -y curl jq ebtables socat iptables
3.配置本地解析
hostnamectl set-hostname master01 # 分别设置各节点主机名
root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
192.168.31.139 master01
4.卸载docker/containerd(如果没有安装可跳至步骤二)
1.卸载containerd
# 停止服务
systemctl stop containerd
# 卸载 containerd
apt-get purge -y containerd.io
# 清理残留配置
rm -rf /etc/containerd /var/lib/containerd
rm /usr/bin/containerd
ps -ef|grep -i contain
#kill掉进程
2.卸载docker
systemctl stop docker.socket docker.service
apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
apt-get autoremove -y --purge
sudo rm -rf /var/lib/docker # 容器、镜像和卷数据
sudo rm -rf /var/lib/containerd # containerd 运行时数据
sudo rm -rf /etc/docker # 配置文件目录
sudo rm -f /var/run/docker.sock # 套接字文件
rm /usr/bin/docker
步骤二,安装sealoas
获取版本列表
curl --silent "https://api.github.com/repos/labring/sealos/releases" | jq -r '.[].tag_name'
# 下载最新版(以 v5.0.1 amd64 为例)
wget https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.tar.gz
# 解压并安装到系统路径
tar zxvf sealos_5.0.1_linux_amd64.tar.gz
chmod +x sealos && mv sealos /usr/bin
步骤三:部署k8s
单节点k8s
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29.9 \
registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \
registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--single
注意:--single 参数表示单节点模式,默认使用 Containerd 运行时和 Calico/Clilum CNI 网络插件。
K8s集群
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29.9 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
--masters 192.168.31.139,192.168.31.140,192.168.31.141 \
--nodes 192.168.31.146,192.168.31.145 \
-p [your-ssh-passwd]
注意:labring/helm 应当在 labring/cilium 之前。
在干净的服务器上直接执行上面命令,不要做任何多余操作即可安装一个高可用 K8s 集群。
参数名 | 参数值 | 参数说明 |
---|---|---|
master | 192.168.31.139 | k8s master节点地址列表 |
nodes | 192.168.31.145 | k8snode节点地址列表 |
–ssh-passwd | [your-ssh-passwd] | ssh 登录密码 |
增加 K8s 节点
增加 master 节点:
sealos add --masters 192.168.31.152,192.168.31.153
增加 node 节点:
sealos add --nodes 192.168.31.159,192.168.31.158
删除 K8s 节点
删除 master 节点:
sealos delete --masters 192.168.31.152,192.168.31.153
删除 node 节点:
sealos delete --nodes 192.168.31.159,192.168.31.158
清理 K8s 集群
重置 Kubernetes 集群
sealos reset
sealos reset --force
删除残留
rm -rf /etc/kubernetes # 集群配置文件
rm -rf /var/lib/kubelet # kubelet 数据
rm -rf /var/lib/etcd
常见问题
使用sealoas快速拉区单节点集群后cni无法正常启动
拉区单节点集群后cni无法正常启动,查看是否因为yaml文件内自动识别的网卡与本本机网卡不一致
查看默认识别的网卡名
root@ubuntu:~# kubectl -n calico-system get Installation default -o yaml |grep interface
interface: bond.*|eth.*|en.*
interface: bond.*|eth.*|en.*
如果因为网卡名与本机不一致需要进行修改
root@ubuntu:~# kubectl -n calico-system edit Installation default
查询“interface”字段
根据自己设备网卡名进行修改
root@ubuntu:~# kubectl -n calico-system get Installation default -o yaml |grep interface
interface: bond.*|eth.*|en.*|w*|e*
interface: bond.*|eth.*|en.*|w*|e*