k8s 高可用集群 -加入第二个master

2024-05-03 09:48

本文主要是介绍k8s 高可用集群 -加入第二个master,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

k8s 高可用集群 -加入第二个master

问题:

[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
error execution phase preflight: 
One or more conditions for hosting a new control plane instance is not satisfied.unable to add a new control plane instance a cluster that doesn't have a stable controlPlaneEndpoint addressPlease ensure that:
* The cluster has a stable controlPlaneEndpoint address.
* The certificates that must be shared among control plane instances are provided.

第一次尝试加入的时候报了上面的错误

开始填坑:

step 1

查看一下 kubeadm-config.yaml

kubectl -n kube-system get cm kubeadm-config -oyaml

发现controlPlaneEndpoint的值是空的.
走,去改他.

kubectl -n kube-system edit cm kubeadm-config

编辑yaml文件

controlPlaneEndpoint值为192.168.1.194:6443(当前master ip),然后确认信息修改完成

step 2
从master1 拷贝证书到master2

# cat scp.sh
USER=root
port=62200
CONTROL_PLANE_IPS="192.168.1.122"
for host in ${CONTROL_PLANE_IPS}; doscp -P ${port} /etc/kubernetes/pki/ca.crt "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/ca.key "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/sa.key "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/sa.pub "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/front-proxy-ca.crt "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/front-proxy-ca.key "${USER}"@$host:scp -P ${port} /etc/kubernetes/pki/etcd/ca.crt "${USER}"@$host:etcd-ca.crtscp -P ${port} /etc/kubernetes/pki/etcd/ca.key "${USER}"@$host:etcd-ca.keyscp -P ${port} /etc/kubernetes/admin.conf "${USER}"@$host:ssh -p${port} ${USER}@${host} 'mkdir -p /etc/kubernetes/pki/etcd'ssh -p${port} ${USER}@${host} 'mv /${USER}/ca.crt /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/ca.key /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/sa.pub /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/sa.key /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/front-proxy-ca.crt /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/front-proxy-ca.key /etc/kubernetes/pki/'ssh -p${port} ${USER}@${host} 'mv /${USER}/etcd-ca.crt /etc/kubernetes/pki/etcd/ca.crt'ssh -p${port} ${USER}@${host} 'mv /${USER}/etcd-ca.key /etc/kubernetes/pki/etcd/ca.key'ssh -p${port} ${USER}@${host} 'mv /${USER}/admin.conf /etc/kubernetes/admin.conf'
done

step 3
再次尝试加入

kubeadm join 192.168.1.194:6443 --token 424mp7.nkxx07p940mkl2nd     --discovery-token-ca-cert-hash sha256:f64bf3bb57ed8ae6ff25e24b68f9b5ff79d32e7b2b53ab54c7c02c0b4edb72bc --experimental-control-plane

与加入 node相比,以master的身份加入多了: --experimental-control-plane
这回可以了吧,老铁。

step 4
配置一下kubectl,以便管理集群

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

Done


参考&感谢:

  • Kubernetes安装(kubeadm方法安装)
  • 使用kubeadm部署k8s多master集群(一)集群部署

这篇关于k8s 高可用集群 -加入第二个master的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956449

相关文章

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Redis高可用-主从复制、哨兵模式与集群模式详解

《Redis高可用-主从复制、哨兵模式与集群模式详解》:本文主要介绍Redis高可用-主从复制、哨兵模式与集群模式的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Redis高可用-主从复制、哨兵模式与集群模式概要一、主从复制(Master-Slave Repli

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec