Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Astra Control Center をアップグレードします

共同作成者

Astra Control Centerをアップグレードするには、NetApp Support Site からインストールバンドルをダウンロードし、以下の手順を実行します。この手順を使用して、インターネット接続環境またはエアギャップ環境の Astra コントロールセンターをアップグレードできます。

以下の手順では、2番目に新しいリリースから今回の最新リリースへのAstra Control Centerのアップグレードプロセスについて説明します。現在のリリースより2つ以上遅れているバージョンから直接アップグレードすることはできません。インストールされているAstra Control Centerのバージョンが最新リリースの背後に多数のバージョンがある場合は、インストールされているAstra Control Centerのバージョンが最新リリースの背後にあるまで、より新しいバージョンへのチェーンアップグレードが必要になることがあります。リリースされたバージョンの完全なリストについては、 "リリースノート"

作業を開始する前に

アップグレードする前に、環境が "Astra Control Center環境の最小要件"。環境に次の要素が必要です。

  • * A "サポートされます" Astra Tridentバージョン*

    ステップのために展開

    実行しているTridentのバージョンを確認します。

    kubectl get tridentversion -n trident
    メモ 必要に応じて以下を使用してAstra Tridentをアップグレード "手順"
重要 23.10リリースは、Astra TridentをサポートするAstra Control Centerの最後のリリースです。次の作業を行うことを強くお勧めします。 "Astra Control Provisionerを有効にする" Astra Tridentで提供される機能以外にも、高度な管理機能やストレージプロビジョニング機能を利用できます。この拡張機能を使用するには、Astra Control Center 23.10にアップグレードし、Astra Control Provisionerを有効にする必要があります。Astra Control Provisionerは、以前のリリースのAstra Control Centerでは機能しません。
  • サポートされているKubernetesディストリビューション

    ステップのために展開

    実行しているKubernetesのバージョンを確認します。

    kubectl get nodes -o wide
  • 十分なクラスタリソース

    ステップのために展開

    使用可能なクラスタリソースを確認します。

    kubectl describe node <node name>
  • * Astra Control Centerのイメージのプッシュとアップロードに使用できるレジストリ*

  • デフォルトのストレージクラス

    ステップのために展開

    デフォルトのストレージクラスを確認します。

    kubectl get storageclass
  • 正常で利用可能なAPIサービス

    ステップのために展開

    すべての API サービスが正常な状態であり、使用可能であることを確認します。

    kubectl get apiservices
  • (OpenShiftのみ)正常で利用可能なクラスタオペレータ

    ステップのために展開

    すべてのクラスタオペレータが正常な状態であり、使用可能であることを確認します。

    kubectl get clusteroperators
  • * NetApp Astra Controlイメージレジストリにアクセス*:
    Astra Control Provisionerなど、Astra Controlのインストールイメージや機能強化された機能をNetAppイメージレジストリから取得することができます。

    ステップのために展開
    1. レジストリへのログインに必要なAstra ControlアカウントIDを記録します。

      アカウントIDはAstra Control Service Web UIで確認できます。ページ右上の図アイコンを選択し、* APIアクセス*を選択して、アカウントIDを書き留めます。

    2. 同じページから* APIトークンの生成*を選択し、APIトークン文字列をクリップボードにコピーしてエディターに保存します。

    3. Astra Controlレジストリにログインします。

      docker login cr.astra.netapp.io -u <account-id> -p <api-token>
このタスクについて

Astra Control Center のアップグレードプロセスでは、次の手順を実行できます。

メモ アップグレードを開始する前に、Astra Control Center UIからログアウトします。
重要 Astra Control Centerオペレータ(たとえば、 kubectl delete -f astra_control_center_operator_deploy.yaml) Astra Control Centerのアップグレードまたは操作中はいつでもポッドを削除しないようにします。
ヒント スケジュール、バックアップ、 Snapshot が実行されていないときは、メンテナンス時間内にアップグレードを実行します。

Astra Control Centerをダウンロードして展開します

NetApp Support SiteからAstra Control Centerバンドルをダウンロードするか、Dockerを使用してAstra Controlサービスのイメージレジストリからバンドルを取得できます。

