k8s高可用方案系列---集群多master搭建

k8s高可用方案系列---集群多master搭建,第1张

在执行平台CTE使用面越来越扩大,底层的k8s集群就越来越需要得到可靠性的保证
之前的执行服务CTE,环境申请服务matrix,调度服务apollo是在一台单节点的k8s集群上,集群是由虚拟机组成,而虚拟机又是由服务器提供的计算资源,存储阵列提供的存储资源虚拟化出的虚拟机。
所以,一旦集群主所在的虚拟机的网络或者存储出现了问题,将会导致整个集群的不可用。因此,多master集群的搭建成了迫在眉睫的方案

搭建多master集群

坑点:新master当前有大网网段:1086,小网网段:846,如果不加--apiserver-advertise-address,那么默认和源master通信的是10网段,但源master又是846网段,因此会加入失败,所以在此必须指定apiserver的通信地址是小网网段
-v2 是获取详细日志打印,方便定位

主机列表:
node1 10101025
node2 10101026
node3 10101027

node1 k8s的管理节点 nfs服务器
node2 k8s的工作节点
node3 k8s的工作节点

在node1基于nfs创建mongo数据目录:

登陆node2 或者node3执行以下命令

可以看到以下结果

mongodconf 配置

mongo-1挂载卷配置

mongo-2挂载卷配置

mongo-1有状态副本集

mongo-2有状态副本集

进入busybox容器内,执行以下命令

进入mongo-1内部、执行一下命令:

ok为1为成功。

master NodePort Service

slave NodePort Service

此时,mongo集群的部署已经完成,可以使用外部客户端访问了。

解决方法 :更新证书即可。

</pre>

解决方法:删除svc,重新映射端口即可。

</pre>

</pre>

解决方法:删除svc,重新映射端口即可。

解决方法:修改K8S集群的type为NodePort即可,于是可通过所有K8S集群节点访问服务。

</pre>

</pre>

原因分析:image无法拉取;

解决方法:更换镜像即可。

</pre>

</pre>

</pre>

解决方法:创建相关service,将SVC的name写入K8S集群的coreDNS服务器中,于是coreDNS就能对POD的initC容器执行过程中的域名解析了。

</pre>

</pre>

解决方法:更换镜像即可。

</pre>

解决方法:更换镜像。

</pre>

解决方法:进入容器内部,创建yaml定义的资源

解决方法:修改myregistrykey内容即可。

11、kube-flannel-ds-amd64-ndsf7插件pod的status为Init:0/1?

排查思路:kubectl -n kube-system describe pod kube-flannel-ds-amd64-ndsf7 #查询pod描述信息;

解决方法:登录k8s-slave1,重启docker服务,手动拉取镜像。

k8s-master节点,重新安装插件即可。

排查思路:

</pre>

解决方法:删除错误pod;重新拉取镜像;

</pre>

解决方法:去掉yml文件中多余的containers字段,重新生成pod。

解决方法:修改pv的name字段即可。

accessModes与可使用的PV不一致,导致无法挂载PVC,由于只能挂载大于1G且accessModes为RWO的PV,故只能成功创建1个pod,第2个pod一致pending,按序创建时则第3个pod一直未被创建;

解决方法:修改yml文件中accessModes或PV的accessModes即可。

解决方法:在nfs卷中创建文件并授予权限。

</pre>

解决方法:安装promethus监控组件即可。

原因分析:由于已使用同样镜像发布了pod,导致无节点可调度。

解决方法:删除所有pod后部署pod即可。

</pre>

解决方法:mv chartyaml Chartyaml


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13390006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存