Ubuntu 24.04(noble)+ kubeadm 装 K8S 1.34 的国内阿里源配置(推荐,速度快) + 官方源配置
🚀 一、先装依赖(所有节点都要)
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg
🚀 二、添加 K8S 1.33 阿里源(国内首选)
# 1. 创建 keyrings 目录
sudo mkdir -p /etc/apt/keyrings
# 2. 导入阿里云 K8S 签名密钥(1.34)
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/deb/Release.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
# 3. 写入 apt 源(指定 1.33)
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/deb/ /" \
| sudo tee /etc/apt/sources.list.d/kubernetes.list
# 4. 更新缓存
sudo apt update
想装 1.34/1.35/1.36,把上面 v1.34 改成对应版本即可。
🚀 三、官方源(备选,国外慢)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.34/deb/Release.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /" \
| sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update🚀 四、安装 kubeadm/kubelet/kubectl(锁定 1.34)
# 查看可安装版本(确认 1.34 存在)
apt list | grep kube
# 安装 1.34.x(自动最新小版本)
sudo apt install -y kubelet kubeadm kubectl
# 锁定版本,防止自动升级
sudo apt-mark hold kubelet kubeadm kubectl
🚀 五、kubeadm init 用国内镜像(必须!否则拉不动)
# 初始化主节点(阿里镜像仓库)
sudo kubeadm init \
--kubernetes-version=v1.34.7 \
--image-repository=registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16
# kubeadm init之前需要安装containerd
# 生成默认配置
cp -a /etc/containerd/config.toml /etc/containerd/config.toml.bak.$(date +%F_%T)
containerd config default > /etc/containerd/config.toml
# 确保SystemdCgroup=true
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml 2>/dev/null || true
grep -n "SystemdCgroup" /etc/containerd/config.toml
# 重启containerd
systemctl restart containerd六、配置 kubectl(必须,否则普通用户不能用)
# root
export KUBECONFIG=/etc/kubernetes/admin.conf
# 普通用户(可选)
# mkdir -p $HOME/.kube
# cp -f /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
七、安装 Flannel 网络插件(单节点必须)
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
# flannel默认的网段是10.244.0.0/16,需要和安装时指定的pod-network-cidr=10.244.0.0/16一致
等待所有 Pod 就绪(2–3 分钟):
kubectl get pods -n kube-system -w
八、单节点允许 Master 调度 Pod(关键!否则跑不了应用)
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
九、验证集群就绪
kubectl get nodes
# kubectl get nodes
NAME STATUS ROLES AGE VERSION
ubuntu2401 Ready control-plane 13m v1.34.7