kubeadm公有云上自建k8s需要master高可用方案?

丑东西 发表于: 2022-08-12   最后更新时间: 2022-08-12 18:40:27   1,023 游览

我们需要在公有云上自建k8s需要master高可用,但是客户那边不提供slb,自建的虚拟vip在公有云上有问题,想请教下请问有什么好的方案吗?目前了解到的是所有节点都装nginx,反向代理。

发表于 2022-08-12
添加评论

虚拟vip在公有云有问题要解决吧,这个方案是最好的也是官方推荐的:

目前官方推荐的有2种:

方案一:

  • keepalived 和 haproxy

方案二(推荐,BGP模式,三层):

  • kube-vip

详情参考:Kubernetes高可用性的考虑

ps:这个文章中的kube-vip方案对应k8s的版本老了,创建kube-vip的代码不是最新的,我这周末会更新它,你先看官方的kube-vip文档吧,地址:https://github.com/kubernetes/kubeadm/blob/main/docs/ha-considerations.md#options-for-software-load-balancing

因为在公有云上虚拟机IP是出问题的 我现在采用的是每个节点上部署nginx,通过代理的方式来完成集群的高可用。我贴下我的配置

user  root;
worker_processes  auto;
worker_cpu_affinity auto;
error_log  /var/log/nginx/error.log;
pid  /run/nginx.pid;
worker_rlimit_nofile 102400;
events{
     use epoll;
     multi_accept on;
     worker_connections 102400;
}

    stream {
upstream kube-apiservers {
    server master01:6443 weight=5 max_fails=3 fail_timeout=15s;
    server master02:6443 weight=5 max_fails=3 fail_timeout=15s;
    server master03:6443 weight=5 max_fails=3 fail_timeout=15s;
      }
    server {
       listen 8443 backlog=8192;
       proxy_timeout 15s;
       proxy_pass kube-apiservers;
       proxy_connect_timeout    15s;
       proxy_buffer_size        16k;
       }
    }
半兽人 -> 丑东西 2年前

就这样搞吧,变相的相当于BGP模式了(所有节点将公布虚拟IP地址)

你的答案

查看kubeadm相关的其他问题或提一个您自己的问题