1.2. InPlace ストラテジーについて


InPlace ストラテジーでは、コントロールプレーンのリビジョンが常に 1 つだけ実行されます。InPlace 更新を実行すると、すべてのワークロードがすぐに新しいバージョンのコントロールプレーンに接続されます。サイドカーとコントロールプレーン間の互換性を確保するために、一度にマイナーバージョンを 2 つ以上超えてアップグレードすることはできません。

1.2.1. InPlace strategy の選択

InPlace ストラテジーを選択するには、Istio リソースの spec.updateStrategy.type の値を InPlace に設定します。

InPlace 更新ストラテジーを選択する仕様例

kind: Istio
spec:
  updateStrategy:
    type: InPlace

この値は、リソースを最初に作成するときに設定することも、後でリソースを編集することもできます。リソースを作成後に編集する場合は、Istio コントロールプレーンを更新する前に変更を行ってください。

1.2.2. ワークロードのコントロールプレーンへのアタッチ

Istio が InPlace ストラテジーを使用するように設定されていると、Operator が作成する IstioRevision リソースは常に Istio リソースと同じ名前になります。InPlace ストラテジーを使用してデプロイされたコントロールプレーンにワークロードを接続するには、istio.io/rev namespace ラベルを IstioRevision の名前に設定します。

メッシュにワークロードをアタッチする istio.io namespace ラベルの例

$ oc label namespace <namespace-name> istio.io/rev=<revision-name>

または、deployment リソース内の Pod テンプレートを変更して、ワークロード Pod にラベルを適用することもできます。

メッシュにワークロードを割り当てる Pod テンプレートの例

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    metadata:
      labels:
        istio.io/rev: <revision-name>
    spec:

リビジョン名が default の場合、namespace または Pod に istio-injection: enabled のラベルを付けることで、ワークロードをリビジョンにアタッチできます。

ワークロードをメッシュにアタッチする istio-injection ラベルの例

oc label namespace <namespace-name> istio-injection=enabled

1.2.3. InPlace 更新の実行

InPlace ストラテジーを使用して Istio を更新する場合は、一度に 1 つだけ上のマイナーバージョンに更新できます。複数のマイナーバージョンで更新する場合は、各更新後にバージョンを増分し、ワークロードを再起動する必要があります。これにより、サイドカーのバージョンとコントロールプレーンのバージョンとの互換性が確保されます。すべてのワークロードが再起動されると、更新プロセスが完了します。

前提条件

  • Red Hat OpenShift Service Mesh に cluster-admin としてログインしている。
  • Red Hat OpenShift Service Mesh Operator をインストールし、Istio がデプロイされている。

手順

  1. Istio リソースのバージョンを変更します。

    kind: Istio
    spec:
      version: 1.20.2
      updateStrategy:
        type: InPlace

    Service Mesh Operator は、コントロールプレーンの古いバージョンを置き換える新しいバージョンのコントロールプレーンをデプロイします。サイドカーは新しいコントロールプレーンに自動的に再接続します。

  2. 次のコマンドを入力して、コントロールプレーンの新しいバージョンが実行中で、準備ができていることを確認します。

    $ oc get istio <control-plane-name>
  3. 以下のコマンドを入力して、新しいバージョンのサイドカーが挿入されるように、アプリケーションのワークロードを再起動します。

    $ oc rollout restart <deployment-name>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.