Azure Kubernetes Service (AKS) の Open Service Mesh (OSM) アドオン
Open Service Mesh (OSM) は、軽量で拡張可能なクラウド ネイティブ サービス メッシュであり、ユーザーは、高度に動的なマイクロサービス環境向けの監視機能を一様に管理してセキュリティ保護し、すぐに使用できます。
OSM は Kubernetes 上で Envoy ベースのコントロール プレーンを実行し、SMI API を使用して構成できます。 OSM は、アプリケーションの各インスタンスを含むサイドカー コンテナーとしてエンボイ プロキシを挿入して機能します。 エンボイ プロキシでは、アクセス制御ポリシーに関する実行規則が含まれており、これらの規則を実行します。また、ルーティング構成を実装し、メトリックをキャプチャします。 コントロール プレーンでは、ポリシーとルーティング規則が最新であること、プロキシが正常であることを保証するために、エンボイ プロキシを継続的に構成します。
Microsoft は OSM プロジェクトを開始しましたが、現在このプロジェクトは Cloud Native Computing Foundation (CNCF) によって管理されています。
Note
Cloud Native Computing Foundation (CNCF) による Open Service Mesh (OSM) の廃止に伴い、OSM 構成を特定して、同等の Istio 構成に移行することをおすすめします。 OSM から Istio への移行の詳細については、「Open Service Mesh (OSM) 構成から Istio への移行ガイダンス」を参照してください。
OSM アドオンを有効にする
OSM は、Azure CLI または Bicep テンプレートを使用して OSM アドオンを有効にすることで、Azure Kubernetes Service (AKS) クラスターに追加できます。 OSM アドオンにより、AKS と統合された OSM の完全にサポートされたインストールが可能になります。
重要
OSM アドオンによってインストールされる OSM のバージョンは、クラスターで実行されている Kubernetes のバージョンによって異なります。
Kubernetes バージョン | インストールされる OSM バージョン |
---|---|
1.24.0 以降 | 1.2.5 |
1.23.5 から 1.24.0 | 1.1.3 |
1.23.5 未満 | 1.0.0 |
対応する AKS バージョンのサポート期間が終了すると、古いバージョンの OSM がインストールできない場合や、アクティブなサポートが提供されない場合があります。 AKS バージョンのサポート ウィンドウについては、AKS Kubernetes リリース カレンダーをご確認ください。
機能と特徴
OSM には、次の機能があります。
- 相互 TLS (mTLS) を有効にして、サービス間の通信をセキュリティで保護する。
- エンボイ プロキシの自動サイドカー挿入を使用して、アプリケーションを OSM メッシュにオンボードする。
- デプロイ時にトラフィック移行を透過的に構成する。
- サービスに対してきめ細かなアクセス制御ポリシーを定義して実行する。
- アプリケーション メトリックに関する監視と分析情報を使用して、サービスを監視およびデバッグする。
- クラスターにデプロイされたサービス エンドポイント間の通信を暗号化します。
- HTTP/HTTPS と TCP トラフィックの両方に対するトラフィックの認可を有効にします。
- A/B テストまたはカナリア デプロイ用の複数のサービス間の重み付けトラフィック制御を構成します。
- アプリケーション トラフィックから KPI を収集して表示します。
- 外部証明書管理と統合する。
- NGINX、Contour、アプリケーション ルーティングなどの既存のイングレス ソリューションと統合する。
イングレスと OSM の詳細については、「イングレスを使用してクラスター内のサービスへの外部アクセスを管理する」と「イングレス用に OSM と Contour を統合する」を参照してください。 networking.k8s.io/v1
API を使用して OSM とイングレス コントローラーを統合する方法の例については、「Kubernetes Nginx イングレス コントローラーを使用したイングレス」を参照してください。 OSM と自動的に統合されるアプリケーション ルーティングの使用について詳しくは、「アプリケーション ルーティング」をご覧ください。
制限事項
OSM AKS アドオンには次の制限があります。
- インストール後に
kubectl patch
を使用して、ポート IP アドレスとポート範囲の除外に対する Iptables リダイレクトを有効にする必要があります。 詳細については、「Iptables リダイレクト」を参照してください。 - IMDS、Azure DNS、または Kubernetes API サーバーにアクセスする必要があるポッドでは、グローバル送信 IP 範囲の除外を使用して、除外される送信 IP 範囲のグローバル一覧にポッドの IP アドレスが追加されている必要があります。
- このアドオンは、AKS 用の Istio ベースのサービス メッシュ アドオンを使用する AKS クラスターでは機能しません。
- OSM では、Windows Server コンテナーがサポートされていません。
次のステップ
Azure CLI または Bicep テンプレートを使用して OSM アドオンを有効にした後、次の方法を実行できます。
Azure Kubernetes Service