麒麟os上部署kubernetes需按架构、网络及容器运行时选方案;银河麒麟v10/v11支持kubeadm标准在线安装(x86_64),依赖apt与阿里云镜像源,流程含系统更新、docker安装配置及k8s国内源设置。

如果您在麒麟OS操作系统上部署Kubernetes集群,需根据架构类型、网络连通性及容器运行时选择适配方案。以下是适用于银河麒麟V10/V11的多种K8s集群部署方法:
一、基于kubeadm的标准在线安装(x86_64架构)
该方法依赖APT包管理器与阿里云镜像源,适用于具备外网访问能力的x86_64平台麒麟OS服务器版,流程标准化且版本可控。
1、更新系统并安装基础工具:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2、添加Docker官方GPG密钥并配置Docker CE源:
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"
3、安装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
4、配置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
5、安装kubeadm、kubelet、kubectl并锁定版本:
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
6、初始化控制平面节点:
sudo kubeadm init --pod-network-cidr=10.233.64.0/18 --kubernetes-version=v1.32.11
7、配置kubectl非root用户访问:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
8、部署Calico网络插件:
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
二、ARM64架构离线安装(鲲鹏/飞腾平台)
该方案规避网络依赖与架构兼容问题,使用静态二进制方式部署Docker与kubeadm组件,适用于无外网环境的国产ARM64服务器。
1、下载ARM64版Docker静态二进制包:
从Docker官方aarch64目录获取docker-24.0.0.tgz
2、解压并部署至系统路径:
tar -xzf docker-24.0.0.tgz
sudo cp -p docker/* /usr/bin/
3、创建systemd服务文件/etc/systemd/system/docker.service:
[Unit]
Description=Docker Application Container Engine
After=network-online.target firewalld.service
Wants=network-online.target
4、启用并启动Docker服务:
sudo systemctl daemon-reload
sudo systemctl start docker && sudo systemctl enable docker
5、下载ARM64适配的kubeadm/kubelet/kubectl二进制文件:
从Kubernetes GitHub Release页面获取v1.32.9-aarch64版本
6、复制二进制文件至/usr/bin并设置权限:
sudo cp kubeadm kubelet kubectl /usr/bin/
sudo chmod +x /usr/bin/kubeadm /usr/bin/kubelet /usr/bin/kubectl
7、配置kubelet为系统服务并启用:
sudo systemctl enable kubelet
8、准备离线镜像包并导入:
将k8s.gcr.io/pause、coredns、etcd等镜像打包为tar文件,使用docker load -i导入
9、执行kubeadm init初始化(指定cgroup驱动):
sudo kubeadm init --pod-network-cidr=10.233.64.0/18 --kubernetes-version=v1.32.9 --cri-socket unix:///var/run/containerd/containerd.sock
三、KubeKey全离线集群部署(多节点高可用)
KubeKey是专为信创环境设计的集群部署工具,支持自动分发、证书生成、网络插件集成与Harbor镜像仓库协同部署,适用于生产级多节点场景。
1、在master节点上传KubeKey二进制文件及离线制品包:
chmod +x kk
./kk create cluster -f config-sample.yaml --with-kubernetes v1.32.11 --with-kubesphere v4.1.2
2、编辑config-sample.yaml,明确各节点IP、用户名、密码及架构标识:
hosts:
- {name: master, address: 192.168.85.163, internalAddress: 192.168.85.163, user: root, password: "123213", arch: "arm64"}
- {name: node1, address: 192.168.85.155, internalAddress: 192.168.85.155, user: root, password: "123213", arch: "arm64"}
3、配置containerManager字段为containerd或docker:
containerManager: containerd
4、指定网络插件与CIDR范围:
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
5、如需集成Harbor,单独配置registry主机组并填写认证信息:
registry:
type: harbor
privateRegistry: "dockerhub.kubekey.local"
auths:
"dockerhub.kubekey.local":
username: "admin"
password: "Harbor@123"
6、执行部署命令后,KubeKey自动完成节点SSH连接、系统参数调优、容器运行时安装、K8s组件部署及KubeSphere扩展安装
7、验证集群状态:
kubectl get nodes -o wide
kubectl get pod -A
四、containerd替代Docker的轻量部署方案
在麒麟V11等新版本系统中,containerd作为CNCF毕业项目已成为推荐运行时,避免Docker守护进程开销,提升安全隔离性与启动效率。
1、卸载Docker相关组件:
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2、安装containerd二进制包:
wget https://github.com/containerd/containerd/releases/download/v2.1.5/containerd-2.1.5-linux-amd64.tar.gz
sudo tar Czxvf /usr/local containerd-2.1.5-linux-amd64.tar.gz
3、生成默认配置文件:
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
4、修改配置启用systemd cgroup驱动:
在/etc/containerd/config.toml中定位[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]段,添加:
SystemdCgroup = true
5、启动containerd服务:
sudo systemctl daemon-reload
sudo systemctl enable containerd
sudo systemctl start containerd
6、配置crictl客户端工具:
sudo crictl config runtime-endpoint unix:///run/containerd/containerd.sock
7、使用kubeadm初始化时显式指定运行时套接字:
sudo kubeadm init --cri-socket unix:///run/containerd/containerd.sock --pod-network-cidr=10.233.64.0/18
五、KubeSphere增强型集群部署(含可观测性与DevOps)
在基础K8s集群之上叠加KubeSphere,提供图形化控制台、多租户管理、日志审计、CI/CD流水线与服务网格能力,适用于需要统一运维门户的企业场景。
1、确保K8s集群已就绪且网络插件正常运行:
kubectl get pods -n kube-system | grep -E "(calico|coredns)"
2、下载KubeSphere离线安装包(含所有依赖镜像与YAML清单):
wget https://github.com/kubesphere/ks-installer/releases/download/v4.1.2/kubesphere-installer-v4.1.2-offline-linux-amd64.tar.gz
3、解压并进入scripts目录:
tar -zxf kubesphere-installer-v4.1.2-offline-linux-amd64.tar.gz
cd kubesphere-installer/scripts
4、修改cluster-configuration.yaml,启用所需功能模块:
openpitrix: enabled: true
logging: enabled: true
metrics_server: enabled: true
devops: enabled: true
servicemesh: enabled: true
5、执行安装脚本:
./install.sh
6、等待ks-installer Pod完成部署:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
7、获取控制台访问地址:
kubectl get svc -n kubesphere-system | grep ks-console
注意:首次登录需使用admin账户,初始密码可通过kubectl get secret -n kubesphere-system ks-secret -o jsonpath='{.data.password}' | base64 -d获取










