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

相关文章

Eureka高可用注册中心registered-replicas没有分布式注册中心

自己在学习过程中发现,如果Eureka挂掉了,其他的Client就跑不起来了,那既然是商业项目,还是要处理好这个问题,所以决定用《Spring Cloud微服务实战》(PDF版在全栈技术交流群中自行获取)中说的“高可用注册中心”。 一开始我yml的配置是这样的 server:port: 8761eureka:instance:hostname: 127.0.0.1client:fetch-r

BD错误集锦3——ERROR: Can't get master address from ZooKeeper; znode data == null

hbase集群没启动,傻子!   启动集群 [s233 s234 s235]启动zk集群 $>zkServer.sh start $>zkServer.sh status   [s233] 启动dfs系统 $>start-dfs.sh 如果s237 namenode启动失败,则 [s237] $>hadoop-daemon.sh start namenode [s233]启动yarn集群

加入了一个手游工作室~感觉超级棒的,人怎么可以都这么好的

嘿嘿,很幸运在大二下学期上到一半的时候加入了一个手游工作室,原来以为就是一个很商业的工作室,没有想到里面有这么浓厚的人文气息,感觉超赞的~~。这下学习就变得更有动力了,不只是为了找一份工作而去奋斗了,为的更多的还可以变为是为了这个大环境贡献出我所有的力量,今天就自己在这通宵啊,呜呜,人有点少啊,幸好自己订了一些目标,要不然还真的不知道该咋么办呢。

TableView 当前选中的行号。 默认会使哪一行选中 加入导航条后contentInset向下偏移的64

1.得到当前选中的行号     NSLog(@"%ld %s",  [self.tableView indexPathForSelectedRow].row,__func__); 2.默认选中表格的那一行     [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0 ]

大型网站架构演化(四)——使用应用服务器集群改善网站的并发能力

使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型服务器而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。 对网站架构而言,只要能通过增加一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

Solr集群的搭建和使用(2)

1   什么是SolrCloud   SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使  用SolrCloud来满足这些需求。   SolrCloud是基于Solr和Zookeeper的分布式搜索

redis哨兵、集群

1. 安装Redis3.0 yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl   mkdir -p /usr/local/src/Redis cd /usr/local/src/redis wget http:/

【已解决】在IDEA中使用Git拉取代码时提示:Can‘t update / master has no tracked branch

文章目录 问题描述原因分析解决方案 问题描述 在IDEA中使用Git拉取代码,尝试更新本地项目代码,提示 " Can't update / master has no tracked branch ",如下图所示: 原因分析 出现上述问题意味着本地名为master的分支(或者在很多新项目中为了更包容性已改为main作为默认分支名)并没有设置为跟踪任何远程分支。

把Sublime Text 2 加入右键菜单(带图标), Edit with Sublime Text

Sublime Text 2 是现在很受大家欢迎的编辑器了,不仅是在web前端,在书定简单的php、Js等代码时,也是相当的好用,再配合多种的插件和新颖的界面,更是让人欲罢不能。 在使用时,我们通过喜欢打开一个文件的时候,右击再选择打开程序,比如会用记事本、Notedpad++之类的,这时如果把Sublime Text也加入到其中毕竟会方便不少,在找了一番后,实验成功,效果如下: 实现