国产 OS 部署 K8s 差异(Kylin / UOS / Ubuntu):依赖、内核与安全策略
2026-08-11 09:57:40 # Kubernetes

一、背景

政企场景常要求国产化操作系统(麒麟 Kylin、统信 UOS)。这些 OS 在内核、包管理、安全模块上与 Ubuntu 有差异,部署 K8s 需针对性处理。

二、环境信息

项目 Ubuntu 22.04 Kylin V10 UOS 1050
包管理 apt yum/dnf apt
系谱 Debian CentOS 系 Debian 系
安全 AppArmor kysec / krb5 AppArmor
cgroup v2 默认 v1/v2 视版本 v2 默认

三、操作要点

通用前置(三系统一致)

1
2
3
swapoff -a
modprobe br_netfilter
# 内核参数 / sysctl 同 Ubuntu

Kylin 差异处理

1
2
3
4
5
# 包安装
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
# 安全模块 kysec 可能拦截二进制执行
# 临时:setstatus softmode
# 或签名后执行;cgroup driver 设为 systemd

UOS 差异处理

1
2
apt install -y kubelet kubeadm kubectl
# AppArmor 策略可能限制容器,按需调整 profile

Ubuntu(标准流程)

1
apt install -y kubelet kubeadm kubectl

四、验证方式

1
2
3
kubeadm config images pull
kubeadm init ... && kubectl get nodes
# 确认 cgroup driver 一致:kubelet --cgroup-driver=systemd

五、常见问题

  • cgroup v2 与 docker:旧版 docker shim 移除后建议 containerd + systemd driver
  • 国产 OS 缺内核模块:netfilter/bridge 模块未编入,需装 kernel-modules 包
  • 安全模块拦截:kysec/apparmor 导致 kubelet/容器二进制无法执行,需放行或软模式
  • 软件源替换:国产 OS 默认源慢,换为厂商或镜像源
  • 内核版本过旧:K8s 新版本要求较新内核,升级 OS 内核