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

相关文章

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

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.手