You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在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

火山引擎 最新活动