当前位置: 首页 > java >正文

使用 vip 加入两台 master 节点

        在一个 一主三从 的k8s 集群,新加两台master,加入之前与已有的master节点做好 keepalive ,然后使用 vip 去加入集群

1、三台 master 搭建 keepalive

2、修改 kubeadm-config 文件

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.32.200  # 修改为负载均衡器或 API Server IPbindPort: 6443
nodeRegistration:criSocket: unix:///var/run/cri-dockerd.sockimagePullPolicy: IfNotPresentname: master-1taints: null
---
apiServer:certSANs:  # 添加证书 SAN 列表- "192.168.32.200"  # 负载均衡器或 API Server IP- "192.168.32.61"   # 原 master 节点 IP- "10.96.0.1"        # 服务网络 IP- "localhost"        # 本地访问(可选)- "kubernetes"       # 集群内部域名(可选)timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.28.0
controlPlaneEndpoint: "192.168.32.200:6443"  # 启用并设置为负载均衡器或 API Server
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16serviceSubnet: 10.96.0.0/12
scheduler: {}
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

3、备份现有证书(重要!)

sudo cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak-$(date +%s)

4、删除需要重新生成的证书

sudo rm -f /etc/kubernetes/pki/apiserver.*
sudo rm -f /etc/kubernetes/pki/apiserver-etcd-client.*

5、重新生成证书

使用修改后的配置文件重新生成证书:

kubeadm init phase certs all --config=kubeadm-config.yaml

6、验证新证书的 SAN

[root@master-1 ~]# openssl x509 -noout -text -in /etc/kubernetes/pki/apiserver.crt | grep "IP Address"DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, DNS:master-1, IP Address:10.96.0.1, IP Address:192.168.32.200, IP Address:192.168.32.61

确保输出包含:

IP Address:10.96.0.1, IP Address:192.168.32.200, IP Address:192.168.32.61

7、重启 kube-apiserver 和 kubelet

systemctl restart kubelet
kubectl delete pod -n kube-syetem kube-apiserver-master-1

8、验证集群访问

kubectl get node -o wide

9、两个新节点依次加入集群

在 master-1 上查看加入集群的信息

kubeadm token create --ttl 0 --print-join-commandkubeadm init phase upload-certs --upload-certs

拼接一下得出加入命令:

kubeadm join 192.168.32.61:6443 --token aw9t1c.vvadgb18mp72hg7l --discovery-token-ca-cert-hash sha256:710cd98096f3797bc6873e063b22385f52135bf1c5e2671e62977725e3ee28b3 \--control-plane --certificate-key  4aebb50871ebc2daabcf2527bace79c46be7392f59fc7472c2f574468def630f  --cri-socket=unix:///var/run/cri-dockerd.sock

在两个新节点分别执行加入的命令

10、验证高可用

现在 vip 在master-1 上,要把他关机

关机后,vip 飘到了 另一太控制节点,另一台控制节点通过vip接管k8s管理

master-1 开机,vip 又回到本机(抢占模式)

 

http://www.xdnf.cn/news/8242.html

相关文章:

  • 【AI模型学习】上/下采样
  • 【SpringBoot实战指南】使用 Spring Cache
  • 5.22 打卡
  • 生存资料的多因素分析,如果满 足等比例风险假定, 采用Cox回归; 如果不满足等比例风险假定,则考虑采用 非等比例Cox回归分析研究预后因素的影响
  • Java版本的VPN(wlcn)
  • 我的世界模组开发——物理学(1)
  • PiliPlus 非常好用的开源软件第三方B站哔哩哔哩 v1.1.3.35
  • Vue 3.0中异步组件defineAsyncComponent
  • JC/T 2387-2024 改性聚苯乙烯泡沫(EPS)复合装饰制品检测
  • 从零基础到最佳实践:Vue.js 系列(10/10):《实战项目——从零到上线》
  • 2025淘宝最新DSR评分计算方式
  • Python RSA加解密脚本
  • AI相关的笔记
  • (第93天)OGG 搭建 Oracle 19C 数据同步 - 远程部署
  • 博奥龙Nanoantibody系列IP专用抗体
  • ubuntu安装blender并配置应用程序图标
  • HW云RDS性能压测
  • C++中的菱形继承问题
  • 5.22学习日记 ssh远程加密、非对称加密、对称加密与中间人攻击的原理
  • Linux安装SRILM
  • 【Android开发——Activity简述】
  • Femap许可证兼容性问题
  • 同城上门预约服务系统案例分享,上门服务到家系统都有什么功能?这个功能,很重要!
  • 科学养生指南:解锁健康生活密码
  • 一个简易的图片与文件从同一个入口上传
  • 【数据结构】链式二叉树
  • 物理定律的数学结构基础及AI推理
  • [欠拟合过拟合]机器学习-part10
  • Java:希尔排序
  • 15.集合框架的学习