麒麟os部署rancher有四种路径:一、docker单节点快速部署;二、rke离线构建高可用k8s集群后装rancher;三、将麒麟os作为下游节点注册;四、系统级调优强化兼容性,含内核参数、时间同步及国密支持。

如果您在麒麟OS操作系统上部署Rancher管理平台遇到障碍,可能是由于系统组件兼容性、Docker环境配置或SELinux/防火墙策略限制所致。以下是针对麒麟OS(特别是V10版本)的多种可行部署路径:
一、基于Docker容器的单节点Rancher部署
该方法适用于开发测试场景,利用麒麟OS已适配的Docker 20.10.x版本直接拉取Rancher镜像运行,无需Kubernetes底层依赖。
1、确认Docker服务已启用并运行:systemctl is-active docker
2、拉取并启动Rancher Server容器,启用特权模式与端口映射:
docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
3、挂载主机目录实现数据持久化(避免容器删除导致配置丢失):
docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:latest
4、访问Rancher UI:https://,首次访问将触发自签名证书初始化及初始管理员密码设置流程。
二、使用RKE离线部署高可用Rancher集群
该方案绕过在线镜像拉取依赖,适配国产化信创网络隔离环境,通过Rancher Kubernetes Engine在麒麟OS节点上构建本地Kubernetes集群,并在其上部署Rancher Server Helm Chart。
1、在麒麟OS主机安装rke二进制工具(需提前下载适配海光CPU架构的rke-v1.4.x-linux-amd64)
2、准备rancher-cluster.yml配置文件,指定麒麟OS节点IP、SSH用户及私钥路径,并启用ipvs内核模块支持
3、执行rke up命令完成Kubernetes集群初始化:
rke up --config rancher-cluster.yml
4、配置kubectl指向新建集群:
export KUBECONFIG=$(pwd)/kube_config_rancher-cluster.yml
5、添加Helm仓库并安装Rancher:
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname= --set tls=external
6、为Ingress控制器配置SSL终止,必须使用外部TLS或自签名证书注入cattle-system命名空间
三、Rancher Agent集成麒麟OS主机作为集群节点
当已有Rancher Server运行后,需将麒麟OS服务器注册为下游Kubernetes集群节点。此过程要求禁用SELinux、关闭firewalld,并配置内核参数以支持CNI插件。
1、执行sudo setenforce 0 && sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2、停止并禁用firewalld:
systemctl stop firewalld && systemctl disable firewalld
3、加载必要内核模块:
modprobe br_netfilter ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack_ipv4
4、在Rancher UI中选择目标集群 → “添加节点” → 选择“自定义” → 复制生成的docker run命令
5、在麒麟OS主机执行该命令,确保Docker守护进程已配置国内镜像加速器且支持--privileged参数
6、验证节点状态:kubectl get nodes -o wide 应显示麒麟OS主机名及Ready状态
四、麒麟OS系统级适配强化配置
为保障Rancher组件稳定运行,需对麒麟V10基础系统进行深度调优,尤其针对海光CPU平台特性及国密算法支持需求。
1、修改/etc/sysctl.conf,追加以下参数并执行sysctl -p生效:
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
2、配置chronyd时间同步服务,确保所有Rancher节点时钟偏差小于1秒:
systemctl enable chronyd && systemctl start chronyd
3、安装并启用ipset与conntrack工具:
yum install -y ipset conntrack-tools
4、若需对接国密SSL,编译OpenSSL 3.0+并替换系统默认库,再重新构建rancher/rancher镜像以启用SM2/SM4支持
5、验证关键依赖:lsmod | grep -E "(ip_vs|br_netfilter)" 与 rpm -qa | grep docker 必须返回非空结果










