在配置基于Rocky Linux 8.9的Kubernetes集群时,您需要遵循一系列具体的步骤以确保集群的稳定性和性能。以下是这一过程的概要:
系统环境设置
1. 系统更新:
首先,确保所有节点更新到最新版本。
sudo dnf update -y
sudo reboot
2. 主机名设置:
每个节点都需要一个唯一的主机名。
sudo hostnamectl set-hostname <hostname>
例如,master节点可设为 master-node,工作节点可设置为 worker-node1,worker-node2等。
3. 配置hosts文件:
在所有节点上配置 /etc/hosts。
<master-ip> master-node
<worker1-ip> worker-node1
<worker2-ip> worker-node2
4. 禁用SELinux:
由于SELinux可能与容器运行时产生冲突,因此建议将其禁用。
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
5. 关闭Swap:
为了Kubernetes正常运行,需要关闭swap。
sudo swapoff -a
sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab
6. 防火墙设置:
建议暂时关闭防火墙,以简化部署过程。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
安装Docker和Kubernetes
1. 安装Docker引擎:
Kubernetes要求存在容器运行环境,Docker是一个流行的选择。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io -y
sudo systemctl start docker
sudo systemctl enable docker
2. 配置Docker Cgroup驱动:
Kubernetes推荐使用 systemd作为cgroup驱动。
sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl restart docker
3. 添加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 https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
4. 安装Kubernetes组件:
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
初始化Kubernetes集群
1. 初始化主节点:
在master节点上执行以下命令来初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化成功后,记录下显示的 kubeadm join命令。