Kubeadm搭建高可用(k8s)Kubernetes v1.24.0集群
文章目录
更新2022年08月25日
背景
Kubernetes 1.24新特性
对于kubelet和containerd重要提示 在升级至1.24之前,请确认containerd版本
#以下容器运行时已经或即将全面兼容Kubernetes 1.24: containerd v1.6.4及更高,v1.5.11及更高 CRI-O 1.24及更高
若CNI插件尚未升级且/或CNI配置文件中未声明CNI配置版本时,则containerd v1.6.0-v1.6.3版本将导致Pod CNI网络setup及tear down发生问题。containerd团队报告称,这些问题已经在containerd v1.6.4中得到解决。 在containerd v1.6.0-v1.6.3时,如果你未升级CNI插件且/或声明CNI配置版本,则可能遇到CNI版本不兼容或无法为沙箱删除网络等错误。
Kubernetes 1.24新特性
也就是说,服务的ClusterIP能够以下列方式分配:动态分配,即集群将在配置的服务IP范围内自动选择一个空闲IP。静态分配,意味着用户需要在已配置的服务IP范围内指定一个IP。
服务ClusterIP是唯一的;因此若尝试使用已被分配的ClusterIP进行服务创建,则会返回错误结果。
环境准备
我本地有kubernetes 1.18环境,接下来对环境进行初始化
#目前kubernetes版本 [root@k8s-01 ~]# kubectl get node NAME STATUS ROLES AGE VERSION k8s-01 Ready master 243d v1.18.3 k8s-02 Ready master 243d v1.18.3 k8s-03 Ready master 243d v1.18.3 k8s-04 Ready243d v1.18.3 k8s-05 Ready 243d v1.18.3
卸载集群命令
#建议所有服务器都执行 #!/bin/bash kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd rm -rf /var/etcd yum -y remove kubeadm* kubectl* kubelet* docker* reboot
基础环境配置
192.168.31.10 | k8s-01 | k8s-master、containerd、keepalived、nginx | 2c8g | |
192.168.31.11 | k8s-02 | k8s-master、containerd、keepalived、nginx | 2c8g | |
192.168.31.12 | k8s-03 | k8s-master、containerd、keepalived、nginx | 2c8g | |
192.168.31.13 | k8s-04 | k8s-node、containerd | 1c4g | |
192.168.31.14 | k8s-05 | k8s-node、containerd | 1c4g |