Kubernetes: CentOS上如何安装指定版本的Kubernetes

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010096900/article/details/82805837

简介

在部署kubernetes时,要求master node和worker node上的版本保持一致,否则会出现版本不匹配导致奇怪的问题出现。本文将介绍如何在CentOS系统上,使用yum安装指定版本的Kubernetes。

步骤

在使用yum安装kubernetes前,需要配置仓库源,可以使用阿里云的镜像:

[jinguang1@zookeeper03 ~]$ cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

通常我们使用下面的命令来安装kubernetes:

yum install -y kubelet kubeadm kubectl 

但使用此命令有一个问题,由于有新的版本发布到仓库中,可能后期部署的版本跟之前的不一致。作者在部署过程中,遇到过类似问题,master node和worker node部署时间仅差2天,但新版本发布导致了版本不一致的问题:

[jinguang1@zookeeper03 kubelet]# kubectl version
Client Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.0-rc.1", GitCommit:"3e4aee86dfaf933f03e052859c0a1f52704d4fef", GitTreeState:"clean", BuildDate:"2018-09-18T21:08:06Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T17:53:03Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

因此,我们需要安装指定版本的kubernetes。那么如何做呢?在进行yum安装时,可以使用下列的格式来进行安装:

yum install -y kubelet-<version> kubectl-<version> kubeadm-<version>

例如,如果需要安装v1.11.3版本的kubernetes,使用下列命令即可:

[jinguang1@zookeeper03 kubelet]# sudo yum install -y kubelet-1.11.3 kubeadm-1.11.3 kubectl-1.11.3
Loaded plugins: aliases, changelog, fastestmirror, langpacks, tmprepo, verify, versionlock
Loading mirror speeds from cached hostfile
 * base-vault: pub.repos.sina.cn
 * extras-vault: pub.repos.sina.cn
 * sina: pub.repos.sina.cn
 * sina-updates: pub.repos.sina.cn
 * updates-vault: pub.repos.sina.cn
Resolving Dependencies
--> Running transaction check
---> Package kubeadm.x86_64 0:1.11.3-0 will be installed
--> Processing Dependency: kubernetes-cni >= 0.6.0 for package: kubeadm-1.11.3-0.x86_64
---> Package kubectl.x86_64 0:1.11.3-0 will be installed
---> Package kubelet.x86_64 0:1.11.3-0 will be installed
--> Running transaction check
---> Package kubernetes-cni.x86_64 0:0.6.0-0 will be installed
--> Finished Dependency Resolution

通过这种方式,我们就保证各个node上版本的一致性,避免出现一些版本兼容性导致的问题。

猜你喜欢

转载自blog.csdn.net/u010096900/article/details/82805837