在CentOS系统上安装Kubernetes(K8s)的步骤如下:
-
环境准备:
- 确保所有节点(master和node)满足硬件要求:至少2个CPU核心,至少2GB内存。
- 关闭防火墙和SELinux:
systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
- 关闭交换分区:
swapoff -a sed -i 's/.*swap.*/#&/g' /etc/fstab
- 设置主机名:
hostnamectl set-hostname
- 配置hosts文件:
vi /etc/hosts
- 修改内核参数:
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF sysctl --system
- 加载ip_vs内核模块(如果使用ip_vs模式):
modprobe ip_vs modprobe ip_vs_rr modprobe ip_vs_wrr modprobe ip_vs_sh modprobe nf_conntrack_ipv4
- 配置时间同步:
yum install ntpdate -y ntpdate time.windows.com
-
安装Docker:
- 配置Docker的YUM源:
cat > /etc/yum.repos.d/docker-ce.repo << EOF [docker-ce] name=Docker CE baseurl=https://download.docker.com/linux/centos/docker-ce.repos enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://download.docker.com/linux/centos/gpg EOF
- 安装Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repos yum install -y docker-ce docker-ce-cli containerd.io systemctl enable docker && systemctl start docker
- 配置Docker的YUM源:
-
安装Kubeadm、Kubelet和Kubectl:
- 配置K8s的YUM源:
cat <
- 安装Kubeadm、Kubelet和Kubectl:
yum install -y kubelet-1.22.15 kubeadm-1.22.15 kubectl-1.22.15 systemctl enable kubelet && systemctl start kubelet
- 配置K8s的YUM源:
-
初始化Master节点:
- 初始化K8s集群:
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.15 --apiserver-advertise-address 192.168.10.3 --pod-network-cidr=10.244.0.0/16 --token-ttl 0
- 拷贝K8s认证文件到本地:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 初始化K8s集群:
-
添加Worker节点:
- 在所有Worker节点上执行初始化命令(使用Master节点初始化时生成的join命令)。
-
部署CNI网络插件(如Flannel):
- 在Master节点上安装Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 在Master节点上安装Flannel:
-
验证安装:
- 在Master节点上验证Node状态:
kubectl get nodes
- 在Master节点上验证Node状态:
通过以上步骤,你可以在CentOS系统上成功安装和配置Kubernetes集群。