Skip to main content
이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Astra Control Center를 업그레이드합니다

기여자

Astra Control Center를 업그레이드하려면 NetApp Support 사이트에서 설치 번들을 다운로드하고 다음 지침을 완료하십시오. 이 절차를 사용하여 인터넷에 연결되거나 공기가 연결된 환경에서 Astra Control Center를 업그레이드할 수 있습니다.

필요한 것
  • 업그레이드하기 전에 을 참조하십시오 "구현할 수 있습니다" 사용자 환경이 Astra Control Center 배포에 대한 최소 요구 사항을 충족하는지 확인합니다. 환경에 다음이 있어야 합니다.

    • 지원되는 Astra Trident 버전 실행 중인 버전을 확인하려면 기존 Astra Control Center에 대해 다음 명령을 실행합니다.

      kubectl get tridentversion -n trident

      을 참조하십시오 "Astra Trident 문서" 이전 버전에서 업그레이드하는 경우.

    경고 Kubernetes 1.25로 업그레이드하기 전에 * Astra Trident 22.10 * 으로 업그레이드해야 합니다.
    • 지원되는 Kubernetes 배포 실행 중인 버전을 확인하려면 기존 Astra Control Center에 대해 다음 명령을 실행합니다. kubectl get nodes -o wide

    • 클러스터 리소스를 확인하는 데 충분한 클러스터 리소스가 있습니다. 기존 Astra Control Center 클러스터에서 다음 명령을 실행합니다. kubectl describe node <node name>

    • Astra Control Center 이미지를 푸시 및 업로드하는 데 사용할 수 있는 레지스트리입니다

    • 기본 스토리지 클래스 기본 스토리지 클래스를 확인하려면 기존 Astra Control Center에 대해 다음 명령을 실행합니다. kubectl get storageclass

  • (OpenShift에만 해당) 모든 클러스터 운영자가 양호한 상태이며 사용 가능한지 확인합니다.

    kubectl get clusteroperators
  • 모든 API 서비스가 정상 상태이며 사용 가능한지 확인합니다.

    kubectl get apiservices
  • 업그레이드를 시작하기 전에 Astra Control Center UI에서 로그아웃하십시오.

이 작업에 대해

Astra Control Center 업그레이드 프로세스는 다음과 같은 고급 단계를 안내합니다.

중요함 Astra Control Center 운영자를 삭제하지 마십시오(예: kubectl delete -f astra_control_center_operator_deploy.yaml) 포드가 삭제되지 않도록 Astra Control Center 업그레이드 또는 작업 중 언제든지.
팁 스케줄, 백업 및 스냅샷이 실행되고 있지 않은 경우 유지보수 창에서 업그레이드를 수행합니다.

Astra Control Center를 다운로드하고 압축을 풉니다

  1. 로 이동합니다 "Astra Control Center 제품 다운로드 페이지" 를 방문하십시오. 드롭다운 메뉴에서 최신 버전 또는 원하는 다른 버전을 선택할 수 있습니다.

  2. Astra Control Center가 포함된 번들을 다운로드합니다 (astra-control-center-[version].tar.gz)를 클릭합니다.

  3. (권장되지만 선택 사항) Astra Control Center용 인증서 및 서명 번들을 다운로드합니다 (astra-control-center-certs-[version].tar.gz)를 클릭하여 번들 서명을 확인합니다.

    tar -vxzf astra-control-center-certs-[version].tar.gz
    openssl dgst -sha256 -verify certs/AstraControlCenter-public.pub -signature certs/astra-control-center-[version].tar.gz.sig astra-control-center-[version].tar.gz

    출력이 표시됩니다 Verified OK 확인 성공 후.

  4. Astra Control Center 번들에서 이미지를 추출합니다.

    tar -vxzf astra-control-center-[version].tar.gz

NetApp Astra kubtl 플러그인을 제거하고 다시 설치합니다

