機能ステータス
このページでは、Istioの各機能の成熟度とサポートレベルを一覧表示しています。フェーズはプロジェクト全体ではなく、プロジェクト内の個々の機能に適用されることに注意してください。これらのラベルの意味の概要を以下に示します。
機能フェーズの定義
実験的 | アルファ | ベータ | 安定版 | |
---|---|---|---|---|
目的 | 機能は開発中であり、ユーザー向けのAPIは変更される可能性があります。ユーザーは、実験的機能を本番環境以外で慎重にデプロイする必要があります。実験的バージョンでは移行が必要になる場合があります。 | 設計や機能に関するフィードバックを得たり、暫定的な設計のパフォーマンスを確認したりするためなどに使用されます。開発者や上級ユーザーを対象としています。 | 長期的なコミットメントなしに本番環境でソリューションを検証し、その実現可能性、パフォーマンス、ユーザビリティなどを評価するために使用します。すべてのユーザーを対象としています。 | 信頼性が高く、本番環境で強化されています。 |
安定性 | バグが含まれる可能性があります。この機能を使用すると、バグが発生する可能性があります。デフォルトでは無効になっています。 | バグが含まれる可能性があります。この機能を使用すると、バグが発生する可能性があります。デフォルトでは無効になっています。 | コードは十分にテストされています。この機能は本番環境で使用しても安全です。 | コードは十分にテストされ、安定しています。本番環境への広範な展開に安全です。 |
セキュリティ | この機能を使用すると、明らかなセキュリティの脆弱性が発生する可能性があります。発見された脆弱性は広く公開されない場合があります。 | この機能を使用すると、明らかなセキュリティの脆弱性が発生する可能性があります。発見された脆弱性は広く公開されない場合があります。 | 発見されたセキュリティの脆弱性はすべて公開され、修正されます。 | 発見されたセキュリティの脆弱性はすべて公開され、修正されます。 |
パフォーマンス | パフォーマンス特性は不明です。実験的な機能を有効にすると、パフォーマンスに悪影響を与える可能性があります。 | パフォーマンス要件は設計の一部として評価されます。 | パフォーマンスとスケーラビリティは特性付けられていますが、注意点がある可能性があります。 | パフォーマンス(レイテンシ/スケール)は定量化され、文書化されており、回帰に対する保証があります。 |
サポート | 下位互換性に関する保証はありません。Istioコミュニティは、この機能を改善、維持、または完成させることを約束しておらず、この機能は後のソフトウェアリリースで予告なく完全に削除される可能性があります。 | 下位互換性に関する保証はありません。Istioは、この機能を完成させることを約束していません。この機能は後のソフトウェアリリースで予告なく完全に削除される可能性があります。 | 機能全体は削除されませんが、詳細は変更される可能性があります。Istioは、何らかの形で後続の安定版でこの機能を完成させることを約束します。通常は3ヶ月以内ですが、それ以上かかる場合もあります。リリースでは、ユーザーがアップグレードとリソースの移行に十分な時間を取れるように、少なくとも1つのサポートされているリリースサイクル(通常は3ヶ月)の間、2つの連続するバージョン(例:v1alpha1とv1beta1、またはv1beta1とv1)を同時にサポートする必要があります。 | この機能は、その後の多くのリリースで引き続き存在します。 |
廃止ポリシー | なし、機能はいつでも削除できます。 | なし、機能はいつでも削除できます。 | 弱、3ヶ月前の予告で機能を削除できます。 | 強、1年前の予告で機能を削除できますが、通常は代替機能へのサポートされているアップグレードパスがあります。 |
バージョン管理 | APIバージョン名にdevが含まれています(例:v1dev1)。 | APIバージョン名にalphaが含まれています(例:v1alpha1)。 | APIバージョン名にbetaが含まれています(例:v1beta1)。 | APIバージョンはvX です。ここでXは整数です(例:v1)。 |
可用性 | この機能は、メインのIstioリポジトリにある場合とない場合があります。この機能はIstioリリースに表示される場合とされない場合があります。Istioリリースに表示される場合、デフォルトでは無効になります。開発機能を有効にするには、機能を使用するために必要な構成に加えて、明示的なフラグが必要です。 | この機能はIstioリポジトリにコミットされています。この機能は公式のIstioリリースに表示されます。この機能を使用するには、ユーザーによる明示的な操作(例:フラグの切り替え、構成リソースの使用、明示的なインストール操作、またはAPIの呼び出し)が必要です。機能が無効になっている場合、システムの安定性に影響を与えてはなりません。 | 公式Istioリリースでデフォルトで有効になっています。 | ベータ版と同じです。 |
対象者 | 機能や概念実証に密接に協力している他の開発者。 | 早期フィードバックを提供することに関心のある開発者や上級ユーザーを対象としています。 | 機能に関するフィードバックを提供することに関心のあるユーザー。 | すべてのユーザー。 |
完全性 | 機能の能力は限られています。この機能は概念実証として機能する可能性があります。 | 一部のAPI操作やCLIコマンドは実装されていない可能性があります。この機能にはAPIレビュー(通常のコードレビューに加えて、APIの集中的かつターゲットを絞ったレビュー)を行う必要はありません。 | すべてのAPI操作とCLIコマンドを実装する必要があります。エンドツーエンドテストは完全で信頼性があります。APIは徹底的なAPIレビューが行われ、完全であると考えられていますが、ベータ版での使用中にレビュー時には考えられなかったAPIの問題が頻繁に見つかります。 | ベータ版と同じです。 |
ドキュメント | 実験的な機能は、自動生成されたリファレンスドキュメントで実験的としてマークされているか、公開されていません。 | アルファ機能は、自動生成されたリファレンスドキュメントでアルファとしてマークされています。機能の動作、有効化の方法、制限事項、注意点、および機能の基礎となる問題または設計ドキュメントへのポインタを説明する基本的なドキュメント。 | istio.ioに公開された完全な機能ドキュメント。基本的なアルファレベルのドキュメントに加えて、ベータ版のドキュメントには、サンプル、チュートリアル、用語集のエントリなどが含まれています。 | ベータ版と同じです。 |
アップグレード可能性 | 実験的機能のスキーマとセマンティクスは、新しいバージョンで下位互換性を維持する保証なしに変更される可能性があり、アップグレード中に構成の変更が必要になります。APIバージョンはリリースのペースよりも速く増加する可能性があり、開発者は下位互換性のために複数のバージョンを維持する必要はありません。スキーマまたはセマンティクスが非互換な方法で変更された場合は、APIバージョンを増やすことをお勧めします。 | アルファ機能のスキーマとセマンティクスは、後のソフトウェアリリースで変更される可能性があり、既存のIstioインストールで構成オブジェクトを保存するための規定はありません。APIバージョンはリリースのペースよりも速く増加する可能性があり、開発者は複数のバージョンを維持する必要はありません。スキーマまたはセマンティクスが非互換な方法で変更された場合は、APIバージョンを増やす必要があります。 | スキーマとセマンティクスは、後のソフトウェアリリースで変更される可能性があります。変更が発生した場合は、アップグレードパスが文書化されます。場合によっては、オブジェクトが自動的に新しいバージョンに変換されます。他の場合では、手動アップグレードが必要になる場合があります。手動アップグレードには、新しい機能に依存するもののダウンタイムが必要になる場合があり、オブジェクトを手動で新しいバージョンに変換する必要がある場合があります。手動変換が必要な場合は、プロジェクトはプロセスに関するドキュメントを提供します。 | その後のソフトウェアリリースでは、厳密に互換性のある変更のみが許可されます。 |
テスト | 機能の存在は、リリース済みの機能に影響を与えてはなりません。 | この機能は、機能が有効になっているユニットテストと統合テストによってカバーされており、テストは不安定ではありません。テストではすべてのコーナーケースがカバーされているとは限りませんが、最も一般的なケースはカバーされています。テストコードカバレッジ>=70%。機能が無効になっている場合、システムのパフォーマンスは低下しません。 | 統合テストでは、一般的なユースケースだけでなく、エッジケースもカバーされています。統合テストでは、機能に関する報告されたすべての問題がカバーされています。この機能には、機能のサンプル/チュートリアルをカバーするエンドツーエンドテストがあります。テストコードカバレッジ>=80%。 | ベータ版のスーパーセットであり、ベータ版で発見された問題に関するテストが含まれています。テストコードカバレッジ>=90%。 |
信頼性 | ユーザーは、機能が信頼できることを期待すべきではありません。テストされていない可能性があります。 | この機能は比較的新しいものであり、完全なエンドツーエンドテストが不足している可能性があるため、フラグを介して機能を有効にすると、Istioを不安定にするバグ(例:制御ループのバグにより、オブジェクトが急激に過剰に作成され、APIストレージが枯渇する可能性があります)が発生する可能性があります。 | この機能にはe2eテストがあるため、機能を有効にしても、関連のない機能に新しいバグは発生しません。この機能は比較的新しいものであるため、軽微なバグが発生する可能性があります。 | 高。この機能は十分にテストされており、安定していて、すべての用途で信頼性があります。 |
推奨されるユースケース | 開発努力を形作るためにユーザーから早期フィードバックを募ることを目的とした、短命の開発環境またはテスト環境。 | アップグレード可能性の複雑さと長期的なサポートの欠如のために、短命の開発環境またはテスト環境。 | 開発環境またはテスト環境。フィードバックを提供するために、機能の評価の一環として本番環境で。 | 任意。 |
Istio機能
以下は、既存の機能とその現在のフェーズの一覧です。この情報は、リリースごとに更新されます。
トラフィック管理
機能 | フェーズ |
---|---|
プロトコル:HTTP1.1/HTTP2/gRPC/TCP | 安定版 |
プロトコル:WebSockets/MongoDB | 安定版 |
トラフィック制御:ラベル/コンテンツベースのルーティング、トラフィックシフト | 安定版 |
レジリエンス機能:タイムアウト、再試行、接続プール、アウトライアー検出 | 安定版 |
ゲートウェイ:すべてのプロトコルのイングレス、エグレス | 安定版 |
ゲートウェイインジェクション | ベータ |
ゲートウェイでのTLS終端とSNIサポート | 安定版 |
イングレスでのSNI(複数の証明書) | 安定版 |
局所負荷分散 | ベータ |
Envoyでのカスタムフィルタの有効化 | アルファ |
サイドカーAPI | 安定版 |
DNSプロキシ | ベータ |
イングレスのためのKubernetesゲートウェイAPI(Gateway parentRef ) | 安定版 |
メッシュのためのKubernetesゲートウェイAPI(Service parentRef ) | 安定版 |
ゲートウェイネットワークトポロジ構成 | アルファ |
Kubernetesマルチクラスタサービス(MCS)検出 | 実験的 |
可観測性
機能 | フェーズ |
---|---|
Prometheus統合 | 安定版 |
Grafanaのサービスダッシュボード | 安定版 |
分散トレーシング | 安定版 |
Zipkin/Jaegerへの分散トレーシング | ベータ |
トレースサンプリング | ベータ |
リクエスト分類 | ベータ |
構成可能なテレメトリプロダクション | 安定版 |
拡張性
機能 | フェーズ |
---|---|
WebAssembly拡張 | アルファ |
セキュリティとポリシー適用
機能 | フェーズ |
---|---|
サービス間相互TLS | 安定版 |
Kubernetes:サービスクレデンシャル配布 | 安定版 |
イングレスゲートウェイでの証明書管理 | 安定版 |
Istio CAのプラグ可能なキー/証明書サポート | 安定版 |
認可 | 安定版 |
エンドユーザー(JWT)認証 | 安定版 |
ピア認証 | 安定版 |
自動相互TLS | 安定版 |
VM:サービスクレデンシャル配布 | ベータ |
外部認可 | ベータ |
承認ドライラン | アルファ |
JWTクレームベースのルーティング | アルファ |
HTTPヘッダーへのJWTクレームのコピー | 実験的 |
コア
機能 | フェーズ |
---|---|
Kubernetes:Envoyのインストールとトラフィックインターセプト | 安定版 |
Kubernetes:Istioコントロールプレーンのインストール | 安定版 |
マルチクラスタメッシュ | ベータ |
外部コントロールプレーン | ベータ |
Kubernetes:Istioインプレイスコントロールプレーンアップグレード | ベータ |
基本的な構成リソース検証 | ベータ |
Istio CNIプラグイン | 安定版 |
KubernetesのIPv6サポート | アルファ |
デュアルスタックIPv4/IPv6 | アルファ |
Distrolessベースイメージ | 安定版 |
仮想マシン統合 | ベータ |
Helmインストール | ベータ |
リビジョンベースのアップグレード | ベータ |
リビジョンタグ | ベータ |
アンビエントモード
機能 | フェーズ |
---|---|
ztunnel:コア | 安定版 |
Waypoints:コア | 安定版 |
Waypoints:Gateway API安定チャネル(HTTPRoute 、GRPCRoute ) | 安定版 |
Waypoints:Gateway API実験チャネル(TLSRoute 、TCPRoute ) | アルファ |
Waypoints:DestinationRule | 安定版 |
Waypoints:VirtualService | アルファ |
Waypoints:名前空間間の使用 | ベータ |
Waypoints:WebAssembly拡張機能(WasmPlugin ) | アルファ |
AuthorizationPolicy | 安定版 |
PeerAuthentication | 安定版 |
RequestAuthentication | ベータ |
DNSプロキシ | ベータ |
デュアルスタック、IPv6 | ベータ |