首页 > 解决方案 > 如何在 Centos7/RHEL7 上安装 kubelet、kubeadm 和 kubectl RPM?

问题描述

我正在浏览 Kubernetes 安装文档(https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/kubelet ) ,我正处于安装kubeadmkubectlRPM的位置. 我创建了这个 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没有包!

那么如何安装kubelet和RPM 呢?kubeadmkubectl

标签: kubernetescentos7rhel7

解决方案


如果您检查 kubernetes.repo 的文件 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/


推荐阅读