1.3. RevisionBased ストラテジーについて


通常、RevisionBased ストラテジーを使用して実行される更新では、コントロールプレーンの 2 つのリビジョンが実行されます。この機能により、古いコントロールプレーンから新しいコントロールプレーンにワークロードを徐々に移行し、カナリアアップグレードが可能になります。RevisionBased ストラテジーでは、複数のマイナーバージョンによる更新も可能になります。

1.3.1. RevisionBased ストラテジーの選択

RevisionBased ストラテジーを使用して Istio をデプロイするには、次の spec.updateStrategy 値 を使用して Istio リソースを作成します。

RevisionBased ストラテジーを選択する仕様の例

kind: Istio
spec:
  version: 1.20.0
  updateStrategy: RevisionBased

Istio リソースのストラテジーを選択すると、Operator は <istio resource name>-<version> という名前の新しい IstioRevision リソースを作成します。

1.3.2. RevisionBased ストラテジーを使用したワークロードのコントロールプレーンへのアタッチ

RevisionBased ストラテジーを使用してデプロイされたコントロールプレーンにワークロードを割り当てるには、istio.io/rev namespace ラベルを IstioRevision の名前に設定する必要があります。または、ラベルをワークロード Pod に適用できます。

1.3.3. RevisionBased 更新の実行

RevisionBased ストラテジーを使用して Istio を更新すると、既存のサイドカーがコントロールプレーンの新しいリビジョンに自動的にアタッチされないため、一度に複数のマイナーバージョン分、更新される可能性があります。代わりに、ワークロードを新しいコントロールプレーンに手動で移動する必要があります。

前提条件

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

手順

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

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

    Service Mesh Operator は、コントロールプレーンの古いバージョンと並行して、コントロールプレーンの新しいバージョンをデプロイします。サイドカーは、古いコントロールプレーンに接続されたままになります。

  2. コントロールプレーンの両方のリビジョンが実行中で、準備ができていることを確認します。

    $ oc get istiorevisions
  3. アプリケーションの namespace または Pod の istio.io/rev ラベルを新しいコントロールプレーンのリビジョン名に更新して、ワークロードを新しいコントロールプレーンに移動します。
  4. 新しいバージョンのサイドカーが挿入されるように、アプリケーションワークロードを再起動します。

    $ oc rollout restart <deployment>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.