この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Istio

Rancher-IstioはRancher v2.12.0以降廃止されました。セキュリティを強化するために、 SUSE Application CollectionのIstioビルドに切り替えてください(SUSE Rancher Primeサブスクリプションに含まれています)。 詳細情報は この発表にあります。

Istioは、DevOpsチームが複雑なマイクロサービスネットワーク内のトラフィックを観察、保護、制御、トラブルシューティングするのを容易にするオープンソースツールです。

マイクロサービスのネットワークが変化し成長するにつれて、それらの間の相互作用は管理し理解するのがますます難しくなる可能性があります。そのような状況では、サービスメッシュを別のインフラストラクチャ層として持つことが有用です。Istioのサービスメッシュを使用すると、マイクロサービスを直接変更することなく、マイクロサービス間のトラフィックを操作できます。

私たちのIstioの統合は、管理者やクラスターの所有者などのRancherオペレーターが、開発者チームにIstioを提供できるように設計されています。その後、開発者はIstioを使用してセキュリティポリシーを強制したり、問題をトラブルシューティングしたり、グリーン/ブルーデプロイメント、カナリアデプロイメント、またはA/Bテストのためにトラフィックを管理したりできます。

このコアサービスメッシュは、以下を含むがこれに限定されない機能を提供します:

  • トラフィック管理 には、インバウンドおよびアウトバウンドのルーティング、サーキットブレイキング、ミラーリングが含まれます。

  • セキュリティ には、トラフィックとユーザーを認証および認可するためのリソースが含まれ、mTLSも含まれます。

  • 監視 には、ログ、メトリクス、および分散トラフィックフローが含まれます。

Istioの設定を行った後、Rancher UI、kubectl、または`istioctl`を通じてIstioのコントロールプレーン機能を活用できます。

Istioは、プロジェクトで使用する前に`cluster-admin`によって設定される必要があります。

Rancher v2.5の新機能

Istioの全体的なアーキテクチャが簡素化されました。Pilot、Citadel、Galley、およびサイドカーインジェクターを統合して、単一のコンポーネントであるIstiodが作成されました。ノードエージェントの機能もistio-agentに統合されました。

以前にIstioによってインストールされたアドオン(cert-manager、Grafana、Jaeger、Kiali、Prometheus、Zipkin)は、今後は別々にインストールする必要があります。Istioは、Istioプロジェクト由来の統合のインストールをサポートするとともに、そうでない統合との互換性も維持します。

Prometheusの統合は、Rancher Monitoringのインストールを通じて、または独自のPrometheusオペレーターをインストールすることによって引き続き利用可能です。RancherのIstioチャートは、デフォルトでKialiをインストールし、すぐにマイクロサービスの全体像を把握できるようにします。

Istioは、Istioをインストールする方法としてHelmから移行し、現在はistioctlバイナリまたはIstio Operatorを通じてインストールを提供しています。Istioとの最も簡単なインタラクションを確保するために、RancherのIstioは、istioctlバイナリを使用してIstioインストールを管理するHelmチャートを維持します。

このHelmチャートは、UIのアプリとマーケットプレイスを通じて利用可能になります。Rancher Chartのカタログにアクセスできるユーザーは、プロジェクトで使用する前にIstioを設定する必要があります。

Istioにバンドルされたツール

私たちの Istioインストーラーは、istioctlバイナリコマンドを便利なHelmチャートにラップし、複雑なカスタマイズを可能にするオーバーレイファイルオプションを含んでいます。

それには以下のものが含まれています。

Kiali

Kialiは、サービスメッシュ全体のトラフィックフローをグラフ化するために使用される包括的な視覚化ツールです。それにより、接続状況や、間のトラフィックレートやレイテンシを確認できます。

サービスメッシュの健康状態を確認したり、特定のコンポーネントへの入出力リクエストを詳しく見ることができます。

Istioインストール`103.1.0+up1.19.6`以降では、Kialiは認証戦略のためにトークン値を使用します。RancherにおけるKialiサービスアカウントの名前は`kiali`です。Kialiサービスアカウントの名前を入力する必要があるコマンドを書く場合は、この名前を使用してください(たとえば、セッショントークンを生成または取得しようとする場合など)。詳細については、 Kialiトークン認証FAQを参照してください。

Jaeger

私たちのIstioインストーラーには、分散システムのトレースに使用されるツールである Jaeger,のクイックスタート、All-in-Oneインストールが含まれています。

これはJaegerの生産適格なデプロイメントではないことに注意してください。このデプロイメントはインメモリストレージコンポーネントを使用しており、生産には永続ストレージコンポーネントが推奨されます。どのデプロイメント戦略が必要かについての詳細は、 Jaegerドキュメントを参照してください。

前提条件

Istioを有効にする前に、RancherワーカーノードがIstioのすべてのコンポーネントを実行するのに十分なCPUとメモリを持っていることを確認することをお勧めします。

RKE2 クラスターに Istio をインストールする場合、追加の手順が必要です。詳細については、このセクションを参照してください。

セットアップガイド

Istio をセットアップし、プロジェクトで使用する方法については、セットアップガイドを参照してください。

Istio を削除する

クラスター、ネームスペース、またはワークロードから Istio コンポーネントを削除するには、Istio のアンインストールに関するセクションを参照してください。

