基于国内环境搭建三节点的K8S

发布时间 2023-03-28 14:01:08作者: Persnoa

 

我的机器环境

10.2.22.103 k8s-master
10.2.22.104 k8s-node1
10.2.22.105 k8s-node2

 

3台Ubuntu服务器配置为2核CPU,8GB内存

系统版本:20.04

前提条件:关闭swap

 sed -ri 's/.*swap.*/#&/' /etc/fstab 

地址配置阿里镜像源:百度ubuntu的源地址

 

安装Docker和Kubernetes组件

在每个节点上执行以下命令

sudo apt-get update
sudo apt-get install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"| sudo tee /etc/apt/sources.list.d/kubernetes.list
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg |sudo apt-key add -
sudo apt-get update
sudo apt-get install -y docker-ce=5:19.03.15~3-0~ubuntu-focal kubelet=1.22.1-00 kubeadm=1.22.1-00 kubectl=1.22.1-00
sudo apt-mark hold docker-ce kubelet kubeadm kubectl

修改cgroup驱动
创建配置文件/etc/docker/daemon.json并添加以下行:
{"exec-opts": ["native.cgroupdriver=systemd"]}
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl restart kubelet
在103上执行以下命令:
sudo kubeadm init --pod-network-cidr=10.2.22.0/24 --apiserver-advertise-address=10.2.22.103  --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.22.17
按照提示,执行以下命令将Kubernetes配置文件复制到当前用户的目录下并设置正确的权限
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署网络插件

在103上执行安装插件

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

如果下载不来请将域名改成IP地址尝试,或者下载配置文件后上传到服务器上

kubectl apply -f  kube-flannel.yaml

 

在104和105上加入集群

kubeadm join 10.2.22.103:6443 --token mghrpj.dyh0ssr1f7uusk \
--discovery-token-ca-cert-hash sha256:d29ec34194da72fa95ab49964606e8e23e43fa09dc44f5c0f04652a0437f

 

验证集群

kubectl get nodes