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

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

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

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

Istio とは?

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

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

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

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

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

データ・プレーン
データ・プレーンは、アプリケーション、アプリケーション・ポッドに注入されるサイドカー、ゲートウェイ、およびデータ・プレーン構成リソース ( ServiceEntriesVirtualServicesGatewaysDestinationRulesEnvoyFilters など) で構成されます。 サービス・メッシュの構成、パッチ更新時のサイドカーとカスタム・ゲートウェイの更新、および新しいバージョンのリリース時のアドオンのアップグレードは、お客様の責任で行っていただきます。
コントロール・プレーン
コントロール・プレーンは、Istio オペレーター、マネージド Istio オペレーター、および Istiod (パイロット、Mixer テレメトリーとポリシー、および Citadel コンポーネントを含む) で構成されます。 これらの各コンポーネントについて詳しくは、 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.23.5 を実行します。

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

  • Envoy は、メッシュ内のすべてのサービスのインバウンド・トラフィックとアウトバウンド・トラフィックのプロキシーになります。 Envoy は、アプリ・コンテナーと同じポッド内にサイドカー・コンテナーとしてデプロイされます。
  • istiod は、以前は Pilot、Galley、Citadel、およびサイドカー・インジェクターによって実行されていた機能を単一のコントロール・プレーン・パッケージに統一します。
  • istio-ingressgateway および istio-egressgateway は、Istio マネージド・アプリとの間の着信トラフィックと発信トラフィックを制御します。
  • Istio オペレーター (Istio バージョン 1.10 以降の場合は addon-istio-operator、Istio バージョン 1.9 以前の場合は managed-istio-operatoribm-operators 名前空間にあるもの) は、変更したカスタム Istio オペレーター (IOP) の内容をすべて検証して調整します。

制限

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

  • 管理対象 Istio アドオンを有効にすると、IstioOperator (IOP) リソースを使用して Istio コントロール・プレーンのインストールをカスタマイズできなくなります。 Istio コントロール・プレーン用に IBM が管理する IstioOperator リソースのみがサポートされます。 Istio データ・プレーンでカスタム・ゲートウェイ用の IstioOperator リソースを作成する場合、お客様の責任でそれらのリソースを管理してください。
  • istio-system 名前空間で自動的に作成された Istio リソースはいずれも変更できません。 Istio インストールをカスタマイズする必要がある場合、managed-istio-custom 構成マップ・リソースを編集できます。
  • 以下の機能はマネージド Istio アドオンでサポートされません。