在CentOS上配置Kubernetes(K8s)安装环境需要按照以下步骤进行:
-
安装Docker: 在所有节点上安装Docker,命令如下:
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce-18.09.9-3.el7 systemctl enable docker && systemctl start docker
-
设置K8s环境准备条件:
- 关闭防火墙:
systemctl stop firewalld systemctl disable firewalld
- 关闭SELinux:
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 禁用交换分区:
swapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab
- 修改内核参数:
cat <
/etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
- 关闭防火墙:
-
配置主机名: 在所有节点上设置主机名,例如:
hostnamectl set-hostname k8s-master
-
配置hosts文件: 在所有节点上编辑/etc/hosts文件,添加集群内部的IP地址和主机名映射:
192.168.10.1 k8s-master 192.168.10.2 node1 192.168.10.3 node2
-
安装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
-
初始化Master节点: 在Master节点上初始化Kubernetes集群:
kubeadm init --apiserver-advertise-address 192.168.10.3 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.15 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16
-
配置kubectl: 在Master节点上配置kubectl:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
添加Worker节点: 在所有Worker节点上运行初始化命令,该命令由Master节点初始化时生成:
kubeadm join 192.168.10.3:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
-
部署CNI网络插件: 例如,部署Calico网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml