更新 Istio

マネージド・アドオンによってインストールされたバージョンの Istio を更新する際は、 istioctl を使用しないでください。 更新されると、マネージド Istio アドオンには、 Istio バージョンの更新も含まれます。 サポートされている Istio のバージョンは、 IBM Cloud でテストされ、 IBM Cloud Kubernetes Service での使用が承認されている。

開始前に

  • Istio アドオンは、一度に 1 つのバージョンのみを手動で更新できます。 Istio アドオンを2つ以上のバージョンで更新するには、手動更新プロセスを繰り返すか、アドオンを アンインストールしてから 後のバージョンを インストール します。

  • 管理対象 Istio アドオンを前のバージョンに戻すことはできません。 以前のマイナーバージョンに戻すには、アドオンを アンインストールしてから 以前のバージョンを インストール する必要があります。

  • istio-system 名前空間内の Istio コントロール・コンポーネントを最新のマイナー・バージョンに更新すると、抜本的な変更が発生する場合があります。 マイナー・バージョンの更新中に発生する以下の変更を確認します。

    • コントロール・プレーン・ポッドに更新がロールアウトされると、ポッドが再作成されます。 Istio コントロール・プレーンは、更新が完了するまで完全には使用できません。
    • Istio データ・プレーンは、更新中も機能し続けます。 ただし、サービス・メッシュ内のアプリへのトラフィックの一部は、短時間中断される可能性があります。
    • istio-ingressgateway ロード・バランサーの外部 IP アドレスは、更新の実行中に変更されることも、更新後に変更されることもありません。

Istio アドオンのマイナーバージョンへの更新

始める前に

すべてのバージョンアップに適用される 前提条件を 確認してください。

Istio アドオンのマイナーバージョンを更新するには:

  1. 使用可能な Istio アドオン・バージョンを確認します。

    ibmcloud ks addon-versions
    
  2. 各バージョンの変更点については、「 Istio 」アドオンの変更履歴 をご確認ください。

  3. Istio アドオンを更新します。

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. 次に進む前に、更新が完了していることを確認します。

    更新処理が完了するまでに、最大で 20 分かかる場合があります。

    1. Istio アドオンの Health Statenormal で、Health StatusAddon Ready であることを確認します。 状態が updating の場合、更新はまだ完了していません。
        ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
        ```
    2. `istio-system` 名前空間のコントロール・プレーン・コンポーネント・ポッドの **STATUS** が `Running` であることを確認します。
    ```sh {: pre}
        kubectl get pods -n istio-system
        ```
        ```sh {: screen}
        NAME                                                     READY   STATUS    RESTARTS   AGE
        istio-system    istio-egressgateway-6d4667f999-gjh94     1/1     Running     0          61m
        istio-system    istio-egressgateway-6d4667f999-txh56     1/1     Running     0          61m
        istio-system    istio-ingressgateway-7bbf8d885-b9xgp     1/1     Running     0          61m
        istio-system    istio-ingressgateway-7bbf8d885-xhkv6     1/1     Running     0          61m
        istio-system    istiod-5b9b5bfbb7-jvcjz                  1/1     Running     0          60m
        istio-system    istiod-5b9b5bfbb7-khcht                  1/1     Running     0          60m
        ```
    
  5. istioctl クライアントとサイドカーを更新します

istioctl クライアントとサイドカーの更新

Istio マネージド・アドオンを更新したら、必ず、istioctl クライアントとアプリの Istio サイドカーを更新してください。

例えば、IBM Cloud Kubernetes Service によって自動的にアドオンのパッチ・バージョンが更新されることや、アドオンのマイナー・バージョンを更新することがあります。 どちらの場合も、istioctl クライアントとアプリの既存の Istio サイドカーを、アドオンの Istio バージョンと一致するように更新してください。

  1. istioctl クライアントと Istio アドオン・コントロール・プレーン・コンポーネントのバージョンを取得します。

    istioctl version --short=false
    

    出力例

    client version: version.BuildInfo{Version:"1.11.2"}
    pilot version: version.BuildInfo{Version:1.29.5}
    pilot version: version.BuildInfo{Version:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-vp97p.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-qkhgm.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-dffhq.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"httpbin-74fb669cc6-svc8x.default", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-cs9r9.istio-system", IstioVersion:1.29.5}
    ...
    
  2. 出力で、client version (istioctl) を Istio コントロール・プレーン・コンポーネントのバージョン (pilot version など) と比較します。 client version とコントロール・プレーン・コンポーネントのバージョンが一致しない場合は、以下のようにします。

    1. コントロール・プレーン・コンポーネントと同じバージョンの istioctl クライアントをダウンロードします。
        curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
        ```
    2. Istio パッケージ・ディレクトリーにナビゲートします。
    
    ```sh {: pre}
        cd istio-1.29.5
        ```
    3. Linux および macOS ユーザー: `istioctl` クライアントを `PATH` システム変数に追加します。
    
    ```sh {: pre}
        export PATH=$PWD/bin:$PATH
        ```
    
  3. ステップ 1 の出力で、データ・プレーン・ポッドごとに、pilot versiondata plane version と比較します。

    • pilot versiondata plane version が一致する場合は、追加の更新は必要ありません。
    • pilot versiondata plane version が一致しない場合は、古いバージョンを実行するデータ・プレーン・ポッドのデプロイメントを再始動します。 ポッド名と名前空間は、各エントリーに data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"} としてリストされます。
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    addon-istio 1.24 以降で、カスタムゲートウェイをデプロイしている場合は、より新しい istio/proxyv2 イメージをピックアップするようにアップデートする責任もあります。 カスタムゲートウェイはデータプレーンポッドのリストに表示され、ロールアウトの再起動で更新できる。

サポートされていないバージョンの Istio アドオンからのアップデート

Istio のコンポーネントを、 IBM Cloud Kubernetes Service でサポートされている最新のパッチバージョンに更新してください。

addon-istio 1.26.8 2026年8月10日時点でサポート対象外となります。 その日付までに、 IBM Cloud Kubernetes Service でサポートされている addon-istio 1.29 の最新パッチ版に更新してください。

addon-istio 1.29 IBM Cloud Kubernetes Service の、、および の各バージョンで利用可能であり、サポートされています。 1.33 1.34 1.35 1.26 から 1.29 へアップグレードするには、「 Istio アドオンのマイナーバージョンへの更新」 の手順に従い、 1.26 から 1.27 へ、 1.27 から 1.28 へ、および 1.28 から 1.29 へのすべてのマイナーアップグレードを完了してください。