在CentOS系统中安装指定版本Kubernetes的方法咨询
在CentOS 7上安装指定版本的Kubernetes
我来帮你搞定这个问题——要安装指定版本的K8s,只需要在安装命令里明确指定版本号就行,步骤如下:
1. 先添加Kubernetes YUM仓库(和你原来的操作一致)
这一步是为了让系统能获取到K8s的安装包,执行以下命令:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
2. 关闭SELinux
继续执行你原来的命令临时关闭SELinux(如果需要永久关闭,可以编辑/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled):
setenforce 0
3. 查看可用的Kubernetes版本
先确认仓库里有哪些可用的版本,方便你选择:
yum list kubelet --showduplicates | sort -r
输出会类似这样,其中的版本号(比如1.28.2-0)就是我们需要的:
kubelet.x86_64 1.28.2-0 kubernetes
kubelet.x86_64 1.28.1-0 kubernetes
kubelet.x86_64 1.27.5-0 kubernetes
4. 安装指定版本的K8s组件
把命令里的<VERSION>替换成你想要的版本号(比如1.28.2-0),执行安装:
yum install -y kubelet-<VERSION> kubeadm-<VERSION> kubectl-<VERSION>
举个实际例子,安装1.28.2版本的命令就是:
yum install -y kubelet-1.28.2-0 kubeadm-1.28.2-0 kubectl-1.28.2-0
5. 锁定版本防止自动升级(可选但推荐)
为了避免后续yum更新时自动升级K8s组件,你可以锁定这些包的版本:
方法一:用yum mark
yum mark install kubelet kubeadm kubectl
方法二:用versionlock插件(更严格)
yum install -y yum-plugin-versionlock yum versionlock kubelet-<VERSION> kubeadm-<VERSION> kubectl-<VERSION>
6. 启动并启用kubelet服务
最后启动服务并设置开机自启:
systemctl enable --now kubelet
额外提示:初始化集群时指定版本
当你用kubeadm init初始化集群时,也要指定对应的K8s版本,避免拉取最新镜像:
kubeadm init --kubernetes-version=<VERSION>
比如对应1.28.2版本:
kubeadm init --kubernetes-version=1.28.2
这样就能精准安装你需要的Kubernetes版本啦!
内容的提问来源于stack exchange,提问作者kikas




