我正在使用eksctl创建我们的EKS集群。

对于第一次运行,效果很好,但是如果我以后想升级cluster-config,则无法正常工作。

我有一个cluster-config文件,但是对该文件所做的任何更改都不会反射(reflect)在update / upgrade命令中。

我想念什么?

Cluster.yaml:

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: supplier-service
  region: eu-central-1

vpc:
  subnets:
    public:
      eu-central-1a: {id: subnet-1}
      eu-central-1b: {id: subnet-2}
      eu-central-1c: {id: subnet-2}

nodeGroups:
  - name: ng-1
    instanceType: t2.medium
    desiredCapacity: 3
    ssh:
      allow: true
    securityGroups:
      withShared: true
      withLocal: true
      attachIDs: ['sg-1', 'sg-2']
    iam:
      withAddonPolicies:
        autoScaler: true

现在,如果将来我想对instance.type或副本进行更改,我必须销毁整个集群并重新创建...这变得非常麻烦。

如何使用EksCtl创建的集群进行就地升级?谢谢。

最佳答案

要使用eksctl升级群集:

  • 升级控制平面版本
  • 升级coredns,kube-proxy和aws-node
  • 升级工作节点

  • 如果您只想更新节点组并保持相同的配置,则可以更改节点组名称,例如在名称后附加-v2。 [0]

    如果要更改节点组配置“实例类型”,则只需创建一个新的节点组:eksctl create nodegroup --config-file=dev-cluster.yaml [1]

    [0] https://eksctl.io/usage/cluster-upgrade/#updating-multiple-nodegroups-with-config-file

    [1] https://eksctl.io/usage/managing-nodegroups/#creating-a-nodegroup-from-a-config-file

    07-24 09:49