安装 kubectl

Installing kubectl

我在安装 kubectl

时收到 No package kubectl available 消息

我已遵循提到的文档 here 对于 CentOS VERSION="7 (Core)" , Linux 内核版本 = 3.10.0-862.14.4.el7.x8

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
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
yum search kubectl
yum install -y kubectl

当它执行命令时 yum search kubectl 它给出以下日志

yum -y search kubectl
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
* base: mirror.ancl.hawaii.edu
* epel: fedora-epel.mirrors.tds.net
* extras: centos-distro.1gservers.com
* updates: centos.mirror.lstn.net
Retrieving key from https://packages.cloud.google.com/yum/doc/yum-key.gpg
Importing GPG key 0x.......(some value):
Userid     : "Google Cloud Packages RPM Signing Key <gc-team@google.com>"
Fingerprint:  xxxx xxxx ... (some value)
From       : https://packages.cloud.google.com/yum/doc/yum-key.gpg
Retrieving key from https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
=============================== Matched: kubectl ===============================
kubernetes-client.x86_64 : Kubernetes client tools
$ yum install -y kubectl
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.ancl.hawaii.edu
* epel: fedora-epel.mirrors.tds.net
* extras: centos-distro.1gservers.com
* updates: centos.mirror.lstn.net
No package kubectl available.
Error: Nothing to do

我认为它没有从“https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

中检索密钥

该软件包显然可以从该存储库中获得,因此我们只需要检查您的配置以确保我们可以安装它。

<package pkgid="3d5dd3e6a783afcd660f9954dec3999efa7e498cac2c14d63725fafa1b264f14" name="kubectl" arch="x86_64"><version epoch="0" ver="1.15.0" rel="0"/><file>/usr/bin/kubectl</file></package>

来源:https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64/repodata/filelists.xml

我会首先检查 A)/etc/yum.repos.d/kubernetes.repo 是否确实存在,以及 B) 内容是否匹配,即通过 cat /etc/yum.repos.d/kubernetes.repo.

接下来,可以使用以下两个命令来搜索 kubectl 包。

# Using search
yum search kubectl

# Using grep
yum list | grep kubectl

要导入用于 yum 的 GPG 密钥,请参阅以下答案:

  1. 试试这个:
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
setenforce 0
yum install -y kubelet kubeadm kubectl
  1. 您也可以通过执行以下命令尝试安装特定版本:yum install -y kubelet-<version> kubectl-<version> kubeadm-<version>

  2. 始终确保您的版本满足 dependency requirements.

  3. 如果您有一些旧版本,请先卸载它们。

  4. 您也可以考虑使用kubeadm init

如果有帮助,请告诉我。

理想情况下,它也应该与 kubernetes.repo 文件一起使用,但它在我的情况下不起作用。所以使用官方文档中的以下步骤安装并成功。

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl