k8s 集群高可用

k8s 集群高可用

image

如图,k8s集群里,我们只需要保证这4个组件的高可用,就能保证集群的高可用

1.1 etcd高可用

image

image

如上图,etcd我们使用raft,raft是一种共识算法。我们最少需要3,5,7,9这样奇数的节点才能实现etcd的高可用,ledger,flolower,candidate

2.1 scheduler高可用

image

scheluder的选主模式:
多个schedluer与api-server间接连接etcd。当第一个schedluer到api-server的时候,说嗨,兄弟我来了。api-server就会到etcd查询当前endpoint端点信息的。查看调度器的信息有没有,如果key-value里的value为空,说明没人来注册,就会把当前调度器写入进去,api-server识别这个调度器为老大。如果有一天这个调度器挂了,一群调度器中来看老大还在不在,发现老大没了,这时候调度器老大没了,于是再注册的就成了新的老大

简而言之,就是多个调度器同时向etcd发起注册功能,后续的调度器只能进入阻塞并不断尝试,所以需要两个相同的scheduler即可,他们会自动抢

3.1 controller-manager高可用

同scheduler原理一样

4.1 api-server高可用

api-server是无状态的,所以这一步是最简单的image

5.1 总结

etcd的高可用集群是自身的,controller-manager和scheduler搭建多个,他们会有自己的选主机制。api-server可以用keepalived实现
我们的 api-server,controller-manaber,schedluer,etcd数量应该是2 2 2 3,但是因为我们使用kubeadm部署的k8s,我们的api-server,controller-manaber,schedluer,etcd都在master节点,所以我们一般搭建3个master端,我们的api-server,controller-manaber,schedluer,etcd数量是 3 3 3 3

image

我们可以修改kubeadm的源码,把有效期1年改为100年。然后用新的kubeadm签发正式就可以了

6.1 安装k8s集群的方案

6.1.1 kubeoperator

官网地址: https://kubeoperator.io/

下载kubeoperator的镜像,run起来之后会得到一个仪表盘组件,在仪表盘定义k8s的机器节点,并定义每个机器节点的角色,他的底层基于kubeadm,安装完成户就得到一个k8s集群。
并且他自己里面自带了需要FQ下载的k8s镜像,不需要自己去下载镜像,100年有效期

6.1.2 rancher

官网地址: https://www.rancher.cn/
刚开始是我国科学院士带领去开发的一个平台,后来演化成集成k8s安装,运行,管理的平台。集成了商店功能,选择mysql点击就可以在k8s集群里得到一个mysql。底层逻辑走的helm,后来被苏susei公司收购了,成了国外软件。

6.1.3 睿云智合

官网地址:https://github.com/wise2c-devops/breeze/blob/master/BreezeManual-CN.md
它是国内第一家经过k8s一致性认证的软件,通过google官方认证。它安装出来的k8s与原生安装的没有区别,可以完全信任

6.1.4 sealos

官网地址: https://github.com/labring/sealos
说起apache和nginx,以前我们的思想是keepavlice实现高可用,上面三家都是用的haproxy实现的高可用,唯独这家,他用了k8s自身的ipvs模块自身的调度器。image

image

6.1.5 kubeasz

从github上找到一个ansible部署k8s集群的,同sealos类似,添加删除节点方便https://github.com/easzlab/kubeasz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值