下载kubeadm和kubelet镜像:kubeadm和kubelet是Kubernetes集群的核心组件,我们需要从可信的源获取它们的镜像,然后才能在节点上安装它们。下面是一个示例脚本,用于下载kubeadm和kubelet镜像:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
请注意:
-
通过运行命令
setenforce 0
和sed ...
将 SELinux 设置为 permissive 模式可以有效地将其禁用。 这是允许容器访问主机文件系统所必需的,而这些操作是为了例如 Pod 网络工作正常。你必须这么做,直到 kubelet 做出对 SELinux 的支持进行升级为止。
-
如果你知道如何配置 SELinux 则可以将其保持启用状态,但可能需要设定 kubeadm 不支持的部分配置
-
如果由于该 Red Hat 的发行版无法解析
basearch
导致获取baseurl
失败,请将\$basearch
替换为你计算机的架构。 输入uname -m
以查看该值。 例如,x86_64
的baseurl
URL 可以是:https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
。