在银河麒麟系统部署kubernetes需先完成基础配置:关闭swap并注释fstab中swap行,禁用selinux并立即生效,配置网络桥接与内存参数,否则kubelet将报错退出,初始化失败率超90%。

在银河麒麟操作系统上安装和配置Kubernetes环境,需先完成系统级基础准备,再分步部署容器运行时与K8s核心组件;若跳过swap禁用或内核参数配置,kubelet将直接报错退出,初始化失败率超90%。
系统基础配置
所有节点(含master与worker)必须同步执行以下操作:
第一步:关闭交换分区并永久注释fstab中swap行
sudo swapoff -a && sudo sed -i '/ swap / s/^/#/' /etc/fstab
第二步:禁用SELinux并立即生效
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && sudo setenforce 0
第三步:配置网络桥接与内存参数
sudo tee /etc/sysctl.d/k8s.conf net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness = 0
EOF
sudo sysctl --system
第四步:关闭firewalld防火墙
sudo systemctl stop firewalld && sudo systemctl disable firewalld
【注意:银河麒麟V10 SP3起默认启用强制访问控制(MAC),若未禁用SELinux,后续kubectl命令会因权限拒绝而无法连接apiserver】
配置Docker运行时
方法一:APT在线安装(x86_64架构,有外网)
执行系统更新与工具安装:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加阿里云Docker源:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
安装并启用Docker服务:
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io && sudo systemctl start docker && sudo systemctl enable docker
方法二:离线安装(ARM64/无外网环境)
从跳板机下载对应架构的docker二进制包(如docker-24.0.7-arm64.tar.gz),解压后拷贝到/opt/docker目录;
执行sudo cp docker/* /usr/bin/ && sudo groupadd docker && sudo usermod -aG docker $USER
创建systemd服务文件/etc/systemd/system/docker.service,内容需包含ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
启动服务:
sudo systemctl daemon-reload && sudo systemctl start docker && sudo systemctl enable docker
配置Kubernetes软件源与组件
执行国内镜像源配置:
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - && sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
安装kubeadm、kubelet、kubectl并锁定版本防止自动升级:
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl && sudo apt-mark hold kubelet kubeadm kubectl
【关键前提:kubelet必须设为开机自启但暂不启动,否则会因缺少配置反复崩溃】
sudo systemctl enable kubelet && sudo systemctl stop kubelet
初始化集群控制平面
使用kubeadm init命令启动控制平面节点:
sudo kubeadm init --pod-network-cidr=10.233.64.0/18 --kubernetes-version=v1.32.11 --ignore-preflight-errors=Swap
初始化成功后,按提示执行三行配置命令(非root用户访问kubectl):
mkdir -p $HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && sudo chown $(id -u):$(id -g) $HOME/.kube/config
部署Calico网络插件以启用Pod间通信:
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml











