以下操作不明确声明,在三个节点上都要执行。
1. 安装docker:
## 切换镜像源:
[root@master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker
-ce.repo -O /etc/yum.repos.d/docker-ce.repo
## 查看当前镜像源中支持的docker版本:
[root@master ~]# yum list docker-ce --showduplicates
## 安装最新版docker:
[root@master ~]# yum install docker-ce -y
## 使用阿里云的镜像加速:
[root@master ~]# mkdir /etc/docker
[root@master ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://t2alg15i.mirror.aliyuncs.com"]
}
## 启动docker:
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl enable docker
## 检查docker状态和版本:
[root@master ~]# docker version
2. cri-dockerd安装:
## 下载cri-dockerd:
[root@master ~]# wget https://github.com/Mirantis/cri-dockerd/releases/
download/v0.2.3/cri-dockerd-0.2.3-3.el7.x86_64.rpm
## 安装cri-dockerd:
[root@master ~]# yum localinstall cri-dockerd-0.2.3-3.el7.x86_64.rpm
## 修改cri-dockerd启动文件:
[root@master ~]# vim /usr/lib/systemd/system/cri-docker.service
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-
image=registry.aliyuncs.com/google_containers/pause:3.7
## 启动cri-docker
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl start cri-docker
[root@master ~]# systemctl enable cri-docker
[root@master ~]# systemctl status cri-docker
3. 集群初始化,只在Master执行:
[root@master ~]# kubeadm init --kubernetes-version=v1.24.2 --pod-network-cidr
=10.224.0.0/16 --apiserver-advertise-address=192.168.188.113 --cri-socket unix:///var/run/cri-dockerd.sock --image-repository registry.aliyuncs.com/
google_containers
[root@master ~]# mkdir -p $HOME/.kube
[root@master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf
4. 添加Worker节点,只在Worker执行:
[root@slave1 ~]# kubeadm join 192.168.188.113:6443 --token tt1q1q.4k0ixby2h0x9j8sd \
> --discovery-token-ca-cert-hash sha256:14d31a879eea93c88c677a94c4bf3e3f19301b87a2ed4fd74a661eea8f096f1a
--cri-socket unix:///var/run/cri-dockerd.sock
注意:加入集群是需要添加: " --cri-socket unix:///var/run/cri-dockerd.sock "。
5. 安装网络插件,只在Matser执行:
[root@master ~]# wget http://down.i4t.com/k8s1.24/kube-flannel.yml
[root@master ~]# kubectl apply -f kube-flannel.yml
6. 验证集群是否部署成功,也可以只在Matser执行:
## 验证,等待状态都是Runing即可:
[root@master ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-74586cf9b6-2pj9r 0/1 Pending 0 5m14s
coredns-74586cf9b6-thv9n 0/1 Pending 0 5m14s
etcd-master 1/1 Running 0 5m27s
kube-apiserver-master 1/1 Running 0 5m27s
kube-controller-manager-master 1/1 Running 0 5m27s
kube-flannel-ds-b2jl9 0/1 Init:0/2 0 33s
kube-flannel-ds-hcbrj 0/1 Init:0/2 0 33s
kube-flannel-ds-lngcj 0/1 Init:1/2 0 33s
kube-proxy-hpb49 1/1 Running 0 4m7s
kube-proxy-lh292 1/1 Running 0 2m11s
kube-proxy-s6zrt 1/1 Running 0 5m14s
kube-scheduler-master 1/1 Running 0 5m27s
## 查看指定pod的详细情况:
[root@master ~]# kubectl describe pod kube-flannel-ds-b2jl9 -n kube-system
## 查看集群状态:
[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane 7m15s v1.24.2
slave1 Ready <none> 5m51s v1.24.2
slave2 Ready <none> 3m55s v1.24.2