バージョン 1.4.4 へのアップグレードの概要
以降のセクションでは、Apigee Hybrid のアップグレード手順を次の順番で説明します。
- ハイブリッド インストールをバックアップします。
- Kubernetes のバージョンを確認し、必要に応じてアップグレードします。
- ASM をアップグレードします。
- ハイブリッド ランタイム バージョン 1.4 をインストールします。
前提条件
- Apigee ハイブリッド バージョン 1.3。以前のバージョンから更新する場合は、Apigee ハイブリッド バージョン 1.3 へのアップグレードをご覧ください。
バージョン 1.4 にアップグレードする
- (推奨)バージョン 1.3 の
$APIGEECTL_HOME/
ディレクトリのバックアップを作成します。次に例を示します。tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
- (推奨)Cassandra のバックアップと復元の手順に従って Cassandra データベースをバックアップします。
- Kubernetes プラットフォームをアップグレードする方法は次のとおりです。ヘルプが必要な場合は、プラットフォームのドキュメントをご覧ください。
プラットフォーム アップグレード後のバージョン GKE 1.18.x GKE On-Prem(Anthos) 1.5.x AKS Anthos アタッチ クラスタを使用する 1.18.x EKS Anthos アタッチ クラスタを使用する 1.18.x - ASM をバージョン 1.6.x にアップグレードします。
- ASM ドキュメントを使用してアップグレードを実行する。
- GKE On-Prem(Anthos): オンプレミスでの Anthos Service Mesh のアップグレード
- 他のすべてのプラットフォーム: GKE での Anthos Service Mesh のアップグレード
- 次の 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
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
- ASM ドキュメントに記載されているように、
istioctl
を使用してこれらの変更を適用します。 - GKE On-Prem(Anthos): コントロール プレーンの更新
- 他のすべてのプラットフォーム: コントロール プレーンの更新
- ASM ドキュメントを使用してアップグレードを実行する。
ハイブリッド 1.4.4 ランタイムをインストールする
- 最新のバージョン番号を変数に保存します。
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
- 変数にバージョン番号が挿入されていることを確認します。別のバージョンを使用する場合は、そのバージョンを代わりに環境変数に保存してください。次に例を示します。
echo $VERSION
1.4.4
ご使用のオペレーティング システムに対応したリリース パッケージをダウンロードします。
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
- 現在の
apigeectl/
ディレクトリをバックアップ ディレクトリ名に変更します。次に例を示します。mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/
-
ダウンロードした gzip ファイルの内容をハイブリッドのベース ディレクトリに展開します。次に例を示します。
tar xvzf filename.tar.gz -C hybrid-base-directory
cd
でベース ディレクトリに移動します。-
デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれています。例:
./apigeectl_1.4.4-xxx_linux_64
。このディレクトリの名前をapigeectl
に変更します。mv apigeectl_1.4.5-xxx_linux_64 apigeectl
- 新しい
apigeectl/
ディレクトリで、apigeectl init
、apigeectl apply
、apigeectl check-ready
を実行します。- ハイブリッド 1.4.4 を初期化します。
apigeectl init -f overrides.yaml
ここで、overrides.yaml は編集した overrides.yaml ファイルです。
- 次のコマンドを使用して、正しく初期化されていることを確認します。
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
apigeectl
--dry-run
フラグの構文は、実行しているkubectl
のバージョンによって異なります。kubectl
のバージョンを確認します。gcloud version
- 使用しているバージョンの
kubectl
に適したコマンドを使用して、ドライランでエラーを確認します。kubectl
バージョン 1.17 以前:apigeectl apply -f overrides.yaml --dry-run=true
kubectl
バージョン 1.18 以降:apigeectl apply -f overrides.yaml --dry-run=client
- オーバーライドを適用します。インストールの環境に応じて、本番環境またはデモ / 試験運用版環境の手順を選択して従います。
本番
本番環境では各ハイブリッド コンポーネントを個別にアップグレードし、次のコンポーネントに進む前に、アップグレードされたコンポーネントのステータスを確認します。
- オーバーライドを適用して Cassandra をアップグレードします。
apigeectl apply -f overrides.yaml --datastore
- 完了を確認します。
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
ここで、namespace は Apigee ハイブリッドの名前空間です。
Pod の準備ができた場合にのみ、次の手順に進みます。
- オーバーライドを適用してテレメトリー コンポーネントをアップグレードし、完了を確認します。
apigeectl apply -f overrides.yaml --telemetry
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- オーバーライドを適用して、組織レベルのコンポーネント(MART、Watcher、Apigee Connect)をアップグレードし、完了を確認します。
apigeectl apply -f overrides.yaml --org
kubectl -n namespace get pods
apigeectl check-ready -f overrides.yaml
- オーバーライドを適用して環境をアップグレードします。これには、次の 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
- ステータスを確認します。
apigeectl check-ready -f overrides.yaml
- オーバーライドを適用して Cassandra をアップグレードします。
これで完了です。Apigee ハイブリッド バージョン 1.4.4 に正常にアップグレードされました。
- ハイブリッド 1.4.4 を初期化します。