アプリケーションの保護と可視化

アンビエントメッシュにアプリケーションを追加するのは、アプリケーションが存在する名前空間にラベルを付けるのと同じくらい簡単です。アプリケーションをメッシュに追加することで、アプリケーション間の通信が自動的に保護され、IstioはTCPテレメトリーの収集を開始します。しかも、アプリケーションを再起動したり、再デプロイしたりする必要はありません!

Bookinfoをメッシュに追加する

名前空間にラベルを付けるだけで、特定の名前空間内のすべてのポッドをアンビエントメッシュの一部として有効にできます。

$ kubectl label namespace default istio.io/dataplane-mode=ambient
namespace/default labeled

おめでとうございます!デフォルトの名前空間内のすべてのポッドをアンビエントメッシュに正常に追加しました。🎉

ブラウザでBookinfoアプリケーションを開くと、以前と同じように製品ページが表示されます。今回異なるのは、Bookinfoアプリケーションのポッド間の通信がmTLSを使用して暗号化されていることです。さらに、Istioはポッド間のすべてのトラフィックについてTCPテレメトリーを収集しています。

アプリケーションとメトリクスを可視化する

Istioのダッシュボード、Kiali、およびPrometheusメトリクスエンジンを使用して、Bookinfoアプリケーションを可視化できます。両方をデプロイします。

$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/prometheus.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/kiali.yaml

次のコマンドを実行してKialiダッシュボードにアクセスできます。

$ istioctl dashboard kiali

Bookinfoアプリケーションにトラフィックを送信して、Kialiがトラフィックグラフを生成するようにしましょう。

$ for i in $(seq 1 100); do curl -s https://127.0.0.1:8080/productpage; done

次に、トラフィックグラフをクリックすると、Bookinfoアプリケーションが表示されます。

Kiali dashboard
Kialiダッシュボード

ダッシュボード上の2つのサービスを接続する線をクリックすると、Istioによって収集されたインバウンドおよびアウトバウンドトラフィックのメトリクスを確認できます。

L4 traffic
L4トラフィック

TCPメトリクスに加えて、Istioは各サービスに強力なID(SPIFFE ID)を作成しました。このIDは、承認ポリシーを作成するために使用できます。

次のステップ

サービスにIDが割り当てられたので、アプリケーションへのアクセスを保護するために承認ポリシーを適用しましょう。

この情報は役に立ちましたか?
改善のためのご提案はありますか?

フィードバックありがとうございます!