在CentOS上安装Kubernetes(k8s)时,有几个关键的注意事项需要考虑,以确保安装过程顺利并且系统运行稳定。以下是详细的注意事项:
关闭防火墙:
在所有节点上关闭防火墙,以防止潜在的网络安全问题。
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux:
可以临时关闭SELinux以减少额外配置,或者永久关闭它。
临时关闭:
setenforce 0
永久关闭:
sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config
禁用交换分区:
临时禁用交换分区,永久禁用的方法是将交换分区注释掉。
临时禁用:
swapoff -a
永久禁用:
编辑 /etc/fstab
文件,注释掉swap那一行。
设置主机名:
根据规划设置主机名,这在集群管理中非常重要。
hostnamectl set-hostname hostname
配置网络:
确保所有节点的IP地址设置为静态IP,并配置好主机名到IP地址的映射。
安装Docker:
在所有节点上安装Docker,因为Kubernetes需要Docker来运行容器。
yum install -y docker
systemctl start docker
systemctl enable docker
配置Docker源:
使用国内镜像源以加速安装过程。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装kubeadm、kubelet、kubectl:
在所有节点上安装这些必要的组件。
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet
初始化Master节点:
在Master节点上初始化Kubernetes集群。
kubeadm init --apiserver-advertise-address <master-ip> --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --pod-network-cidr 10.244.0.0/16
加入Node节点:
在Node节点上运行初始化命令,加入集群。
kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
内核参数配置:
配置内核参数以优化网络性能。
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
时同步:
同步系统时间,以确保时间一致性。
yum install ntpdate -y
ntpdate time.windows.com
监控和排障:
安装完成后,使用 kubectl
命令监控集群状态,并准备好应对可能出现的错误。
通过遵循上述注意事项,可以大大提高在CentOS上安装和运行Kubernetes的成功率和稳定性。确保每一步都仔细操作,特别是在配置网络和安全设置时,以避免潜在的安全风险。