如何安装Kubernetes的特定版本?

Ola*_*avT 9 kubernetes

我在运行Raspbian Stretch的Raspberry PI 3上使用以下命令安装最新版本的Kubernetes.

$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
  sudo apt-get update -q && \
  sudo apt-get install -qy kubeadm
Run Code Online (Sandbox Code Playgroud)

目前这将安装v1.10.0.

如何安装特定版本的Kubernetes?比方说v1.9.6.

Nic*_*lay 22

要安装特定版本的软件包,在apt-get install命令期间定义它就足够了:

apt-get install -qy kubeadm=<version>
Run Code Online (Sandbox Code Playgroud)

但是在当前的情况下kubectl,kubelet我们在安装时依赖于安装kubeadm包,因此所有这三个软件包都应该安装一个特定的版本:

$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
  sudo apt-get update -q && \
  sudo apt-get install -qy kubelet=<version> kubectl=<version> kubeadm=<version>
Run Code Online (Sandbox Code Playgroud)

可用的地方<version>是:

curl -s https://packages.cloud.google.com/apt/dists/kubernetes-xenial/main/binary-amd64/Packages | grep Version | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

对于您的特定情况,它是:

$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
  sudo apt-get update -q && \
  sudo apt-get install -qy kubelet=1.9.6-00 kubectl=1.9.6-00 kubeadm=1.9.6-00
Run Code Online (Sandbox Code Playgroud)

  • 从2019年3月下旬开始,对于kubernetes 1.13和更早版本,此功能不再有效。显示错误消息“以下软件包具有未满足的依赖性:kubeadm:取决于:kubernetes-cni(= 0.6.0)但要安装0.7.5-00”。更多[here](https://github.com/kubernetes/kubernetes/issues/75701)。 (2认同)

Pan*_*tik 20

所有答案都没有提供关于在哪里获得正确的软件包版本的小提示。所以我的 debian 10 (buster) 解决方案如何安装不是最新 (1.20) 而是 1.18 版本的 kubeadm

sudo apt-get update && sudo apt-get install -y apt-transport-https curl

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt update

Run Code Online (Sandbox Code Playgroud)

最重要的是我遇到了问题:)。获取可用的包版本

apt list -a kubeadm
Run Code Online (Sandbox Code Playgroud)

从输出中选择您要安装的

# apt list -a kubeadm
Listing... Done
kubeadm/kubernetes-xenial 1.20.0-00 amd64 [upgradable from: 1.18.13-00]
kubeadm/kubernetes-xenial 1.19.5-00 amd64
kubeadm/kubernetes-xenial 1.19.4-00 amd64
kubeadm/kubernetes-xenial 1.19.3-00 amd64
kubeadm/kubernetes-xenial 1.19.2-00 amd64
kubeadm/kubernetes-xenial 1.19.1-00 amd64
kubeadm/kubernetes-xenial 1.19.0-00 amd64
kubeadm/kubernetes-xenial,now 1.18.13-00 amd64 [installed,upgradable to: 1.20.0-00]
kubeadm/kubernetes-xenial 1.18.12-00 amd64
kubeadm/kubernetes-xenial 1.18.10-00 amd64
Run Code Online (Sandbox Code Playgroud)

对我来说,这是 1.18 的最新版本:1.18.13-00
现在只需为包指定此版本

apt list -a kubeadm
Run Code Online (Sandbox Code Playgroud)

希望它可以节省某人的时间和紧张


Moh*_*eeq 7

在Mac上安装kubernetes v1.8.5按照以下步骤操作

获取kubectl二进制文件.

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.5/bin/darwin/amd64/kubectl
Run Code Online (Sandbox Code Playgroud)

制作kubectl二进制可执行文件.

chmod +x ./kubectl
Run Code Online (Sandbox Code Playgroud)

将kubectl可执行文件移动到/ usr/local/bin.

sudo mv ./kubectl /usr/local/bin/kubectl
Run Code Online (Sandbox Code Playgroud)

  • 这不会安装 kubernetes。这只是下载“kubectl”并使其可执行。 (3认同)

小智 6

您可以使用以下命令在 Centos/Redhat 机器中安装特定版本的 Kubernetes,相同格式也可以使用其他发行版。

yum install -y kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 kubernetes-cni-0.6.0-0.x86_64