インプレース アップグレード

istioctl upgrade コマンドは、Istio のアップグレードを実行します。

アップグレードコマンドは、Istio のダウングレードも実行できます。

istioctl upgrade コマンドで提供されるすべてのオプションについては、istioctl アップグレードのリファレンスを参照してください。

アップグレードの前提条件

アップグレードプロセスを開始する前に、以下の前提条件を確認してください。

  • インストールされている Istio のバージョンは、アップグレードバージョンよりマイナーバージョンが1つ以上古くないこと。たとえば、1.7.xへのアップグレードプロセスを開始する前に、1.6.0以上が必要です。

  • Istio のインストールがistioctlを使用してインストールされていること。

アップグレードの手順

このセクションのコマンドは、ダウンロードしたパッケージの bin/ サブディレクトリにある新しいバージョンの istioctl を使用して実行する必要があります。

  1. 新しい Istio リリースをダウンロードし、新しいリリースディレクトリに移動します。

  2. Kubernetes の設定が、アップグレードするクラスタを指していることを確認します。

    $ kubectl config view
    
  3. アップグレードがお使いの環境と互換性があることを確認します。

    $ istioctl x precheck
    ✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
    To get started, check out https://istio.dokyumento.jp/latest/docs/setup/getting-started/
    
  4. このコマンドを実行してアップグレードを開始します。

    $ istioctl upgrade
    

    --set フラグを使用して Istio をインストールした場合は、アップグレードにも同じ --set フラグを渡すようにしてください。そうしないと、--set で行ったカスタマイズが元に戻ります。本番環境での使用には、--set の代わりに構成ファイルを使用することをお勧めします。

    -f フラグを省略すると、Istio はデフォルトプロファイルを使用してアップグレードします。

    いくつかのチェックを実行した後、istioctl は続行するかどうかを確認するように求めてきます。

  5. istioctl は、Istio コントロールプレーンとゲートウェイを新しいバージョンにインプレースアップグレードし、完了ステータスを示します。

  6. istioctl がアップグレードを完了したら、Istio サイドカーを持つすべてのポッドを再起動して、Istio データプレーンを手動で更新する必要があります。

    $ kubectl rollout restart deployment
    

ダウングレードの前提条件

ダウングレードプロセスを開始する前に、以下の前提条件を確認してください。

  • Istio のインストールがistioctlを使用してインストールされていること。

  • ダウングレードしようとする Istio のバージョンは、インストールされている Istio のバージョンよりもマイナーバージョンが1つ以上古くないこと。たとえば、Istio 1.7.x から Istio 1.6.0 より低いバージョンにダウングレードすることはできません。

  • ダウングレードは、ダウングレードしようとする Istio のバージョンに対応する istioctl バイナリバージョンを使用して行う必要があります。たとえば、Istio 1.7 から 1.6.5 にダウングレードする場合は、istioctl バージョン 1.6.5 を使用します。

旧バージョンのIstioへのダウングレード手順

istioctl upgrade を使用して、Istio の旧バージョンにダウングレードできます。手順は前のセクションで説明したアップグレードプロセスと同じですが、旧バージョン(例:1.6.5)に対応する istioctl バイナリを使用する点が異なります。完了すると、Istio は以前インストールされていたバージョンに復元されます。

または、istioctl install を使用して、Istio コントロールプレーンの古いバージョンをインストールすることもできます。

この情報は役に立ちましたか?
改善のための提案はありますか?

フィードバックありがとうございます!