如何在 Centos7/RHEL7 上安装 kubelet、kubeadm 和 kubectl RPM?

How to install kubelet, kubeadm and kubectl RPMs on Centos7/RHEL7?

我正在查看 Kubernetes 安装文档 (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/),现在我正准备安装 kubeletkubeadmkubectl转速。我创建了这个 yum 存储库:

[root@stg-003 ~]# cat /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
exclude=kubelet kubeadm kubectl

然后我执行这个 yum 命令:

[root@stg-003 ~]# yum install -y kubelet kubeadm kubectl –disableexcludes=kubernetes

这给出了这个输出:

Loaded plugins: fastestmirror, langpacks, merge-conf, priorities, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
13024 packages excluded due to repository priority protections
No package kubelet available.
No package kubeadm available.
No package kubectl available.
Error: Nothing to do

我去了这里 https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64/Packages 没有包裹!

那么如何安装 kubeletkubeadmkubectl RPM?

如果您检查 kubernetes.repo 的文件存储库,您显然排除了所有三个包。如果您要排除这些,yum 将如何找到它?

但是上面的命令也失败了。 Yum 将 unicode 字符视为包名称的一部分。

检查您在上述命令中遗漏的 -- 双破折号。

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

该网站上有一个公开的 PR。 https://github.com/kubernetes/website/issues/20915

此外,这些包从不以打开方式存储,它们从存储在其他文件夹中的 XML 个文件中选取数据。 请尝试从 repo 文件中删除排除文件。

可在此处找到所有存储库的广泛列表。它与 kubernetes 文档中的存储库相同。

https://packages.cloud.google.com/yum/repos/