視覚化へのアクセス

デフォルトでは、クラスター管理者のみが Kiali にアクセスできます。管理者、編集者、またはビューアの役割にアクセスを許可する方法については、このセクションを参照してください。

Istio インストールバージョン 103.1.0+up1.19.6 以降では、Kiali は認証戦略のためにトークン値を使用します。RancherにおけるKialiサービスアカウントの名前は`kiali`です。Kialiサービスアカウントの名前を入力する必要があるコマンドを書く場合は、この名前を使用してください(たとえば、セッショントークンを生成または取得しようとする場合など)。詳細については、 Kialiトークン認証FAQを参照してください。

Istio がクラスターにセットアップされると、Grafana、Prometheus、および Kiali が Rancher UI で利用可能になります。

Grafana と Prometheus の視覚化にアクセスするには、

  1. 左上隅で、*☰ > クラスター管理*をクリックします。

  2. *Clusters*ページで、視覚化を表示したいクラスターに移動し、*Explore*をクリックします。

  3. 左のナビゲーションバーで*Monitoring*をクリックします。

  4. Grafana または他のダッシュボードのいずれかをクリックします。

Kiali の視覚化にアクセスするには、

  1. 左上隅で、*☰ > クラスター管理*をクリックします。

  2. Clusters ページで、Kiali を表示したいクラスターに移動し、Explore をクリックします。

  3. 左のナビゲーションバーで Istio をクリックします。

  4. Kiali をクリックします。ここから、ネットワークの視覚化とメトリクスを表示するために、トラフィックグラフ タブまたは トラフィックメトリクス タブにアクセスできます。

デフォルトでは、すべてのネームスペースが Prometheus によって検出され、Kiali グラフ用のデータが利用可能になります。Prometheus データのスクレイピングに異なる構成を使用したい場合は、セレクター/スクレイプ構成のセットアップを参照してください。

視覚化へのアクセスは、あなたの役割に依存します。GrafanaとPrometheusは`cluster-admin`の役割にのみ利用可能です。Kiali UIはデフォルトで`cluster-admin`のみに利用可能ですが、`cluster-admin`はIstioのvalues.yamlを編集することで他の役割にアクセスを許可できます。

アーキテクチャ

Istioは、各ワークロードへのトラフィックを傍受するために Envoyサイドカー・プロキシを使用するサービスメッシュをインストールします。これらのサイドカーはサービス間通信を傍受し管理し、クラスター内のトラフィックに対する詳細な観察と制御を可能にします。

Istioサイドカーが注入されたワークロードのみが、Istioによって追跡および制御されることができます。

ネームスペースにIstioが有効になっている場合、そのネームスペースにデプロイされた新しいワークロードには自動的にIstioサイドカーが追加されます。既存のワークロードでは、手動でIstioを有効にする必要があります。

Istioサイドカーに関する詳細情報は Istioサイドカー注入ドキュメントを参照し、Istioのアーキテクチャに関する詳細情報は Istioアーキテクチャドキュメントを参照してください。

複数のIngress

デフォルトでは、各Rancherプロビジョニングクラスターには、クラスターへのトラフィックを許可する1つのNGINX Ingressコントローラーがあります。Istioはデフォルトで`istio-system`ネームスペースにIngressゲートウェイもインストールします。 その結果、クラスターには2つのIngressが存在することになります。

Istioが有効なクラスターにおいて

追加のIstio Ingressゲートウェイはオーバーレイファイルを介して有効にできます。

Egressサポート

デフォルトではEgressゲートウェイは無効ですが、インストールまたはアップグレード時にvalues.yamlを介して、またはオーバーレイファイルを介して有効にできます。

SUSE® Rancher Prime: RKE2クラスターにIstioをインストールするための追加手順

RKE2クラスターにIstioをインストールするには、このセクションの手順に従ってください。

エアギャップ(された)環境でのIstioのアップグレード

Istioポッドセキュリティポリシーはデフォルトで有効になっています。新しい値、installer.releaseMirror.enabled、がエアギャップ(された)アップグレードをサポートするサーバーを有効または無効にするために、rancher-istioチャートに追加されました。`installer.releaseMirror.enabled`はデフォルトで`false`に設定されていますのでご注意ください。インストールまたはアップグレード時に必要に応じてこの値を設定できます。次の手順に従います。

  1. Rancher UIでエアギャップされたRancherインスタンスとエアギャップされたカスタムクラスターをプロビジョニングします。

  2. クラスターにMonitoringをインストールします:Cluster Explorer -> Apps & Marketplace -> Charts -> Monitoring

  3. エアギャップ(された)環境で使用するプライベートレジストリにIstioに必要なすべてのイメージをプルします。

  4. クラスターにIstioをインストールします:Cluster Explorer -> Apps & Marketplace -> Charts -> Istio

新しいIstioインストールで JaegerKialiを有効にできます。JaegerとKialiが動作することを確認するために、インストール中に`values.yaml`で`installer.releaseMirror.enabled`を`true`に設定してください。

  1. Istioインストールをアップグレードします。

まだ行っていない場合は、`installer.releaseMirror.enabled=true`を設定してIstioをアップグレードしてください。