NetApp Astra kubtl 명령줄 플러그인은 Astra Control Center 배포 및 업그레이드와 관련된 일반적인 작업을 수행할 때 시간을 절약해 줍니다.

  1. 플러그인이 설치되어 있는지 확인합니다.

    kubectl astra
  2. 다음 작업 중 하나를 수행합니다.

    • 플러그인이 설치된 경우 kubeck 플러그인 도움말을 반환해야 합니다. kubbeck-Astra의 기존 버전을 제거하려면 다음 명령을 실행합니다. delete /usr/local/bin/kubectl-astra.

    • 명령이 오류를 반환하면 플러그인이 설치되지 않은 것이므로 다음 단계를 수행하여 설치할 수 있습니다.

  3. 플러그인 설치:

    1. 사용 가능한 NetApp Astra kubectl 플러그인 바이너리를 나열하고 운영 체제 및 CPU 아키텍처에 필요한 파일 이름을 적어 주십시오.

      참고 kubbeck 플러그인 라이브러리는 tar 번들의 일부이며 폴더에 압축이 풀립니다 kubectl-astra.
    ls kubectl-astra/
    1. 올바른 바이너리를 현재 경로로 이동하고 이름을 로 변경합니다 kubectl-astra:

      cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra

이미지를 로컬 레지스트리에 추가합니다

  1. 용기 엔진에 적합한 단계 시퀀스를 완료합니다.

Docker 를 참조하십시오
  1. 타볼의 루트 디렉토리로 변경합니다. 이 파일과 디렉토리가 표시됩니다.

    acc.manifest.bundle.yaml
    acc/

  2. Astra Control Center 이미지 디렉토리의 패키지 이미지를 로컬 레지스트리에 밀어 넣습니다. 를 실행하기 전에 다음 대체 작업을 수행합니다 push-images 명령:

    • <BUNDLE_FILE>를 Astra Control 번들 파일의 이름으로 바꿉니다 (acc.manifest.bundle.yaml)를 클릭합니다.

    • <MY_FULL_REGISTRY_PATH>를 Docker 저장소의 URL로 바꿉니다. 예를 들어, "https://<docker-registry>".

    • <MY_REGISTRY_USER>를 사용자 이름으로 바꿉니다.

    • <MY_REGISTRY_TOKEN>를 레지스트리에 대한 인증된 토큰으로 바꿉니다.

      kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
팟맨
  1. 타볼의 루트 디렉토리로 변경합니다. 이 파일과 디렉토리가 표시됩니다.

    acc.manifest.bundle.yaml
    acc/

  2. 레지스트리에 로그인합니다.

    podman login <YOUR_REGISTRY>
  3. 사용하는 Podman 버전에 맞게 사용자 지정된 다음 스크립트 중 하나를 준비하고 실행합니다. <MY_FULL_REGISTRY_PATH>를 모든 하위 디렉토리가 포함된 리포지토리의 URL로 대체합니다.

    Podman 4
    export REGISTRY=<MY_FULL_REGISTRY_PATH>
    export PACKAGENAME=acc
    export PACKAGEVERSION=22.11.0-82
    export DIRECTORYNAME=acc
    for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
    astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
    astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
    podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
    podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
    done
    Podman 3
    export REGISTRY=<MY_FULL_REGISTRY_PATH>
    export PACKAGENAME=acc
    export PACKAGEVERSION=22.11.0-82
    export DIRECTORYNAME=acc
    for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
    astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
    astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
    podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
    podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
    done
    참고 레지스트리 구성에 따라 스크립트가 만드는 이미지 경로는 다음과 같아야 합니다. https://netappdownloads.jfrog.io/docker-astra-control-prod/netapp/astra/acc/22.11.0-82/image:version

