TKG 클러스터를 업그레이드하기 전에 Autoscaler를 일시 중지해야 합니다. 클러스터의 TKr 버전을 업그레이드한 후 TKr 부 버전과 일치하도록 Autoscaler 패키지 버전을 업데이트해야 합니다.

요구 사항

이 작업에서는 TKG 클러스터에 클러스터 Autoscaler를 설치했다고 가정합니다. Kubectl을 사용하여 클러스터 Autoscaler 설치의 내용을 참조하십시오.

클러스터 업그레이드 전: Autoscaler 일시 중지

Autoscaler가 설치된 TKG 클러스터를 업그레이드하기 전에 먼저 Autoscaler 패키지를 일시 중지해야 합니다.
  1. autoscaler-data-values.yaml 암호에서 paused 부울 값을 true로 설정하여 클러스터 Autoscaler 패키지를 일시 중지합니다.
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: autoscaler-data-values
      namespace: tkg-system
    stringData:
      values.yml: |
        ---
        arguments:
          ignoreDaemonsetsUtilization: true
          maxNodeProvisionTime: 15m
          maxNodesTotal: 0
          metricsPort: 8085
          scaleDownDelayAfterAdd: 10m
          scaleDownDelayAfterDelete: 10s
          scaleDownDelayAfterFailure: 3m
          scaleDownUnneededTime: 10m
        clusterConfig:
          clusterName: "gc1"
          clusterNamespace: "cluster"
        paused: true
  2. autoscaler-data-values 암호에 업데이트를 적용합니다.
    kubectl apply -f autoscaler-data-values.yaml

클러스터 업그레이드

Autoscaler가 일시 중지되면 클러스터 업데이트를 계속 진행합니다.
  1. TKG 클러스터의 Kubernetes 버전을 업그레이드합니다.

    TKR 버전을 편집하여 TKG 클러스터 업데이트의 내용을 참조하십시오.

클러스터 업그레이드 후: Autoscaler 패키지 버전 업데이트

클러스터를 업그레이드한 후 TKr 부 버전과 일치하도록 Autoscaler 패키지 버전을 업데이트하고 일시 중지를 사용하지 않도록 설정합니다.
  1. 해당하는 Autoscaler 버전을 선택합니다.

    TKr 및 Autoscaler 패키지의 부 버전이 일치해야 합니다. 예를 들어 클러스터를 TKr v1.28.8로 업그레이드한 경우 Autoscaler v1.28.x 패키지를 사용해야 합니다.

  2. 대상 Autoscaler 버전을 설정하고 paused를 false로 재설정하여 Autoscaler 리소스를 업데이트합니다.
    #autoscaler-package-upgrade.yaml
    ---
    apiVersion: packaging.carvel.dev/v1alpha1
    kind: PackageInstall
    metadata:
      name: autoscaler
      namespace: tkg-system
    spec:
      serviceAccountName: autoscaler-sa
      packageRef:
        refName: cluster-autoscaler.tanzu.vmware.com
        versionSelection:
          constraints: 1.28.0+vmware.1-tkg.1
      values:
      - secretRef:
          name: autoscaler-data-values
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: autoscaler-data-values
      namespace: tkg-system
    stringData:
      values.yml: |
        ---
        arguments:
          ignoreDaemonsetsUtilization: true
          maxNodeProvisionTime: 15m
          maxNodesTotal: 0
          metricsPort: 8085
          scaleDownDelayAfterAdd: 10m
          scaleDownDelayAfterDelete: 10s
          scaleDownDelayAfterFailure: 3m
          scaleDownUnneededTime: 10m
        clusterConfig:
          clusterName: "gc1"
          clusterNamespace: "cluster"
        paused: false
  3. Autoscaler 패키지에 업데이트를 적용합니다.
    kubectl apply -f autoscaler-package-upgrade.yaml
  4. Autoscaler 포드가 kube-system 네임스페이스에서 실행 중인지 확인합니다.
  5. 클러스터 Autoscaler를 테스트합니다.

    클러스터 Autoscaler 테스트.