在CentOS上安装Kubernetes(K8s)时,有几个关键的注意事项需要特别注意:
关闭或临时禁用SELinux:
setenforce 0
/etc/selinux/config
文件,将 SELINUX=enforcing
改为 SELINUX=disabled
,然后重启系统。关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
关闭交换分区(swap):
swapoff -a
/etc/fstab
文件中注释掉swap分区。配置网络参数:
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
设置主机名和hosts文件:
/etc/hosts
文件以便于域名解析:hostnamectl set-hostname localhost.localdomain
echo "127.0.0.1 localhost localhost.localdomain" >> /etc/hosts
配置Docker:
/etc/docker/daemon.json
文件:cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload
systemctl restart docker
安装Kubernetes组件:
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
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
EOF
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
初始化Kubernetes集群:
kubeadm init --apiserver-advertise-address <master-ip> --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.5
通过遵循这些注意事项,可以确保在CentOS上安装Kubernetes的过程更加顺利和安全。