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

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

共同作成者

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

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

作業を開始する前に

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

  • 有効 "Astra Controlプロビジョニングツール" Astra Tridentを使用

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

      kubectl get tridentversion -n trident
      メモ Astra Trident 23.01以前を実行している場合は、以下を使用 "手順" Astra Control Provisionerにアップグレードする前に、Astra Tridentの最新バージョンにアップグレードすること。Astra Tridentがバージョン24.02の4リリース期間内にある場合は、Astra Control Provisioner 24.02への直接アップグレードを実行できます。たとえば、Astra Trident 23.04からAstra Control Provisioner 24.02に直接アップグレードできます。
    2. Astra Control Provisionerが "有効"。Astra Control Provisionerは、23.10より前のリリースのAstra Control Centerでは機能しません。最新の機能にアクセスするには、アップグレードするAstra Control Centerと同じバージョンのAstra Control Provisionerをアップグレードしてください。

  • サポートされているKubernetesディストリビューション

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

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

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

    kubectl describe node <node name>
  • デフォルトのストレージクラス

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

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

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

    kubectl get apiservices
  • (ローカルレジストリのみ)Astra Control Centerイメージのプッシュとアップロードに使用できるローカルレジストリ

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

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

    kubectl get clusteroperators

また、次の点も考慮する必要があります。

ヒント スケジュール、バックアップ、 Snapshot が実行されていないときは、メンテナンス時間内にアップグレードを実行します。
  • * 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>
  • * Istioサービスメッシュの導入*
    Astra Control Centerのインストール時にIstioサービスメッシュをインストールした場合、このAstra Control CenterのアップグレードにはIstioサービスメッシュが含まれます。サービスメッシュをまだ持っていない場合は、 "初期導入" Astra Control Centerの略。

このタスクについて

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

メモ アップグレードを開始する前に、Astra Control Center UIからログアウトします。
重要 Astra Control Centerオペレータ(たとえば、 kubectl delete -f astra_control_center_operator_deploy.yaml) Astra Control Centerのアップグレードまたは操作中はいつでもポッドを削除しないようにします。

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

次のいずれかの場所からAstra Control Centerのイメージをダウンロードします。

  • * Astra Controlサービスのイメージレジストリ*:Astra Control Centerのイメージでローカルレジストリを使用しない場合や、NetApp Support Siteからバンドルをダウンロードするよりもこの方法を使用する場合は、このオプションを使用します。

  • * NetApp Support Site *:このオプションは、Astra Control Centerのイメージでローカルレジストリを使用する場合に使用します。

Astra Controlイメージレジストリ
  1. Astra Control Serviceにログインします。

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

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

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 Centerバンドルをローカルのレジストリにプッシュする場合は、NetApp Astra kubectlコマンドラインプラグインを使用する必要があります。

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

イメージをローカルのDockerリポジトリにプッシュするには、最新バージョンのNetApp Astra kubectlコマンドラインプラグインを使用する必要があります。

  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. Astra Control Centerバンドルをローカルのレジストリにプッシュする場合は、コンテナエンジンに応じた手順を実行します。

    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=24.02.0-69
      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=24.02.0-69
      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/24.02.0-69/image:version
  2. ディレクトリを変更します。

    cd manifests

更新された Astra Control Center オペレータをインストールします

  1. (ローカルレジストリのみ)ローカルレジストリを使用している場合は、次の手順を実行します。

    1. Astra Control Centerオペレータによる導入YAMLを開きます。

      vim astra_control_center_operator_deploy.yaml
      メモ 注釈付きサンプルYAMLは以下の手順に従います。
    2. 認証が必要なレジストリを使用する場合は、のデフォルト行を置換または編集します imagePullSecrets: [] 次の条件を満たす場合:

      imagePullSecrets: [{name: astra-registry-cred}]
    3. 変更 ASTRA_IMAGE_REGISTRY をクリックします kube-rbac-proxy でイメージをプッシュしたレジストリパスへのイメージ 前の手順

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

    5. に次の値を追加します 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: 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:24.02.68
            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
  2. 更新された 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
  3. ポッドが実行中であることを確認します

    kubectl get pods -n netapp-acc-operator

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

  1. Astra Control Centerカスタムリソース(CR)を編集します。

    kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
    メモ 注釈付きサンプルYAMLは以下の手順に従います。
  2. Astraのバージョン番号を変更します (astraVersion の内部 spec)から 23.10.0 終了: 24.02.0

    メモ 現在のリリースより2つ以上遅れているバージョンから直接アップグレードすることはできません。リリースされたバージョンの完全なリストについては、 "リリースノート"
    spec:
      accountName: "Example"
      astraVersion: "[Version number]"
  3. イメージレジストリを変更します。

    • (ローカルレジストリのみ)ローカルレジストリを使用している場合は、イメージのレジストリパスがイメージをプッシュしたレジストリパスと一致していることを確認します。 前の手順。更新 imageRegistry の内部 spec 前回のインストール後にローカルレジストリが変更された場合。

    • (Astra Controlイメージレジストリ)Astra Controlイメージレジストリを使用 (cr.astra.netapp.io)を使用して、更新されたAstra Controlバンドルをダウンロードしました。

        imageRegistry:
          name: "[cr.astra.netapp.io or 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      24.02.0-69   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. すべての管理対象クラスタとアプリケーションが引き続き存在し、保護されていることを確認します。