NetApp Support Site
  1. Astra Control Centerを含むバンドルをダウンロードします (astra-control-center-[version].tar.gz)をクリックします "Astra Control Centerのダウンロードページ"

  2. (推奨ですがオプション)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 検証が成功したあとに、

  3. Astra Control Centerバンドルからイメージを抽出します。

    tar -vxzf astra-control-center-[version].tar.gz
Astra Controlイメージレジストリ
  1. Astra Control Serviceにログインします。

  2. ダッシュボードで、*[Deploy a self-managed instance of Astra Control]*を選択します。

  3. 手順に従ってAstra Controlイメージのレジストリにログインし、Astra Control Centerのインストールイメージを取得してイメージを展開します。

NetApp Astra kubectlプラグインを削除して、再度インストールします

NetApp Astra kubectlコマンドラインプラグインを使用して、ローカルのDockerリポジトリにイメージをプッシュできます。

  1. プラグインがインストールされているかどうかを確認します。

    kubectl astra
  2. 次のいずれかを実行します。

    • プラグインがインストールされている場合は、コマンドによってkubectlプラグインのヘルプが返され、既存のバージョンのkubectl-Astraを削除できます。 delete /usr/local/bin/kubectl-astra

    • コマンドからエラーが返された場合は、プラグインがインストールされていません。次の手順に進んでインストールしてください。

  3. プラグインをインストールします。

    1. 使用可能なNetApp Astra kubectlプラグインのバイナリを表示し、オペレーティングシステムとCPUアーキテクチャに必要なファイルの名前をメモします。

      メモ kubectlプラグインライブラリはtarバンドルの一部であり、フォルダに解凍されます kubectl-astra
    ls kubectl-astra/
    1. 正しいバイナリを現在のパスに移動し、名前をに変更します kubectl-astra

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

イメージをローカルレジストリに追加します

  1. コンテナエンジンに応じた手順を実行します。

Docker です
  1. tarballのルートディレクトリに移動します。次のように表示されます。 acc.manifest.bundle.yaml ファイルと次のディレクトリ:

    acc/
    kubectl-astra/
    acc.manifest.bundle.yaml

  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. tarballのルートディレクトリに移動します。次のファイルとディレクトリが表示されます。

    acc/
    kubectl-astra/
    acc.manifest.bundle.yaml

  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=23.10.0-68
    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=23.10.0-68
    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://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/23.10.0-68/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}]
    2. 変更 ASTRA_IMAGE_REGISTRY をクリックします kube-rbac-proxy でイメージをプッシュしたレジストリパスへのイメージ 前の手順

    3. 変更 ASTRA_IMAGE_REGISTRY をクリックします acc-operator でイメージをプッシュしたレジストリパスへのイメージ 前の手順

    4. に次の値を追加します env セクション。

      - name: ACCOP_HELM_UPGRADETIMEOUT
        value: 300m
    Astra control_center_operator_deploy.yamlの例:
    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: ASTRA_IMAGE_REGISTRY/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: ASTRA_IMAGE_REGISTRY/acc-operator:23.10.72
            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. ポッドが実行中であることを確認します

    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)から 23.07.0 終了: 23.10.0

    メモ 現在のリリースより2つ以上遅れているバージョンから直接アップグレードすることはできません。リリースされたバージョンの完全なリストについては、 "リリースノート"
    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
        keycloak-operator:
          livenessProbe:
            initialDelaySeconds: 180
          readinessProbe:
            initialDelaySeconds: 180
  6. ファイルエディタを保存して終了します。変更が適用され、アップグレードが開始されます。

  7. (オプション)ポッドが終了し、再び使用可能になったことを確認します。

    watch kubectl get pods -n [netapp-acc or custom namespace]
  8. アップグレードが完了して準備ができたことを示すため、Astra Controlのステータス状態が表示されるまで待ちます (True):

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

    対応:

    NAME    UUID                                      VERSION     ADDRESS         READY
    astra   9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f      23.10.0-68   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の* Support *ページを参照してください。

  3. すべての管理対象クラスタとアプリケーションが引き続き存在し、保護されていることを確認します。