Istio は、既存の分散アプリケーションに透過的に重ねられるオープンソースのサービス メッシュです。 Istio の強力な機能は、サービスの保護、接続、監視を行うための統一的かつより効率的な方法を提供します。 Istio は、サービス コードの変更をほとんどまたはまったく行わずに、ロード バランシング、サービス間認証、モニタリングを行うためのパスです。
Istio の使用方法の詳細については、istio.io にアクセスしてください。
質問したり、コミュニティから支援を得たりするには、Github Discussions にアクセスしてください。
コミュニティ全体に参加する方法については、コミュニティ ページにアクセスしてください。
この README では次のようになります。
導入
リポジトリ
問題管理
さらに、読んでいただきたいその他のドキュメントを以下に示します。
Istio コミュニティ - Istio プロジェクトに参加して貢献する方法について説明します
Istio 開発者ガイド - Istio 開発環境のセットアップ方法と使用方法を説明します。
プロジェクト規約 - コードベース内で使用する規約について説明します。
高速で無駄のないコードの作成 - コードベースのパフォーマンス指向のアドバイスとガイドライン
私たちの Wiki には他にも多くの役立つドキュメントがあります。
Istio は、マイクロサービスの統合、マイクロサービス間のトラフィック フローの管理、ポリシーの適用、テレメトリ データの集約を行うための統一された方法を提供するオープン プラットフォームです。 Istio のコントロール プレーンは、Kubernetes などの基盤となるクラスター管理プラットフォーム上に抽象化レイヤーを提供します。
Istio は次のコンポーネントで構成されています。
Envoy - クラスター内のサービス間およびサービスから外部サービスへのイングレス/エグレス トラフィックを処理する、マイクロサービスごとのサイドカー プロキシ。プロキシは安全なマイクロサービス メッシュを形成し、検出、豊富なレイヤー 7 ルーティング、サーキット ブレーカー、ポリシーの適用、テレメトリの記録/レポート機能などの豊富な機能セットを提供します。
注: サービス メッシュはオーバーレイ ネットワークではありません。これにより、アプリケーション内のマイクロサービスが、基盤となるプラットフォームによって提供されるネットワーク上で相互に通信する方法が簡素化および強化されます。
Istiod - Istio コントロール プレーン。サービスの検出、構成、および証明書の管理を提供します。これは次のサブコンポーネントで構成されます。
パイロット- 実行時のプロキシの構成を担当します。
Citadel - 証明書の発行とローテーションを担当します。
Galley - Istio 内の構成の検証、取り込み、集約、変換、配布を担当します。
Operator - このコンポーネントは、Istio サービス メッシュを操作するためのユーザーフレンドリーなオプションを提供します。
Istio プロジェクトは、いくつかの GitHub リポジトリに分割されています。
istio/API。このリポジトリは、Istio プラットフォームのコンポーネント レベルの API と共通の構成形式を定義します。
istio/コミュニティ。このリポジトリには、Istio オープン ソース プロジェクトを管理するさまざまなドキュメントを含む、Istio コミュニティに関する情報が含まれています。
イスティオ/イスティオ。これはメインのコード リポジトリです。 Istio のコア コンポーネント、インストール アーティファクト、サンプル プログラムをホストします。これには次のものが含まれます。
istioctl。このディレクトリには、 istioctlコマンド ライン ユーティリティのコードが含まれています。
パイロット。このディレクトリには、抽象サービス モデルを設定し、アプリケーション トポロジが変更されたときにプロキシを動的に再構成し、ルーティング ルールをプロキシ固有の構成に変換するプラットフォーム固有のコードが含まれています。
安全。このディレクトリには、Citadel (認証局として機能)、Citadel エージェントなどのセキュリティ関連コードが含まれています。
istio/プロキシ。 Istio プロキシには、認証、認可、テレメトリ収集をサポートする Envoy プロキシへの拡張機能 (Envoy フィルターの形式) が含まれています。
istio/zトンネル。リポジトリには、アンビエント メッシュの ztunnel コンポーネントの Rust 実装が含まれています。
istio/クライアントゴー。このリポジトリは、プログラムで Istio リソースと対話するための自動生成された Kubernetes クライアントを定義します。
注記
istio/api
およびistio/client-go
リポジトリのみが、ライブラリとして直接使用することを目的とした安定したインターフェイスを公開しています。
私たちは GitHub を使用して、すべてのバグと機能リクエストを追跡します。私たちが追跡する各問題にはさまざまなメタデータがあります。
すごい。エピックは、Istio 全体の機能領域を表します。エピックの範囲はかなり広く、基本的には製品レベルのものです。各問題は最終的には叙事詩の一部です。
マイルストーン。各問題にはマイルストーンが割り当てられます。これは、0.1、0.2、...、または「星雲の未来」です。マイルストーンは、問題にいつ対処する必要があると考えられるかを示します。
優先度。各問題には優先度があり、優先度プロジェクトの列で表されます。優先順位は、P0、P1、P2、または >P2 のいずれかになります。優先順位は、マイルストーン内で問題に対処することがいかに重要であるかを示します。 P0 は、問題が解決されない場合、マイルストーンは達成されたとはみなされないと述べています。
Istio は、クラウド ネイティブ コンピューティング財団プロジェクトです。