Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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

共同作成者

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

必要なもの
このタスクについて

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

重要 すべての Astra Control Center ポッドが削除されないようにするため、アップグレードプロセス全体で次のコマンドを実行しないでください。 'kubectl delete -f Astra_control_center_deployment.yaml
ヒント スケジュール、バックアップ、 Snapshot が実行されていないときは、メンテナンス時間内にアップグレードを実行します。
メモ Docker Engine の代わりに Red Hat の Podman を使用している場合は、 Docker コマンドの代わりに Podman コマンドを使用できます。

Astra Control Center バンドルをダウンロードします

  1. から Astra Control Center アップグレードバンドル (`Astra - control-ccenter-[version].tar.gz') をダウンロードします "ネットアップサポートサイト"

  2. (任意)次のコマンドを使用して、バンドルのシグニチャを確認します。

    openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz

バンドルを開梱し、ディレクトリを変更します

  1. 画像を抽出します。

    tar -vxzf astra-control-center-[version].tar.gz
  2. Astra ディレクトリに移動します。

    cd astra-control-center-[version]

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

  1. Astra Control Center イメージディレクトリ内のファイルをローカルレジストリに追加します。

    メモ 以下の画像の自動ロードについては、サンプルスクリプトを参照してください。
    1. Docker レジストリにログインします。

      docker login [your_registry_path]
    2. Docker にイメージをロードする。

    3. 画像にタグを付けます。

    4. [[[</Z1>[</Z1>[</Z1>[</Z1>[</Z1>[</Z1>[</Z1>[</Z1></Z1></Z1>_image_local_registry_push]]]]]]]]</Z2> ローカルレジストリにイメージをプッシュ

      export REGISTRY=[your_registry_path]
      for astraImageFile in $(ls images/*.tar)
        # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: '
        do astraImage=$(docker load --input ${astraImageFile} | sed 's/Loaded image: //')
        astraImage=$(echo ${astraImage} | sed 's!localhost/!!')
        # Tag with local image repo.
        docker tag ${astraImage} ${REGISTRY}/${astraImage}
        # Push to the local repo.
        docker push ${REGISTRY}/${astraImage}
      done

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

  1. Astra Control Center オペレータの配備 YAML (`Astra_control_center_deployment.yaml ') を編集して、ローカルのレジストリと秘密を参照します。

    vim astra_control_center_operator_deploy.yaml
    1. 認証が必要なレジストリを使用する場合は、デフォルト行の「 imagePullSecret:[] 」を次のように置き換えます。

      imagePullSecrets:
      - name: <name_of_secret_with_creds_to_local_registry>
    2. 「 kube-rbac プロキシ」イメージの「 [Your_registry_path] 」を、でイメージをプッシュしたレジストリパスに変更します 前の手順

    3. 「 acc-operator-controller-manager 」イメージの「 [Your_registry_path] 」を、でイメージをプッシュしたレジストリパスに変更します 前の手順

    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
      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
            command:
            - /manager
            env:
            - name: ACCOP_LOG_LEVEL
              value: "2"
            image: [your_registry_path]/acc-operator:[version x.y.z]
            imagePullPolicy: IfNotPresent
          imagePullSecrets: []
  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

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

  1. Astra Control Center カスタムリソース( CR )を編集し、 Astra バージョン(「 S PEC 」内の「 astraVersion 」)を最新のものに変更します。

    kubectl edit acc -n [netapp-acc or custom namespace]
    メモ Astra バージョンの変更は、 Astra Control Center のアップグレードの唯一の要件です。レジストリパスは、のイメージをプッシュしたレジストリパスと一致する必要があります 前の手順
  2. ポッドが終了し、再び使用可能になったことを確認します。

    watch kubectl get pods -n [netapp-acc or custom namespace]
  3. すべてのシステムコンポーネントが正常にアップグレードされたことを確認します

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

    各ポッドのステータスは、「 Running 」と「 Age 」になります。システムポッドが展開されるまでに数分かかることがあります。

    回答例:

    NAME                                         READY   STATUS    RESTARTS   AGE
    acc-helm-repo-5f75c5f564-bzqmt             1/1     Running   0          11m
    activity-6b8f7cccb9-mlrn4                  1/1     Running   0          9m2s
    api-token-authentication-6hznt             1/1     Running   0          8m50s
    api-token-authentication-qpfgb             1/1     Running   0          8m50s
    api-token-authentication-sqnb7             1/1     Running   0          8m50s
    asup-5578bbdd57-dxkbp                      1/1     Running   0          9m3s
    authentication-56bff4f95d-mspmq            1/1     Running   0          7m31s
    bucketservice-6f7968b95d-9rrrl             1/1     Running   0          8m36s
    cert-manager-5f6cf4bc4b-82khn              1/1     Running   0          6m19s
    cert-manager-cainjector-76cf976458-sdrbc   1/1     Running   0          6m19s
    cert-manager-webhook-5b7896bfd8-2n45j      1/1     Running   0          6m19s
    cloud-extension-749d9f684c-8bdhq           1/1     Running   0          9m6s
    cloud-insights-service-7d58687d9-h5tzw     1/1     Running   2          8m56s
    composite-compute-968c79cb5-nv7l4          1/1     Running   0          9m11s
    composite-volume-7687569985-jg9gg          1/1     Running   0          8m33s
    credentials-5c9b75f4d6-nx9cz               1/1     Running   0          8m42s
    entitlement-6c96fd8b78-zt7f8               1/1     Running   0          8m28s
    features-5f7bfc9f68-gsjnl                  1/1     Running   0          8m57s
    fluent-bit-ds-h88p7                        1/1     Running   0          7m22s
    fluent-bit-ds-krhnj                        1/1     Running   0          7m23s
    fluent-bit-ds-l5bjj                        1/1     Running   0          7m22s
    fluent-bit-ds-lrclb                        1/1     Running   0          7m23s
    fluent-bit-ds-s5t4n                        1/1     Running   0          7m23s
    fluent-bit-ds-zpr6v                        1/1     Running   0          7m22s
    graphql-server-5f5976f4bd-vbb4z            1/1     Running   0          7m13s
    identity-56f78b8f9f-8h9p9                  1/1     Running   0          8m29s
    influxdb2-0                                1/1     Running   0          11m
    krakend-6f8d995b4d-5khkl                   1/1     Running   0          7m7s
    license-5b5db87c97-jmxzc                   1/1     Running   0          9m
    login-ui-57b57c74b8-6xtv7                  1/1     Running   0          7m10s
    loki-0                                     1/1     Running   0          11m
    monitoring-operator-9dbc9c76d-8znck        2/2     Running   0          7m33s
    nats-0                                     1/1     Running   0          11m
    nats-1                                     1/1     Running   0          10m
    nats-2                                     1/1     Running   0          10m
    nautilus-6b9d88bc86-h8kfb                  1/1     Running   0          8m6s
    nautilus-6b9d88bc86-vn68r                  1/1     Running   0          8m35s
    openapi-b87d77dd8-5dz9h                    1/1     Running   0          9m7s
    polaris-consul-consul-5ljfb                1/1     Running   0          11m
    polaris-consul-consul-s5d5z                1/1     Running   0          11m
    polaris-consul-consul-server-0             1/1     Running   0          11m
    polaris-consul-consul-server-1             1/1     Running   0          11m
    polaris-consul-consul-server-2             1/1     Running   0          11m
    polaris-consul-consul-twmpq                1/1     Running   0          11m
    polaris-mongodb-0                          2/2     Running   0          11m
    polaris-mongodb-1                          2/2     Running   0          10m
    polaris-mongodb-2                          2/2     Running   0          10m
    polaris-ui-84dc87847f-zrg8w                1/1     Running   0          7m12s
    polaris-vault-0                            1/1     Running   0          11m
    polaris-vault-1                            1/1     Running   0          11m
    polaris-vault-2                            1/1     Running   0          11m
    public-metrics-657698b66f-67pgt            1/1     Running   0          8m47s
    storage-backend-metrics-6848b9fd87-w7x8r   1/1     Running   0          8m39s
    storage-provider-5ff5868cd5-r9hj7          1/1     Running   0          8m45s
    telegraf-ds-dw4hg                          1/1     Running   0          7m23s
    telegraf-ds-k92gn                          1/1     Running   0          7m23s
    telegraf-ds-mmxjl                          1/1     Running   0          7m23s
    telegraf-ds-nhs8s                          1/1     Running   0          7m23s
    telegraf-ds-rj7lw                          1/1     Running   0          7m23s
    telegraf-ds-tqrkb                          1/1     Running   0          7m23s
    telegraf-rs-9mwgj                          1/1     Running   0          7m23s
    telemetry-service-56c49d689b-ffrzx         1/1     Running   0          8m42s
    tenancy-767c77fb9d-g9ctv                   1/1     Running   0          8m52s
    traefik-5857d87f85-7pmx8                   1/1     Running   0          6m49s
    traefik-5857d87f85-cpxgv                   1/1     Running   0          5m34s
    traefik-5857d87f85-lvmlb                   1/1     Running   0          4m33s
    traefik-5857d87f85-t2xlk                   1/1     Running   0          4m33s
    traefik-5857d87f85-v9wpf                   1/1     Running   0          7m3s
    trident-svc-595f84dd78-zb8l6               1/1     Running   0          8m54s
    vault-controller-86c94fbf4f-krttq          1/1     Running   0          9m24s
  4. アップグレードが完了して準備完了になったことが Astra のステータス状態で示されていることを確認します。

    kubectl get -o yaml -n [netapp-acc or custom namespace] astracontrolcenters.astra.netapp.io astra

    対応:

    conditions:
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Astra is deployed
        reason: Complete
        status: "True"
        type: Ready
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Upgrading succeeded.
        reason: Complete
        status: "False"
        type: Upgrading

サードパーティサービスをアップグレードします

以前のアップグレード手順では、サードパーティサービス Traefik および Cert-manager はアップグレードされません。オプションで、ここで説明する手順を使用してアップグレードしたり、システムに必要な既存のサービスバージョンを保持したりできます。推奨される Traefik および Certs-manager のアップグレード手順は次のとおりです。

acc-helm -repo をセットアップし、 Traefik と Cert-manager をアップグレードします

  1. ローカル Docker キャッシュにロードされている「 enterprise-helm-repo 」を検索します。

    docker images enterprise-helm-repo

    対応:

    REPOSITORY             TAG         IMAGE ID       CREATED        SIZE
    enterprise-helm-repo   21.10.218   7a182d6b30f3   20 hours ago   464MB
  2. 前の手順のタグを使用してコンテナを開始します。

    docker run -dp 8082:8080 enterprise-helm-repo:21.10.218

    対応:

    940436e67fa86d2c4559ac4987b96bb35588313c2c9ddc9cec195651963f08d8
  3. ローカルホストリポジトリに Helm repo を追加します。

    helm repo add acc-helm-repo http://localhost:8082/

    対応:

    "acc-helm-repo" has been added to your repositories
  4. 次の Python スクリプトを '`et_previous_value.py` のようなファイルとして保存します

    メモ この Python スクリプトは、 Helm 値を保持するために以降のアップグレード手順で使用される 2 つのファイルを作成します。
    #!/usr/bin/env python3
    import json
    import os
    
    NAMESPACE = "netapp-acc"
    
    os.system(f"helm get values traefik -n {NAMESPACE} -o json > traefik_values.json")
    os.system(f"helm get values cert-manager -n {NAMESPACE} -o json > cert_manager_values.json")
    
    # reformat traefik values
    f = open("traefik_values.json", "r")
    traefik_values = {'traefik': json.load(f)}
    f.close()
    
    with open('traefik_values.json', 'w') as output_file:
        json.dump(traefik_values, output_file)
    
    # reformat cert-manager values
    f = open("cert_manager_values.json", "r")
    cm_values = {'cert-manager': json.load(f)}
    f.close()
    
    cm_values['global'] = cm_values['cert-manager']['global']
    del cm_values['cert-manager']['global']
    
    with open('cert_manager_values.json', 'w') as output_file:
        json.dump(cm_values, output_file)
    
    print('Done')
  5. スクリプトを実行します。

    python3.7 ./set_previous_values.py

acc-helm -repo を使用して Traefik サービスを更新します

メモ を用意しておく必要があります acc-helm -repo をセットアップします 次の手順を実行する前に、
  1. GNU wget などの安全なファイル転送ツールを使用して Traefik バンドルをダウンロードします。

    wget http://localhost:8082/traefik-0.2.0.tgz
  2. 画像を抽出します。

    tar -vxzf traefik-0.2.0.tgz
  3. 次のように Traefik CRDs を適用します。

    kubectl apply -f ./traefik/charts/traefik/crds/
  4. アップグレードした Traefik で使用する Helm チャートバージョンを検索します。

    helm search repo acc-helm-repo/traefik

    対応:

    NAME                                    CHART VERSION   APP VERSION DESCRIPTION
    acc-helm-repo/traefik                 0.2.0           2.5.3       Helm chart for Traefik Ingress controller
    acc-helm-repo/traefik-ingressroutes   0.2.0           2.5.3       A Helm chart for Kubernetes
  5. アップグレード用の traefik_value.json ファイルを検証します。

    1. traefik_value.json ファイルを開きます。

    2. 「 imagePullSecret 」フィールドに値があるかどうかを確認します。空の場合は、ファイルから次のテキストを削除します。

      "imagePullSecrets": [{"name": ""}],
    3. 次のように、 traefik 画像が正しい場所に転送され、正しい名前が付けられていることを確認します。

      image: [your_registry_path]/traefik
  6. Traefik 設定をアップグレードします。

    helm upgrade --version 0.2.0 --namespace netapp-acc -f traefik_values.json traefik acc-helm-repo/traefik

    対応:

    Release "traefik" has been upgraded. Happy Helming!
    NAME: traefik
    LAST DEPLOYED: Mon Oct 25 22:53:19 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

Cert-manager サービスを更新します

メモ の設定が完了している必要があります Traefik アップデート および Helm に acc-helm-repo が追加されました 次の手順を実行する前に、
  1. アップグレードした Cert-manager で使用する Helm チャートバージョンを探します。

    helm search repo acc-helm-repo/cert-manager

    対応:

    NAME CHART VERSION APP VERSION DESCRIPTION
    acc-helm-repo/cert-manager 0.3.0 v1.5.4 A Helm chart for cert-manager
    acc-helm-repo/cert-manager-certificates 0.1.0 1.16.0 A Helm chart for Kubernetes
  2. cert_manager_value.json ファイルをアップグレード用に検証します。

    1. cert_manager_value.json ファイルを開きます。

    2. 「 imagePullSecret 」フィールドに値があるかどうかを確認します。空の場合は、ファイルから次のテキストを削除します。

      "imagePullSecrets": [{"name": ""}],
    3. 3 つの cert-manager イメージが正しい場所に転送され、正しい名前が付けられていることを確認します。

  3. Cert-manager 設定をアップグレードします。

    helm upgrade --version 0.3.0 --namespace netapp-acc -f cert_manager_values.json cert-manager acc-helm-repo/cert-manager

    対応:

    Release "cert-manager" has been upgraded. Happy Helming!
    NAME: cert-manager
    LAST DEPLOYED: Tue Nov 23 11:20:05 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

システムステータスを確認します

  1. Astra Control Center にログインします。

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