Apigee ハイブリッドのアップグレード

新しいバージョンへのアップグレード

Apigee ハイブリッドを新しいバージョンにアップグレードするには、次のようにします。

新しいバージョンの apigeectl をダウンロードしてインストールする。

apigeectl は、Apigee ハイブリッドを Kubernetes クラスタにインストールして管理するためのコマンドライン インターフェース(CLI)です。

アップグレードするバージョンの apigeectl をダウンロードします。

  1. ご利用のオペレーティング システムに対応したリリース パッケージをダウンロードします。

    Mac 64 ビット:

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

    Linux 64 ビット

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

    Mac 32 ビット:

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

    Linux 32 ビット

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/version_number/apigeectl_linux_32.tar.gz
  2. Apigee ハイブリッドが初めてインストールされた時に作成されたベース インストール ディレクトリを特定します。ベース ディレクトリは、$APIGEEGTL_HOME ディレクトリがあるディレクトリです。次の例では、ベース ディレクトリは /Users/myhome/hybrid になります。

    echo $APIGEECTL_HOME
    /Users/myhome/hybrid/apigeectl
  3. ダウンロードした gzip ファイルの内容を Apigee ハイブリッドのベース ディレクトリに展開します。

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. cd でベース ディレクトリに移動します。
  5. デフォルトでは、tar の内容が展開されるディレクトリの名前には、バージョンとプラットフォームが含まれます。例: ./apigeectl_1.2.0-f7b96a8_linux_64

  6. 現在の apigeectl ディレクトリ名を変更します。たとえば、現在のバージョンが 1.1.1 の場合は、apigeectl ディレクトリの名前を apigeectl_1.1.1 に変更します。
  7. 新しく展開したインストール ディレクトリの名前を apigeectl に変更します。これで、環境 $APIGEECTL_HOME が上記のディレクトリを指定するようになりました。
  8. ハイブリッドのランタイム名前空間の完了したジョブをクリーンアップします。ここで、名前空間を指定した場合、namespace は、オーバーライド ファイルで指定された名前空間です。名前空間を指定しない場合、デフォルトの名前空間は apigee です。
    kubectl delete job -n namespace \
      $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  9. apigee-system 名前空間の完了したジョブをクリーンアップします。
    kubectl delete job -n apigee-system \
      $(kubectl get job -n apigee-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  10. istio-system 名前空間の完了したジョブをクリーンアップします。
    kubectl delete job -n istio-system \
      $(kubectl get job -n istio-system -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  11. cd./hybrid-files ディレクトリに移動します。
  12. 新しいバージョンの apigeectl を初期化します。
    $APIGEECTL_HOME/apigeectl init -f my-overrides.yaml
  13. 初期化が完了したことを確認するには、次のコマンドを実行します。
    $APIGEECTL_HOME/apigeectl check-ready -f my-overrides.yaml
  14. check-ready が正常に終了したら、apigeectl apply を実行します。
    $APIGEECTL_HOME/apigeectl apply -f my-overrides.yaml
  15. check-ready を再実行して、アップグレードが完了したことを確認します。

アップグレードのロールバック

以前のアップグレードをロールバックする手順は次のとおりです。

  1. 完了したジョブをクリーンアップします。
    kubectl delete job -n namespace $(kubectl get job -n namespace -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
  2. ロールバックするインストールのルート ディレクトリで、apigeectl init を実行し、続いて apigeectl apply を実行します。
      $APIGEECTL_HOME/apigeectl init -f my-overrides.yaml
      $APIGEECTL_HOME/apigeectl apply -f my-overrides.yaml