使用kubeadm Kubernetes高可用性可能没有故障切换/负载均衡?

问题描述 投票:0回答:3

我试图用kubeadm实现K8S高可用性。我下面的文件k8s HA using kubeadm

在正式文件,建议有对KUBE-API服务器故障切换机制/负载均衡器。我试过的keepalived但是,在AWS / GCP instaces设置的情况下,在脑裂情况的土地作为组播不支持,所以我不能使用它。有什么出路呢?

kubernetes kubectl kubeadm
3个回答
0
投票

不,你需要一个负载均衡器有HA与kubeadm。

如果您正在使用AWS / GCP,为什么不考虑使用本地负载均衡器为这些环境,像ELB或谷歌云负载均衡?


0
投票

Kubernetes是自动化部署,缩放,以及集装箱应用管理容器管理组织系统。 Kubernetes在高可用性和负载均衡的环境中发挥最好的。

作为@jaxxstorm提到,云提供商给你使用本地负载均衡器的可能性,我也建议它是与高可用性尝试了良好的杆位。您可能感兴趣GCP文档。

在Kubernetes环境家酿需要Kubeadm一些额外的工作,从我的角度来看,这是好事,建立Kubernetes The Hardway然后开始用Kubeadm玩。

OK,我承担安装服务器已经准备就绪。要建立多主群集的并不复杂的安装,你需要3个硕士点(10.0.0.50-52)和负载均衡器(10.0.0.200)。

生成令牌和输出保存到文件中:

kubeadm token generate

创建kubeadm配置文件:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
  endpoints:
  - "http://10.0.0.50:2379"
  - "http://10.0.0.51:2379"
  - "http://10.0.0.52:2379"
apiServerExtraArgs:
  apiserver-count: "3"
apiServerCertSANs:
- "10.0.0.50"
- "10.0.0.51"
- "10.0.0.52"
- "10.0.0.200"
- "127.0.0.1"
token: "YOUR KUBEADM TOKEN"
tokenTTL: "0"

配置文件复制到所有节点。

请在第一主实例初始化:

kubeadm init --config /path/to/config.yaml

新的主实例,将拥有所有必要的证书和密钥为我们的主集群。

复制目录结构/etc/kubernetes/pki到其它主控器相同的位置。

其他主服务器上:

kubeadm init --config /path/to/config.yaml

现在,让我们开始设置负载均衡:

/etc/kubernetes/admin.conf复制到$HOME/.kube/config

接下来,编辑$HOME/.config和替换

服务器:10.0.0.50

服务器:10.0.0.200

检查节点精细工作:

kubectl get nodes

在所有工作人员执行:

kubeadm join --token YOUR_CLUSTER_TOKEN 10.0.0.200:6443 --discovery-token-ca-cert-hash sha256:89870e4215b92262c5093b3f4f6d57be8580c3442ed6c8b00b0b30822c41e5b3

就是这样!如果一切是建立干净,你现在应该有一个高度可用的群集。

我发现"HA Kubernetes cluster via Kubeadm"教程非常有用,谢谢@Nate Baker寻找灵感。


0
投票

您definnitely需要的nginx / HAProxy的+ KEEPALIVED故障转移和高可用性

© www.soinside.com 2019 - 2024. All rights reserved.