Kubernetes和Kops将每个主节点都放在自己的实例组中是否正确?

时间:2018-11-19 20:20:33

标签: kubernetes kops

当我创建一个Kubernetes集群并指定--master-zone us-west-2a,us-west2b-us-west2c时,我得到了3个主机(可以),但是它们在不同的实例组中。

$ kops get ig 
Using cluster from kubectl context: kube2.mydomain.net

NAME            ROLE    MACHINETYPE MIN MAX ZONES
master-us-west-2a   Master  m4.large    1   1   us-west-2a
master-us-west-2b   Master  m4.large    1   1   us-west-2b
master-us-west-2c   Master  m4.large    1   1   us-west-2c
nodes           Node    m4.large    3   3   us-west-2a,us-west-2b,us-west-2c

我不确定这是正确的还是最佳实践?

我认为所有大师都应该在一个实例组中。

1 个答案:

答案 0 :(得分:2)

我假设您的意思是多个可用区。这是冗余的默认行为。像AWS这样的云提供商建议您将控制平面(以及与此相关的工作负载)分布在不同的可用性区域中。

如果要在单个区域中创建它们,则可以运行如下所示的内容,例如:

$ kops create cluster --zones=us-east-1c --master-count=3 k8s.example.com

$ kops create cluster --zones=us-east-1b,us-east-1c --master-zones=us-east-1c --master-count=3

更多信息here

我相信拥有一个实例组(映射到AWS中的ASG)的背后原因是,如果您在ASG中指定多个可用性区域,则无法保证节点将以每个可用性上都有一个的方式降落区域。