マネージド Istio アドオンについて

IBM Cloud® Kubernetes Service 上の Istio は、Istio のシームレス・インストール、Istio コントロール・プレーン・コンポーネントの自動更新とライフサイクル管理、およびプラットフォームのロギングとモニタリングのツールとの統合を行います。

ワンクリックで、すべての Istio コア・コンポーネントを稼働させることができます。 IBM Cloud Kubernetes Service 上の Istio はマネージド・アドオンとして提供されるため、すべての Istio コンポーネントが IBM Cloud によって自動的に最新に保たれます。

Istio とは?

Istio は、 IBM Cloud Kubernetes Service 内の Kubernetes などのクラウドプラットフォーム上で、マイクロサービスを接続、保護、制御、および監視するためのオープンなサービスメッシュプラットフォームです。

一体構造アプリケーションを分散マイクロサービス・アーキテクチャーにシフトする際には、一連の難題が新たに生じます。例えば、マイクロサービスのトラフィックの制御、サービスのダーク起動とカナリア配備の実施、障害の処理、サービス通信の保護、サービスの監視、サービスのフリート全体への一貫性のあるアクセス・ポリシーの実施をそれぞれどのように行うかなどです。 これらの問題に対処するために、サービス・メッシュを活用できます。 サービス・メッシュは、マイクロサービス間の接続と、その接続の監視、保護、制御のための、透過的で言語に依存しないネットワークを提供します。 Istio を使用すると、ネットワーク・トラフィックの管理、マイクロサービス間のロード・バランシング、アクセス・ポリシーの実施、サービス・アイデンティティーの検証などを行うことができるため、サービス・メッシュを洞察し、制御できます。

例えば、マイクロサービス・メッシュで Istio を使用すると、以下のことを行えるようになります。

  • クラスター内で実行中のアプリに対する可視性を向上させる。
  • カナリア版のアプリをデプロイし、それらのアプリに送信されるトラフィックを制御する。
  • マイクロサービス間で転送されるデータの自動暗号化を有効にする。

Istio のサービスメッシュは、データプレーンとコントロールプレーンという2つの主要なコンポーネントで構成されています。

データ・プレーン
データ・プレーンは、アプリケーション、アプリケーション・ポッドに注入されるサイドカー、ゲートウェイ、およびデータ・プレーン構成リソース ( ServiceEntriesVirtualServicesGatewaysDestinationRulesEnvoyFilters など) で構成されます。 サービス・メッシュの構成、パッチ更新時のサイドカーとカスタム・ゲートウェイの更新、および新しいバージョンのリリース時のアドオンのアップグレードは、お客様の責任で行っていただきます。
コントロール・プレーン
コントロール・プレーンは、Pilot、Mixer telemetry and policy、およびCitadelコンポーネントを含む Istiod。 これらの各コンポーネントについて詳しくは、 istio アドオンの説明 を参照してください。 IBM Cloud は、パッチ更新の提供、脆弱性の解決、および管理対象リソースの調整によってコントロール・プレーンを管理します。

IBM Cloud Kubernetes Service 上の Istio とは?

IBM Cloud Kubernetes Service 上の Istio は、Istio を Kubernetes クラスターと直接統合するマネージド・アドオンとして提供されます。

私のクラスターでは、これはどのように見えるのでしょうか?

Istio アドオンをインストールすると、Istio のコントロール・プレーンとデータ・プレーンは、クラスターが既に接続されているネットワーク・インターフェースを使用します。 構成トラフィックはクラスター内のプライベート・ネットワーク上を流れるので、ファイアウォール内に追加のポートや IP アドレスを開く必要はありません。 Istio Gateway を使用して Istio マネージド・アプリを公開した場合は、アプリに対する外部トラフィック要求がパブリック・ネットワーク・インターフェース上を流れます。

更新のプロセスはどのように行われるのですか?

マネージド・アドオン内の Istio のバージョンが IBM Cloud によって検査され、IBM Cloud Kubernetes Service での使用が受け入れられます。 さらに、Istio アドオンにより、Istio コントロール・プレーンの保守が簡素化されるため、マイクロサービスの管理に集中できます。 IBM Cloud は、IBM Cloud Kubernetes Service でサポートされる最新バージョンの Istio にパッチ更新を自動的にロールアウトすることで、すべての Istio コンポーネントを最新の状態に保ちます。 Istio バージョン 1.6 から 1.7 など、IBM Cloud Kubernetes Service でサポートされている Istio の最新のマイナー・バージョンに Istio コンポーネントを更新するには、Istio アドオンのマイナー・バージョンの更新の手順に従います。

マネージド Istio アドオンを更新した場合は、必ず、istioctl クライアントとアプリの Istio サイドカーを更新して、アドオンと同じ Istio バージョンにしてください。 istioctl クライアントのバージョンと Istio アドオン・コントロール・プレーンのバージョンが一致しているかどうかは、istioctl version を実行して確認できます。

Istio の最新版を使用する必要がある場合や、 Istio のインストール環境をカスタマイズしたい場合は、 「 IBM Cloud のクイックスタート」チュートリアルに記載されている手順に従って、 Istio のオープンソース版をインストールすることができます。 ただし、クラスターにおいて管理対象 Istio アドオンと同時にコミュニティー Istio を実行することはできないことに注意してください。

Istio アドオンに含まれるもの

Kubernetes クラスターでは、一般提供されているマネージド Istio アドオンをインストールできます。このアドオンは、 Istio のバージョン 1.29.5 を実行します。

Istio アドオンは、Istio のコア・コンポーネントをインストールします。 以下のコントロールプレーンコンポーネントのいずれかに関する詳細については、『 Istio 』のドキュメントを参照してください。

  • Envoy は、メッシュ内のすべてのサービスのインバウンド・トラフィックとアウトバウンド・トラフィックのプロキシーになります。 Envoy は、アプリ・コンテナーと同じポッド内にサイドカー・コンテナーとしてデプロイされます。
  • istiod は、以前は Pilot、Galley、Citadel、およびサイドカー・インジェクターによって実行されていた機能を単一のコントロール・プレーン・パッケージに統一します。
  • istio-ingressgateway および istio-egressgateway は、Istio マネージド・アプリとの間の着信トラフィックと発信トラフィックを制御します。

制限

マネージド Istio アドオンの以下の制限について確認してください。