- k8s 控制平面的HA怎么做的?
首先cluster ip 也能起到vip的作用,同时也具备HA的功能。
image.png当然cluster ip是内部访问,无法集群外访问,也就是说只有内部的高可用。
关于metalLB 提供 vip 以及HA的外网访问方案的讨论:https://github.com/metallb/metallb/issues/168
k8s的关于ha vip的建议是必须找一个k8s外的LB才可以,否则就会有循环依赖,一旦LB挂掉,集群将是无法响应的一个状态。
首先提供一个LB,然后配置给k8s集群用:
比如内网集群的使用方式:
首先基于openstack建一个集群外的LB,然后配置给kubespray用,重新刷新k8s配置
apiserver_loadbalancer_domain_name: "cn-shanghai-on-prem-k8s-lb.yealinkops.com"
loadbalancer_apiserver:
address: 10.120.26.110
port: 6443
可以看到该IP不通时,k8s关键服务都会有影响。
如果IAAS层,LB服务也在k8s中管理,那么其实可以基于LB服务提供该ha IP,但是当然不能给所在k8s集群用。这确实是一个循环依赖。但是k8s控制平面外部都是可以使用该IP的。
小结:
k8s本身具有HA方案,只是k8s控制平面需要提供一个外部vip来供用户使用,至于k8s本身的控制平面并不依赖该vip,外部vip的有无对HA没有影响。
网友评论