官网链接:https://sealos.run/docs/k8s/quick-start/deploy-kubernetes
环境信息
| 名称 | 版本 |
|---|---|
| 操作系统 | BigCloud Enterprise Linux For Euler 22.10 |
| 内核版本 | 5.10.0-60.70.0.94.oe2203.bclinux.x86_64 |
| sealos | v5.1.0 |
| kubernetes | v1.25.16 |
| helm | v3.10.3 |
| calico | v3.26.5 |
节点信息
| 名称 | 描述 |
|---|---|
| node01 | 192.168.19.142 |
| node02 | 192.168.19.141 |
部署SealOS
在部署节点node01安装sealos工具
wget https://github.com/labring/sealos/releases/download/v5.1.0/sealos_5.1.0_linux_amd64.tar.gz |
查看版本
sealos version |
如果虚拟机网卡驱动为e1000禁用 TSO/GSO/GRO,sealos部署k8s时会导致linux 5.0内核触发 Tx 超时和 DMA 环路错误
ethtool -K ens33 tso off gso off gro off |
部署k8s
确认部署k8s版本
创建工作目录
mkdir /opt/sealos-deploy |
下载crane工具
wget https://github.com/google/go-containerregistry/releases/download/v0.20.6/go-containerregistry_Linux_x86_64.tar.gz |
查看k8s版本
crane ls registry.cn-shanghai.aliyuncs.com/labring/kubernetes |
确认helm版本,参考链接:https://helm.sh/zh/docs/topics/version_skew/
确认calico版本,参考链接:https://archive-os-3-28.netlify.app/calico/3.28/getting-started/kubernetes/requirements/
节点初始化
修改主机名
hostnamectl set-hostname node01 |
配置节点ssh互信
ssh-keygen -t rsa |
添加hosts解析
192.168.19.140 node01 |
修改ssh配置文件支持sftp
Subsystem sftp /usr/libexec/openssh/sftp-server |
在线部署
生成Clusterfile
sealos gen registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.25.16 \ |
编辑/opt/sealos-deploy/Clusterfile修改Clusterfile中:podSubnet网段为10.42.0.0/16
networking: |
部署k8s
sealos --debug --root /opt/sealos-deploy/sealos --env criData=/data/containerd --env registryDomain=registry.paas --env registryData=/opt/sealos-deploy/registry apply -f /opt/sealos-deploy/Clusterfile |
离线部署
启动registry
cat > /etc/systemd/system/sealos-registry.service << EOF |
安装Skopeo,用来将多架构镜像上传到registry
git clone https://github.com/containers/skopeo.git |
准备离线镜像
# 下载多架构镜像到 OCI 格式压缩包(推荐用于多架构) |
上传镜像到registry
skopeo copy --all \ |
检查多架构镜像
crane manifest registry.local:81/labring/kubernetes:v1.25.16 | jq . |
{ |
创建Clusterfile
sealos gen registry.local:81/labring/kubernetes:v1.25.16 \ |
编辑/opt/sealos-deploy/Clusterfile修改Clusterfile中:podSubnet网段为10.42.0.0/16
networking: |
部署k8s集群
sealos --debug --root /opt/sealos-deploy/sealos --env criData=/data/containerd --env registryDomain=registry.paas --env registryData=/opt/sealos-deploy/registry apply -f /opt/sealos-deploy/Clusterfile |
部署报错查看日志:/root/.sealos/logs/sealos.log
查看集群状态
kubectl get nodes |
NAME STATUS ROLES AGE VERSION |
混合架构部署
适用于master或worker节点x86+arm64 CPU混合部署
编辑arm64节点containerd配置文件,修改sandboxImage镜像地址
sandboxImage: pause-arm64:3.8 |
上传镜像
skopeo copy --all oci-archive:/tmp/registry.k8s.io-pause-arm64-3.8.tar docker://registry.paas:5000/pause:3.8 --dest-tls-verify=false |
ghcr.io/labring/lvscare:v5.0.1
registry.k8s.io/kube-proxy:v1.25.16
calico/node:v3.26.5
calico/pod2daemon-flexvol:v3.26.5
calico/cni:v3.26.5
calico/node-driver-registrar:v3.26.5
calico/csi:v3.26.5
calico-node报错:
2025-11-24 01:41:28.638 [WARNING][98] felix/int_dataplane.go 1704: failed to wipe the XDP state error=failed to load BPF program (/usr/lib/calico/bpf/filter.o): stat /sys/fs/bpf/calico/xdp/prefilter_v1_calico_tmp_A: no such file or directory
libbpf: Error loading ELF section .BTF: -22. Ignored and continue.
libbpf: Program ‘xdp’ contains non-map related relo data pointing to section 5
Error: failed to open object file
原因: bclinux 默认内核不支持 BTF 和 Calico eBPF/XDP 所需的内核特性
解决方式:关闭 Calico eBPF/XDP
删除
- name: CALICO_NETWORKING_BACKEND
value: bird
添加env配置
FELIX_XDPENABLED="false" |
清理kube-sealos-lvscare重启次数
mv /etc/kubernetes/manifests/kube-sealos-lvscare.yaml /tmp/
mv /tmp/kube-sealos-lvscare.yaml /etc/kubernetes/manifests/kube-sealos-lvscare.yaml
配置nerdctl客户端
wget https://github.com/containerd/nerdctl/releases/download/v2.1.2/nerdctl-2.1.2-linux-amd64.tar.gz |
清理k8s环境
sealos reset --pk /root/.ssh/id_rsa --pk-passwd yourpassword |

