CentOS 上 Kubernetes 迁移的可落地方案
一、迁移方式与适用场景
二、原地升级步骤 kubeadm 集群
yum install -y kubeadm-1.28.2-0 --disableexcludes=kubernetes。kubeadm upgrade plan。kubeadm upgrade apply v1.28.2。yum install -y kubelet-1.28.2-0 kubectl-1.28.2-0 --disableexcludes=kubernetes,然后 systemctl daemon-reload && systemctl restart kubelet。kubectl cordon <node> && kubectl drain <node> --ignore-daemonsets --force。yum install ... + systemctl daemon-reload && systemctl restart kubelet。kubectl uncordon <node>。kubectl get nodes、kubectl get pods -A,确认组件与业务 Pod 就绪。三、重建迁移步骤 自建集群到云上 ACK
四、运行时从 Docker 切换到 containerd
/etc/containerd/config.toml:设置镜像仓库镜像、将 sandbox_image 调整为可用版本(如 registry.aliyuncs.com/google_containers/pause:3.7),开启 SystemdCgroup = true。modprobe overlay && modprobe br_netfilter;写入 /etc/modules-load.d/containerd.conf 与 /etc/sysctl.d/k8s.conf 并 sysctl -p。/etc/sysconfig/kubelet 增加:KUBELET_EXTRA_ARGS="--container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock"。systemctl enable containerd && systemctl restart containerd && systemctl restart kubelet。kubectl drain <node> --ignore-daemonsets;切换完成后 kubectl uncordon <node>。五、关键注意事项与回滚策略