在统信UOS上安装kubectl、kubeadm、kubelet三件套是启动Kubernetes集群的前提,需确保版本一致且kubelet完成systemd服务注册;kubectl通过二进制下载配置即可,kubeadm与kubelet推荐离线安装并手动创建kubelet.service文件。

在统信UOS上安装kubectl、kubeadm、kubelet这三件套是启动Kubernetes集群的第一步,缺一不可;如果只装了kubectl却漏掉kubelet的systemd服务注册,后续执行kubeadm init会直接报错退出,连初始化界面都见不到。
安装kubectl命令行工具
这一步操作起来很简单,直接把二进制文件放进PATH路径就能全局调用。
1、创建工具目录并进入:sudo mkdir -p /usr/local/bin/k8s-tools && cd /usr/local/bin/k8s-tools
2、从阿里云镜像站下载适配UOS的kubectl v1.26.9(amd64):sudo wget https://mirrors.aliyun.com/kubernetes/v1.26.9/bin/linux/amd64/kubectl -O /usr/local/bin/kubectl
3、赋予执行权限:sudo chmod +x /usr/local/bin/kubectl
4、验证安装:kubectl version --client --short,输出应为Client Version: v1.26.9。若提示“command not found”,说明PATH未包含/usr/local/bin,需检查echo $PATH并修正~/.bashrc。
安装kubeadm与kubelet组件
kubeadm是集群初始化的核心指挥官,kubelet则是每个节点上运行Pod的守门人;二者必须严格匹配Kubernetes小版本号,否则kubeadm init会拒绝启动。
方法一:通过apt源安装(仅限UOS服务器版且已启用extras源)
1、启用uos-server-extras软件源:sudo uos-add-repository -y extras
2、更新索引并安装指定版本:sudo apt update && sudo apt install -y kubeadm=1.26.9-00 kubelet=1.26.9-00
3、锁定版本防止意外升级:sudo apt-mark hold kubeadm kubelet
方法二:离线二进制安装(全版本通用,推荐)
1、分别下载对应二进制:sudo wget https://mirrors.aliyun.com/kubernetes/v1.26.9/bin/linux/amd64/kubeadm -O /usr/local/bin/kubeadm→sudo wget https://mirrors.aliyun.com/kubernetes/v1.26.9/bin/linux/amd64/kubelet -O /usr/local/bin/kubelet
2、设为可执行:sudo chmod +x /usr/local/bin/kubeadm /usr/local/bin/kubelet
【关键前提】必须确保kubelet已注册为systemd服务,否则后续无法启用。手动创建服务文件:sudo systemctl enable kubelet会失败,需先执行下一步。
配置kubelet systemd服务
UOS默认不提供kubelet的systemd单元文件,必须手工创建,否则systemctl start kubelet将报错“Unit kubelet.service failed to load”。
第一步:创建服务定义文件
sudo tee /etc/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/local/bin/kubelet
Restart=always
RestartSec=10
KillMode=process
OOMScoreAdjust=-999
LimitNOFILE=655360
LimitNPROC=655350
[Install]
WantedBy=multi-user.target
EOF
第二步:重载systemd配置并启用服务
sudo systemctl daemon-reload
sudo systemctl enable kubelet
第三步:验证服务状态
sudo systemctl is-active kubelet,返回active即表示注册成功;若为inactive或failed,请检查/usr/local/bin/kubelet路径是否存在且有执行权限。


















