在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
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
cat <<EOF > /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 <<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
安装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