この手順では、Apigee ハイブリッド バージョン 1.10.x から Apigee ハイブリッド バージョン 1.11.2 へのアップグレードと、ハイブリッド 1.11.x の以前のリリースからバージョン 1.11.2 へのアップグレードについて説明します。
マイナー バージョンのアップグレード(バージョン 1.10 から 1.11 など)とパッチリリース アップグレード(1.11.0 から 1.11.2 など)にも同じ手順を使用します。
Apigee ハイブリッドのバージョン 1.9 以前からアップグレードする場合は、ハイブリッドのバージョン 1.11.2 にアップグレードする前に、まずバージョン 1.10 にアップグレードする必要があります。Apigee ハイブリッド バージョン 1.10 へのアップグレードの手順をご覧ください。
バージョン 1.11.2 へのアップグレードの概要
以降のセクションでは、Apigee ハイブリッドのアップグレード手順を次の順番で説明します。
前提条件
以下のアップグレード手順は、Apigee ハイブリッド バージョン 1.10.x がインストールされており、バージョン 1.11.2 にアップグレードすることを前提としています。以前のバージョンから更新する場合は、Apigee ハイブリッド バージョン 1.10 へのアップグレードをご覧ください。
Helm チャートと apigeectl
バージョン 1.11 では、Helm チャートまたは apigeectl
のいずれかを使用して、Apigee ハイブリッドをインストールして管理できます。Apigee では、Helm を使用してインストールを管理することをおすすめします。
apigeectl
を使用した v1.10 から Helm を使用した v1.11 への移行
apigeectl
で管理されるハイブリッド v1.10 インストールから、Helm で管理される Apigee ハイブリッド v1.11 にアップグレードするには:
- まず、apigeectl から Helm チャートへの Apigee ハイブリッドの移行の手順に沿って、v1.10 インストールの Helm を移行します。
- 以下の Helm チャート用の手順に沿って、インストールをアップグレードします。
バージョン 1.11 へのアップグレードを準備する
ハイブリッド インストールをバックアップする(推奨)
Helm
- この手順では、ファイル システム内で Helm チャートをインストールしたディレクトリに対し、環境変数 APIGEE_HELM_CHARTS_HOME を使用します。必要に応じてこのディレクトリに移動し、次のコマンドで変数を定義します。
Linux
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
macOS
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
Windows
set APIGEE_HELM_CHARTS_HOME=%CD%
echo %APIGEE_HELM_CHARTS_HOME%
- バージョン 1.10 の
$APIGEE_HELM_CHARTS_HOME/
ディレクトリのバックアップを作成します。任意のバックアップ プロセスを使用できます。たとえば、次のコマンドを使用して、ディレクトリ全体のtar
ファイルを作成します。tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.10-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
- Cassandra のバックアップと復元の手順で Cassandra データベースをバックアップします。
- オーバーライドでサービス証明書ファイル(
.json
)を使用してサービス アカウントを認証している場合は、サービス アカウント証明書ファイルが正しい Helm チャート ディレクトリにあることを確認してください。Helm チャートは、各チャート ディレクトリ外のファイルを読み取ることができません。Kubernetes Secret または Workload Identity を使用してサービス アカウントを認証している場合は、この手順は必要ありません。
次の表に、インストールの種類に応じた各サービス アカウント ファイルの移動先を示します。
本番環境
サービス アカウント デフォルトのファイル名 Helm チャートのディレクトリ apigee-cassandra
PROJECT_ID-apigee-cassandra.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
apigee-logger
PROJECT_ID-apigee-logger.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-mart
PROJECT_ID-apigee-mart.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-metrics
PROJECT_ID-apigee-metrics.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-runtime
PROJECT_ID-apigee-runtime.json
$APIGEE_HELM_CHARTS_HOME/apigee-env
apigee-synchronizer
PROJECT_ID-apigee-synchronizer.json
$APIGEE_HELM_CHARTS_HOME/apigee-env/
apigee-udca
PROJECT_ID-apigee-udca.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-watcher
PROJECT_ID-apigee-watcher.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
非本番環境
次の各ディレクトリに、
apigee-non-prod
サービス アカウント ファイルのコピーを作成します。サービス アカウント デフォルトのファイル名 Helm チャートのディレクトリ apigee-non-prod
PROJECT_ID-apigee-non-prod.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
$APIGEE_HELM_CHARTS_HOME/apigee-org/
$APIGEE_HELM_CHARTS_HOME/apigee-env/
-
TLS 証明書ファイルと鍵ファイル(
.crt
、.key
、.pem
)が$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/
ディレクトリにあることを確認します。
apigeectl
手順の例では、次のディレクトリ構造を使用します。実際のインストール環境は異なる場合があります。使用するインストールの構造に合わせて手順を変更してください。
hybrid-v1.11-root-directory/ └── apigeectl/ └── config/ └── plugins/ └── templates/ └── tools/ └── hybrid-files/ └── overrides/ └── service-accounts/ └── certs/ hybrid-v1.10-root-directory/
- この手順では、
apigeectl
をインストールしたファイル システム内のディレクトリを環境変数 APIGEECTL_HOME で表しています。必要に応じて、ディレクトリをapigeectl
ディレクトリに変更し、次のコマンドで変数を定義します。Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
macOS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- バージョン 1.10 の
$APIGEECTL_HOME/
ディレクトリのバックアップを作成します。次に例を示します。tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-backup.tar.gz $APIGEECTL_HOME
- Cassandra のバックアップと復元の手順に沿って Cassandra データベースをバックアップします。
Kubernetes のバージョンをアップグレードする
Kubernetes プラットフォームのバージョンを確認し、必要に応じてハイブリッド 1.10 とハイブリッド 1.11 の両方でサポートされているバージョンにアップグレードします。ヘルプが必要な場合は、プラットフォームのドキュメントをご覧ください。
ハイブリッド 1.11.2 ランタイムをインストールする
Helm
Helm チャートのアップグレードを準備する
apigee-operator
チャートとapigee-env
チャートで正しいタグ1.11.2-hotfix.2
を使用できるように、overrides.yaml ファイルを次のように変更します。ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.11.2-hotfix.2" runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.11.2-hotfix.2"
Apigee 1.11.2-hotfix.2 リリースノートをご覧ください。
- Apigee Helm チャートを pull します。
Apigee ハイブリッド チャートは Google Artifact Registry でホストされます。
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
次のコマンドで
pull
コマンドを使用して、すべての Apigee ハイブリッド Helm チャートをローカル ストレージにコピーします。export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.11.2
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- 必要に応じて、cert-manager をインストールします。
cert-manager のバージョンをアップグレードする必要がある場合は、次のコマンドを使用して、新しいバージョンをインストールします。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cert-manager.yaml
- 更新された Apigee CRD をインストールします。
-
次のコマンドを実行して、
kubectl
ドライラン機能を使用します。kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server
-
dry-run コマンドで検証した後、次のコマンドを実行します。
kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
kubectl get crds
コマンドを使用してインストールを検証します。kubectl get crds | grep apigee
出力は次のようになります。
apigeedatastores.apigee.cloud.google.com 2023-10-09T14:48:30Z apigeedeployments.apigee.cloud.google.com 2023-10-09T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2023-10-09T14:48:31Z apigeeissues.apigee.cloud.google.com 2023-10-09T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2023-10-09T14:48:32Z apigeeredis.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeeroutes.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2023-10-09T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2023-10-09T14:48:35Z
-
-
クラスタノードの既存のラベルを確認します。デフォルトでは、Apigee はラベルが
cloud.google.com/gke-nodepool=apigee-data
のノードでデータ Pod をスケジューリングし、ランタイム Pod はラベルがcloud.google.com/gke-nodepool=apigee-runtime
のノードでスケジューリングされます。ノードプールのラベルは、overrides.yaml
ファイルでカスタマイズできます。詳細については、専用ノードプールの構成をご覧ください。
Apigee ハイブリッド Helm チャートをインストールする
- まだ行っていない場合は、
APIGEE_HELM_CHARTS_HOME
ディレクトリに移動します。このディレクトリから次のコマンドを実行します。 - Apigee Operator/Controller をアップグレードします。
ドライランを実行します。
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ -f OVERRIDES_FILE
Apigee Operator のインストールを確認します。
helm ls -n apigee-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee-system 3 2023-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.11.2 1.11.2
可用性をチェックして、稼働していることを確認します。
kubectl -n apigee-system get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
- Apigee データストアをアップグレードします。
ドライランを実行します。
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
状態をチェックして、
apigeedatastore
が稼働していることを確認します。kubectl -n apigee get apigeedatastore default
NAME STATE AGE default running 2d
- Apigee テレメトリーをアップグレードします。
ドライランを実行します。
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
状態をチェックして、稼働していることを確認します。
kubectl -n apigee get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
- Apigee Redis をアップグレードします。
ドライランを実行します。
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
状態をチェックして、稼働していることを確認します。
kubectl -n apigee get apigeeredis default
NAME STATE AGE default running 2d
- Apigee Ingress Manager をアップグレードします。
ドライランを実行します。
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
可用性をチェックして、稼働していることを確認します。
kubectl -n apigee get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
- Apigee 組織をアップグレードします。
ドライランを実行します。
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE \ --dry-run
チャートをアップグレードします。
helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
それぞれの組織の状態をチェックして、稼働していることを確認します。
kubectl -n apigee get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
- 環境をアップグレードします。
同時にインストールできる環境は 1 つだけです。
--set env=
ENV_NAME で環境を指定します。ドライランを実行します。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run
- ENV_RELEASE_NAME は、以前に
apigee-env
チャートをインストールしたときに使用した名前です。ハイブリッド v1.10 では通常、apigee-env-ENV_NAME
です。ハイブリッド v1.11 以降では、通常は ENV_NAME です。 - ENV_NAME はアップグレードする環境の名前です。
- OVERRIDES_FILE は、v.1.11.2 の新しいオーバーライド ファイルです。
チャートをアップグレードします。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --set env=ENV_NAME \ -f OVERRIDES_FILE
それぞれの環境の状態をチェックして、稼働していることを確認します。
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
- ENV_RELEASE_NAME は、以前に
-
環境グループ(
virtualhosts
)をアップグレードします。- 一度にアップグレードできる環境グループ(virtualhost)は 1 つだけです。
--set envgroup=
ENV_GROUP_NAME を使用して環境グループを指定します。overrides.yaml ファイルに記載されている env グループごとに、次のコマンドを繰り返します。ドライランを実行します。
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run
ENV_GROUP_RELEASE_NAME は、以前に
apigee-virtualhost
チャートをインストールしたときに使用した名前です。ハイブリッド v1.10 では通常、apigee-virtualhost-ENV_GROUP_NAME
です。ハイブリッド v1.11 以降では、通常は ENV_GROUP_NAME です。チャートをアップグレードします。
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE
- ApigeeRoute(AR)の状態を確認します。
virtualhosts
をインストールすると、ApigeeRouteConfig(ARC)が作成されます。これにより、Apigee ウォッチャーがコントロール プレーンから env グループ関連の詳細を pull した時点で、ApigeeRoute(AR)が内部で作成されます。このため、対応する AR の状態が実行中であることを確認します。kubectl -n apigee get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- 一度にアップグレードできる環境グループ(virtualhost)は 1 つだけです。
apigeectl
- 次のコマンドを使用して、最新のバージョン番号を変数に格納します。
Linux
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
macOS
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)
Windows
for /f "tokens=*" %a in ('curl -s ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^ do set VERSION=%a
-
次のコマンドを使用して、変数にバージョン番号が挿入されていることを確認します。別のバージョンを使用する場合は、そのバージョンを環境変数に格納してください。
echo $VERSION
最新の Apigee ハイブリッド バージョンが表示されます。
1.11.2
- 現在のディレクトリがハイブリッド ベース ディレクトリ(
apigeectl
実行可能ファイルが配置されているディレクトリの親)であることを確認します。cd $APIGEECTL_HOME/..
-
次のコマンドを使用して、ご使用のオペレーティング システムに対応したリリース パッケージをダウンロードします。ご利用のプラットフォームを次の表から選択します。
Linux
Linux 64 ビット:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
macOS
Mac 64 ビット:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Windows
Windows 64 ビット:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/%VERSION%/apigeectl_windows_64.zip
- 現在の
apigeectl/
ディレクトリをバックアップ ディレクトリ名に変更します。次に例を示します。Linux
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/
macOS
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/
Windows
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.10
-
ダウンロードした gzip ファイルの内容をハイブリッドのベース ディレクトリに展開します。ハイブリッドのベース ディレクトリは、名前を変更した
apigeectl-v1.10
ディレクトリのあるディレクトリです。Linux
tar xvzf filename.tar.gz -C ./
macOS
tar xvzf filename.tar.gz -C ./
Windows
tar xvzf filename.zip -C ./
-
デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれています。たとえば、
./apigeectl_1.11.2-xxxxxxx_linux_64
となります。次のコマンドを使用して、このディレクトリの名前をapigeectl
に変更します。Linux
mv apigeectl_1.11.2-xxxxxxx_linux_64 apigeectl
macOS
mv apigeectl_1.11.2-xxxxxxx_mac_64 apigeectl
Windows
rename apigeectl_1.11.2-xxxxxxx_windows_64 apigeectl
apigeectl
ディレクトリに移動します。cd ./apigeectl
このディレクトリは
apigeectl
ホーム ディレクトリになります。apigeectl
実行可能コマンドはこのディレクトリに配置されます。- この手順では、
apigeectl
ユーティリティがインストールされているファイル システムのディレクトリを環境変数$APIGEECTL_HOME
で表しています。必要に応じて、ディレクトリをapigeectl
ディレクトリに変更し、次のコマンドで変数を定義します。Linux
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
macOS
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
Windows
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
version
コマンドでapigeectl
のバージョンを確認します。./apigeectl version
Version: 1.11.2
hybrid-base-directory/hybrid-files
ディレクトリを作成し、そのディレクトリに移動します。hybrid-files
ディレクトリには、オーバーライド ファイル、証明書、サービス アカウントなどの構成ファイルがあります。次に例を示します。Linux
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
macOS
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
Windows
mkdir %APIGEECTL_HOME%/../hybrid-files
cd %APIGEECTL_HOME%/../hybrid-files
- 次のコマンドを使用して、
kubectl
が正しいコンテキストに設定されていることを確認します。現在のコンテキストは、Apigee ハイブリッドをアップグレードするクラスタに設定する必要があります。kubectl config get-contexts | grep \*
hybrid-files
ディレクトリ:-
以下の
$APIGEECTL_HOME
へのシンボリック リンクを更新します。このリンクを使用すると、hybrid-files
ディレクトリ内から新しくインストールされたapigeectl
コマンドを実行できます。ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins - シンボリック リンクが正しく作成されたことを確認するには、次のコマンドを実行してリンクパスが正しい場所を指していることを確認します。
ls -l | grep ^l
-
以下の
- overrides.yaml ファイルを次のように変更して、オペレーターとランタイムで正しいタグ
1.11.2-hotfix.2
を使用できるようにします。ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.11.2-hotfix.2" runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.11.2-hotfix.2"
Apigee 1.11.2-hotfix.2 リリースノートをご覧ください。
- ドライランの初期化を行ってエラーを確認します。
${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=client
ここで、OVERRIDES_FILE はオーバーライド ファイルの名前です(例:
./overrides/overrides.yaml
)。 - エラーがなければ、ハイブリッド 1.11.2 を初期化します。
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
- 初期化のステータスを確認します。
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
成功すると、「
All containers ready.
」と出力されます。kubectl describe apigeeds -n apigee
出力で「
State: running
」を探します。 --dry-run
フラグを使用して、apply
コマンドのドライランでエラーを確認します。$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --dry-run=client
- エラーがない場合、オーバーライドを適用します。インストールに応じて、本番環境または非本番環境用の手順を実施します。
本番環境
本番環境では、ハイブリッド コンポーネントを個別にアップグレードし、アップグレードされたコンポーネントのステータスを確認してから次のコンポーネントに進んでください。
- 現在のディレクトリが
hybrid-files
ディレクトリであることを確認します。 - オーバーライドを適用して Cassandra をアップグレードします。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore
- 完了を確認します。
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
Pod の準備ができた場合にのみ、次の手順に進みます。
- オーバーライドを適用してテレメトリー コンポーネントをアップグレードし、完了を確認します。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- Redis コンポーネントを起動します。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis
- オーバーライドを適用して、組織レベルのコンポーネント(MART、Watcher、Apigee Connect)をアップグレードし、完了を確認します。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --org
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- オーバーライドを適用して環境をアップグレードします。次の 2 つの選択肢があります。
- 環境ごと: 一度に 1 つの環境にオーバーライドを適用して、完了を確認します。この手順を環境ごとに繰り返します。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
ここで、ENV_NAME はアップグレードする環境の名前です。
- 一度にすべての環境: すべての環境にオーバーライドを一度に適用して、完了を確認します。
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --all-envs
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- 環境ごと: 一度に 1 つの環境にオーバーライドを適用して、完了を確認します。この手順を環境ごとに繰り返します。
- オーバーライドを適用して
virtualhosts
コンポーネントをアップグレードし、完了を確認します。$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
非本番環境
非本番環境、デモ環境、試験運用版環境の大半では、すべてのコンポーネントに同時にオーバーライドを適用できます。非本番環境が大規模で複雑な場合や、本番環境とよく似ている場合は、本番環境をアップグレードするための手順の実施をおすすめします。
- 現在のディレクトリが
hybrid-files
ディレクトリであることを確認します。 $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE
- ステータスを確認します。
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
- 現在のディレクトリが
アップグレードのロールバック
以前のアップグレードをロールバックする手順は次のとおりです。
Helm
以前のバージョンにロールバックするには、以前のインストールのチャートとオーバーライド ファイルを使用します。
- 次の環境変数を作成します。
- PREVIOUS_HELM_CHARTS_HOME: 以前の Apigee ハイブリッド Helm チャートがインストールされているディレクトリ。これはロールバックするバージョンです。
- 仮想ホストをロールバックします。オーバーライド ファイルに記載されている環境グループごとに、次のコマンドを繰り返します。
helm upgrade ENV_GROUP_RELEASE_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-virtualhost/ \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f PREVIOUS_OVERRIDES_FILE
ENV_GROUP_RELEASE_NAME は、以前に
apigee-virtualhost
チャートをインストールしたときに使用した名前です。ハイブリッド v1.10 では通常、apigee-virtualhost-ENV_GROUP_NAME
です。ハイブリッド v1.11 以降では、通常は ENV_GROUP_NAME です。 - 環境をロールバックします。オーバーライド ファイルに記載されている環境ごとに、次のコマンドを繰り返します。
helm upgrade apigee-env-ENV_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f PREVIOUS_OVERRIDES_FILE
ENV_RELEASE_NAME は、以前に
apigee-env
チャートをインストールしたときに使用した名前です。ハイブリッド v1.10 では通常、apigee-env-ENV_NAME
です。ハイブリッド v1.11 以降では、通常は ENV_NAME です。 - 組織をロールバックします。
helm upgrade ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Ingress Manager をロールバックします。
helm upgrade ingress-manager $PREVIOUS_HELM_CHARTS_HOME/apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Redis をロールバックします。
helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Apigee テレメトリーをロールバックします。
helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Apigee Datastore(Cassandra データベース コンポーネント)をロールバックします。
helm upgrade datastore $PREVIOUS_HELM_CHARTS_HOME/apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Apigee コントローラをロールバックします。
helm upgrade operator $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f PREVIOUS_OVERRIDES_FILE
- Apigee ハイブリッド CRD をロールバックします。
kubectl apply -k $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
apigeectl
- ハイブリッド ランタイムの名前空間に対して、完了したジョブのクリーンアップを行います。ここで、名前空間を指定した場合、NAMESPACE はオーバーライド ファイルで指定した名前空間になります。指定しない場合、デフォルトの名前空間は
apigee
です。kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
apigee-system
名前空間で完了したジョブをクリーンアップします。kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- 以前のバージョンの
apigeectl
を含むディレクトリを指すようにAPIGEECTL_HOME
変数を変更します。次に例を示します。export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY
- ロールバックするインストールのルート ディレクトリで、次のコマンドを実行します。ロールバックするバージョンの元のオーバーライド ファイルを必ず使用してください。
- ハイブリッド ファイル ディレクトリで
apigeectl apply
を実行します。$APIGEECTL_HOME
/apigeectl apply -f ORIGINAL_OVERRIDES_FILEここで、ORIGINAL_OVERRIDES_FILE は、以前のバージョンのハイブリッド インストールのオーバーライド ファイルの相対パスとファイル名です(例:
./overrides/overrides1.10.yaml
)。 - Pod のステータスを確認します。
kubectl -n NAMESPACE get pods
ここで、NAMESPACE は Apigee ハイブリッドの名前空間です。
apigeeds
のステータスを確認します。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
apigeeds
Pod が実行されている場合にのみ、次の手順に進みます。- 次のコマンドを実行して、アップグレード後に Message Processor の新しいレプリカ数の値をメモします。これらの値が、以前に構成した値と一致しない場合は、オーバーライド ファイルの値を以前の構成と一致するように変更します。
apigeectl apply -f ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2
出力は次のようになります。
autoScaler: minReplicas: 2 maxReplicas: 10
apigeectl init
を実行します。$APIGEECTL_HOME
/apigeectl init -f ORIGINAL_OVERRIDES_FILE
- ハイブリッド ファイル ディレクトリで