Я просматриваю документацию по установке kebernetes (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/), и я нахожусь в том месте, где я должен установить kubelet
, kubeadm
и kubectl
Обороты. Я создал это репо 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
, kubeadm
и kubectl
RPM?
Вас укусила неудачная смесь копировальной пасты и того факта, что yum
очевидно, рассматривает символы Юникода как часть имен пакетов:
print(repr("[root@stg-003 ~]# yum install -y kubelet kubeadm kubectl –disableexcludes=kubernetes".encode("utf-8")))
>>> b'[root@stg-003 ~]# yum install -y kubelet kubeadm kubectl \xe2\x80\x93disableexcludes=kubernetes'
При переключении на синтаксис с двойным тире устанавливается, как ожидалось (по крайней мере, на centos:7
):
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Обновить: Я пошел, чтобы открыть PR для их веб-сайта, но, похоже, работа уже ведется: https://github.com/kubernetes/website/issues/20915