Member-only story
KubernetesクラスタでのIstio Service Meshのセットアップ
1. 概要
この記事では、サービスメッシュとは何か、なぜそれが必要なのかを学び、Kubernetesクラスタにistioサービスメッシュを導入することがいかに簡単かをご紹介します。また、Jaeger、Prometheus、Grafana、Kialiなどのアドオンを有効にし、マイクロサービス間の通信がどのように行われるかを見ていきます。
2. サービスメッシュとは
サービスメッシュは、アプリケーションプログラミングインターフェース(API)を使用したアプリケーション基盤サービス間の大量のネットワークベースのプロセス間通信を処理するために設計された、コンフィギュア可能で*低レイテンシーの基盤層です。サービスメッシュは、コンテナ化され、しばしば刹那的なアプリケーションインフラストラクチャーサービス間の通信を、高速、高信頼、かつ安全に行うことを保証するものです。サービスメッシュは、サービスディスカバリ、ロードバランシング、暗号化、可観測性、トレーサビリティ、認証・承認、サーキットブレーカーパターンのサポートなど、重要な機能がついています。
3. なぜサービスメッシュが必要なのか?
サービスメッシュは通信レイヤーを管理するため、開発者は各サービスが他のすべてのサービスとどのように通信するかを気にするのではなく、構築する各サービスでビジネス価値を高めることに集中することができるようになります。
ビジネスロジックを*非機能ロジックから分離するのに役立ちます。
4. Istioの特徴
IstioはEnvoy プロキシの拡張版を使用しています。EnvoyはC++で開発された高性能なプロキシで、サービスメッシュ内の全てのサービスのインバウンド・アウトバウンドのトラフィックを仲介します。Envoyプロキシは、データプレーントラフィックと相互作用する唯一のIstioコンポーネントです。