업데이트된 Astra Control Center 운영자를 설치합니다

  1. 디렉토리를 변경합니다.

    cd manifests
  2. Astra Control Center 운영자 배포 YAML을 편집합니다 (astra_control_center_operator_deploy.yaml)를 클릭하여 로컬 레지스트리 및 암호를 참조합니다.

    vim astra_control_center_operator_deploy.yaml
    1. 인증이 필요한 레지스트리를 사용하는 경우 의 기본 줄을 바꾸거나 편집합니다 imagePullSecrets: [] 다음 포함:

      imagePullSecrets:
      - name: <astra-registry-cred_or_custom_name_of_secret>
    2. 변경 [your_registry_path] 의 경우 kube-rbac-proxy 이미지를 에서 푸시한 레지스트리 경로로 이미지 이전 단계.

    3. 변경 [your_registry_path] 의 경우 acc-operator 이미지를 에서 푸시한 레지스트리 경로로 이미지 이전 단계.

    4. 에 다음 값을 추가합니다 env 섹션:

      - name: ACCOP_HELM_UPGRADETIMEOUT
        value: 300m
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          control-plane: controller-manager
        name: acc-operator-controller-manager
        namespace: netapp-acc-operator
      spec:
        replicas: 1
        selector:
          matchLabels:
            control-plane: controller-manager
        strategy:
          type: Recreate
        template:
          metadata:
            labels:
              control-plane: controller-manager
          spec:
            containers:
            - args:
              - --secure-listen-address=0.0.0.0:8443
              - --upstream=http://127.0.0.1:8080/
              - --logtostderr=true
              - --v=10
              image: [your_registry_path]/kube-rbac-proxy:v4.8.0
              name: kube-rbac-proxy
              ports:
              - containerPort: 8443
                name: https
            - args:
              - --health-probe-bind-address=:8081
              - --metrics-bind-address=127.0.0.1:8080
              - --leader-elect
              env:
              - name: ACCOP_LOG_LEVEL
                value: "2"
              - name: ACCOP_HELM_UPGRADETIMEOUT
                value: 300m
              image: [your_registry_path]/acc-operator:[version x.y.z]
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: 8081
                initialDelaySeconds: 15
                periodSeconds: 20
              name: manager
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: 8081
                initialDelaySeconds: 5
                periodSeconds: 10
              resources:
                limits:
                  cpu: 300m
                  memory: 750Mi
                requests:
                  cpu: 100m
                  memory: 75Mi
              securityContext:
                allowPrivilegeEscalation: false
            imagePullSecrets: []
            securityContext:
              runAsUser: 65532
            terminationGracePeriodSeconds: 10
  3. 업데이트된 Astra Control Center 운영자를 설치합니다.

    kubectl apply -f astra_control_center_operator_deploy.yaml

    샘플 반응:

    namespace/netapp-acc-operator unchanged
    customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io configured
    role.rbac.authorization.k8s.io/acc-operator-leader-election-role unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role configured
    clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role unchanged
    rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding unchanged
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding configured
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding unchanged
    configmap/acc-operator-manager-config unchanged
    service/acc-operator-controller-manager-metrics-service unchanged
    deployment.apps/acc-operator-controller-manager configured
  4. Pod가 실행 중인지 확인합니다.

    kubectl get pods -n netapp-acc-operator

Astra Control Center를 업그레이드합니다

  1. Astra Control Center 사용자 지정 리소스(CR) 편집:

    kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
  2. Astra 버전 번호를 변경합니다 (astraVersion 의 내부 Spec)를 업그레이드할 버전:

    spec:
      accountName: "Example"
      astraVersion: "[Version number]"
  3. 이미지 레지스트리 경로가 에서 이미지를 푸시한 레지스트리 경로와 일치하는지 확인합니다 이전 단계. 업데이트 imageRegistry 의 내부 Spec 마지막 설치 이후 레지스트리가 변경된 경우

      imageRegistry:
        name: "[your_registry_path]"
  4. 에 다음을 추가합니다 CRDs 의 내부 구성 Spec:

    crds:
      shouldUpgrade: true
  5. 에 다음 행을 추가합니다 additionalValues 의 내부 Spec Astra Control Center CR에서 다음을 수행합니다.

    additionalValues:
        nautilus:
          startupProbe:
            periodSeconds: 30
            failureThreshold: 600

    파일 편집기를 저장하고 종료하면 변경 사항이 적용되고 업그레이드가 시작됩니다.

  6. (선택 사항) Pod가 종료되어 다시 사용할 수 있는지 확인합니다.

    watch kubectl get pods -n [netapp-acc or custom namespace]
  7. Astra Control 상태 조건이 업그레이드가 완료되어 준비되었음을 나타낼 때까지 기다립니다 (True):

    kubectl get AstraControlCenter -n [netapp-acc or custom namespace]

    응답:

    NAME    UUID                                      VERSION     ADDRESS         READY
    astra   9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f      22.11.0-82  10.111.111.111  True
    참고 작업 중에 업그레이드 상태를 모니터링하려면 다음 명령을 실행합니다. kubectl get AstraControlCenter -o yaml -n [netapp-acc or custom namespace]
    참고 Astra Control Center 운영자 로그를 검사하려면 다음 명령을 실행하십시오.
    kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f

시스템 상태를 확인합니다

  1. Astra Control Center에 로그인합니다.

  2. 버전이 업그레이드되었는지 확인합니다. UI의 * 지원 * 페이지를 참조하십시오.

  3. 모든 관리되는 클러스터와 앱이 여전히 존재하고 보호되고 있는지 확인합니다.