Apigee ハイブリッドのバージョン 1.4 へのアップグレード

バージョン 1.4.4 へのアップグレードの概要

以降のセクションでは、Apigee Hybrid のアップグレード手順を次の順番で説明します。

  1. ハイブリッド インストールをバックアップします。
  2. Kubernetes のバージョンを確認し、必要に応じてアップグレードします。
  3. ASM をアップグレードします。
  4. ハイブリッド ランタイム バージョン 1.4 をインストールします。

前提条件

バージョン 1.4 にアップグレードする

  1. (推奨)バージョン 1.3 の $APIGEECTL_HOME/ ディレクトリのバックアップを作成します。次に例を示します。
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (推奨)Cassandra のバックアップと復元の手順に従って Cassandra データベースをバックアップします。
  3. Kubernetes プラットフォームをアップグレードする方法は次のとおりです。ヘルプが必要な場合は、プラットフォームのドキュメントをご覧ください。
    プラットフォーム アップグレード後のバージョン
    GKE 1.18.x
    GKE On-Prem(Anthos) 1.5.x
    AKS Anthos アタッチ クラスタを使用する 1.18.x
    EKS Anthos アタッチ クラスタを使用する 1.18.x
  4. ASM をバージョン 1.6.x にアップグレードします。
    1. ASM ドキュメントを使用してアップグレードを実行する。
    2. 次の Ingress ポートを指定し、istio-operator.yaml ファイルで runAsRoot プロパティを true に設定します。
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. istio-operator.yaml ファイルで mTLS を無効にするために PeerAuthentication CR を作成します。
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. ASM ドキュメントに記載されているように、istioctl を使用してこれらの変更を適用します。

ハイブリッド 1.4.4 ランタイムをインストールする

  1. 最新のバージョン番号を変数に保存します。
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. 変数にバージョン番号が挿入されていることを確認します。別のバージョンを使用する場合は、そのバージョンを代わりに環境変数に保存してください。次に例を示します。
    echo $VERSION
      1.4.4
  3. ご使用のオペレーティング システムに対応したリリース パッケージをダウンロードします。

    Mac 64 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux 32 ビット:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. 現在の apigeectl/ ディレクトリをバックアップ ディレクトリ名に変更します。次に例を示します。
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. ダウンロードした gzip ファイルの内容をハイブリッドのベース ディレクトリに展開します。次に例を示します。

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd でベース ディレクトリに移動します。
  7. デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれています。例: ./apigeectl_1.4.4-xxx_linux_64。このディレクトリの名前を apigeectl に変更します。

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. 新しい apigeectl/ ディレクトリで、apigeectl initapigeectl applyapigeectl check-ready を実行します。
    1. ハイブリッド 1.4.4 を初期化します。
      apigeectl init -f overrides.yaml

      ここで、overrides.yaml は編集した overrides.yaml ファイルです。

    2. 次のコマンドを使用して、正しく初期化されていることを確認します。
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      出力は次のようになります。

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running
      
    3. apigeectl --dry-run フラグの構文は、実行している kubectl のバージョンによって異なります。kubectl のバージョンを確認します。
      gcloud version
    4. 使用しているバージョンの kubectl に適したコマンドを使用して、ドライランでエラーを確認します。

      kubectl バージョン 1.17 以前:

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl バージョン 1.18 以降:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. オーバーライドを適用します。インストールの環境に応じて、本番環境またはデモ / 試験運用版環境の手順を選択して従います。

      本番

      本番環境では各ハイブリッド コンポーネントを個別にアップグレードし、次のコンポーネントに進む前に、アップグレードされたコンポーネントのステータスを確認します。

      1. オーバーライドを適用して Cassandra をアップグレードします。
        apigeectl apply -f overrides.yaml --datastore
      2. 完了を確認します。
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        ここで、namespace は Apigee ハイブリッドの名前空間です。

        Pod の準備ができた場合にのみ、次の手順に進みます。

      3. オーバーライドを適用してテレメトリー コンポーネントをアップグレードし、完了を確認します。
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. オーバーライドを適用して、組織レベルのコンポーネント(MART、Watcher、Apigee Connect)をアップグレードし、完了を確認します。
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. オーバーライドを適用して環境をアップグレードします。これには、次の 2 つの選択肢があります。
        • 環境別の環境: 一度に 1 つの環境にオーバーライドを適用して、完了を確認します。環境ごとにこの手順を繰り返します。
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          ここで、env_name はアップグレードする環境の名前です。

        • 一度にすべての環境: すべての環境にオーバーライドを一度に適用して、完了を確認します。
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      デモ / 試験運用版

      ほとんどのデモまたは試験運用環境では、すべてのコンポーネントにオーバーライドを一度に適用できます。デモ / 試験運用版が大規模で複雑な環境、または本番環境が似ている場合や本番環境に酷似している場合は、本番環境のアップグレード手順を使用します。

      1. apigeectl apply -f overrides.yaml
      2. ステータスを確認します。
        apigeectl check-ready -f overrides.yaml

    これで完了です。Apigee ハイブリッド バージョン 1.4.4 に正常にアップグレードされました。