在kubernetes中是否可以在AWS中创建跨区域集群?

时间:2020-03-09 05:11:20

标签: amazon-web-services kubernetes

是否可以在AWS的一个区域中创建主节点并在另一区域中创建工作程序节点?如果可以,请告诉别人如何或不可以给理由

2 个答案:

答案 0 :(得分:0)

如果要部署自己的kubernetes集群,则可以在一个区域中将EC2实例创建为主节点,在另一个区域中将EC2实例创建为工作节点。只是您需要通过确保安全组,EC2实例的公共IP或VPC对等等来确保它们可以访问。

编辑:

要注意的一件事是,当您在主节点上执行kubeadm init时,您需要添加主节点的公共IP作为参数,因为否则kubeadm只会为主节点的私有IP生成证书。

kubeadm init --apiserver-cert-extra-sans=PUBLIC-IP-OF-MASTER-NODE --control-plane-endpoint=PUBLIC-IP-OF-MASTER-NODE

执行此操作后,生成的证书将对主节点的公共IP有效,并且您应该能够使用主节点的公共IP加入工作节点。

使用主节点中的命令验证证书的kubeadm join部分中列出了您用于X509v3 Subject Alternative Name:的IP。

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout

答案 1 :(得分:0)

有可能,但只能本地,不能使用

因此,简而言之:不可能在单个AWS集群中使用来自不同区域的节点。

但是仍然可以在multiple zones中运行集群:

Kubernetes 1.2添加了对多个运行单个群集的支持 故障区域(GCE称它们为“区域”,AWS称它们为“区域” “可用区域”,在这里我们将它们称为“区域”。

故意限制了对多区域的支持:单个Kubernetes集群 可以在多个区域中运行,但只能在同一区域(和云)中运行 提供商)。

我希望这会有所帮助。