gpt4 book ai didi

amazon-web-services - 如何使用kops,cluster-autoscaler自动调整K8s集群的大小以动态增加Masters

转载 作者:行者123 更新时间:2023-12-02 12:05:27 25 4
gpt4 key购买 nike

我们已使用kops工具(https://github.com/kubernetes/kops)在AWS账户的EC2机器上配置了Kubernetes集群,并且基于AWS帖子(https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-kops/)和其他资源。

我们想要设置一个K8s主节点和从节点的集群,以便:

  • 它将根据系统负载自动调整大小(主节点以及节点/从节点)。
  • 以多可用区模式运行,即在同一区域中的每个可用区(可用区)中至少有一个主机和一个从机,例如us-east-1a,us-east-1b,us-east-1c等。

  • 我们尝试通过以下方式配置集群以实现上述目标。
  • 使用以下配置的kops在AWS EC2机器上创建了K8s集群:节点数量= 3,主设备数量= 3,区域= us-east-1c,us-east-1b,us-east-1a。我们观察到,创建了一个具有8个主节点和3个从节点的K8s集群。主服务器和从属服务器分别位于3个可用区中。
  • 然后,我们尝试使用(https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-run-on-master.yaml)调整集群中节点/从节点的大小。我们将node_asg_min设置为3,将node_asg_max设置为5。当我们增加从站的工作负载以触发自动缩放策略时,我们看到产生了其他(在设置过程中创建默认的3之后)从站节点,并且它们确实加入了群集在各个可用区中。这按预期工作。毫无疑问。
  • 我们还希望设置集群,以便基于系统负载增加主服务器的数量。有什么办法可以做到这一点?我们尝试了几种方法,结果在下面共享:

  • A)我们不确定cluster-auto scaler是否在这里有所帮助,但是仍然尝试使用( https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-run-on-master.yaml)调整集群中Master的大小。这在创建新集群时很有用,但在调整现有集群中的主服务器数量时却没有用。我们没有找到一个参数来指定Master的node_asg_min,node_asg_max的方式,就像为从属节点一样。有什么办法可以做到这一点?

    B)我们将ASG(自动缩放组)中的MIN计数从1增加到3,与每个主控的三个IG(实例组)之一相关联。我们发现创建了新实例。但是,他们没有加入主集群。有什么办法可以做到这一点?

    您能否为我们指出正确执行此操作的步骤和资源,以便我们可以配置主机数量以根据系统负载自动调整大小并处于多可用区模式?

    亲切的问候,
    沙市

    最佳答案

    无需缩放Master节点。

    Master components provide the cluster’s control plane. Master components make global decisions about the cluster (for example, scheduling), and detecting and responding to cluster events (starting up a new pod when a replication controller’s ‘replicas’ field is unsatisfied).

    Master components can be run on any machine in the cluster. However, for simplicity, set up scripts typically start all master components on the same machine, and do not run user containers on this machine. See Building High-Availability Clusters for an example multi-master-VM setup.


    主节点包含以下组件:
    kube-apiserver

    Component on the master that exposes the Kubernetes API. It is the front-end for the Kubernetes control plane.


    etcd

    Consistent and highly-available key value store used as Kubernetes’ backing store for all cluster data.


    kube-scheduler

    Component on the master that watches newly created pods that have no node assigned, and selects a node for them to run on.


    kube-controller-manager

    Component on the master that runs controllers.


    云 Controller 经理

    runs controllers that interact with the underlying cloud providers. The cloud-controller-manager binary is an alpha feature introduced in Kubernetes release 1.6.


    有关详细说明,请阅读 Kubernetes Components文档。
    另外,如果您正在考虑HA,则可以阅读有关 Creating Highly Available Clusters with kubeadm的信息。

    关于amazon-web-services - 如何使用kops,cluster-autoscaler自动调整K8s集群的大小以动态增加Masters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53812864/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com