先日のServiceMeshConカンファレンスでは、マルチクラスタ環境におけるサービスメッシュの利用、大規模なサービスメッシュの失敗事例、サービスメッシュの優れたユースケースとしてのカナリアデプロイメント、WebAssemblyプラグインを使ったカスタムロジック導入などが注目された。同カンファレンスはKubeCon + CloudNativeCon Europe 2020 Conferenceの一部として、仮想イベント形式で開催されたものだ。
Solo.ioのChristian Posta氏は、マルチクラスタKubernetesとサービスメッシュパターンについて講演し、複数のクラスタと複数のメッシュにわたってサービスメッシュを適用する際の課題について説明した。この場合に問題となるのは、アイデンティティの連合(federating identity)、一括性のある観測機能(a single pane of glass)の確立、ルーティングポリシの展開、といったことだ。
Posta氏は、組織内のどのサービスメッシュを選択するかを意識する必要をなくすことで、運用上の負担軽減を支援する、マルチクラスタサービスメッシュ管理プレーンのService Mesh Hubを取り上げ、複数のサービスメッシュの登録と管理に使用するVirtual Meshコンポーネントについて説明した。Virtual Mesh CRDでは、アイデンティティ連合モードを使って2つのメッシュを連合(federate)させることも可能である。
さらに氏は、サービスメッシュハブを導入して2つのクラスタ内で動作するサービスメッシュを管理する方法や、Bookinfoアプリケーションを例としたマルチクラスタ対応のトラフィックルーティングAPIの設定方法などについても論じた。"meshctl describe service
"コマンドを使用すれば、特定のサービスに複数のルールを適用することが可能になる。
最後にPosta氏は、先日CNCFコミュニティに参加した、単一クラスタで複数のサービスメッシュ管理をサポートするKumaを紹介して、自らの講演を締め括った。
"Istio Simplified"と題されたセッションでは、GoogleプリンシパルエンジニアのLouis Ryan氏と、IBMオープンソースリーダのSteve Dake氏が、運用環境におけるIstioのセットアップ、設定、デプロイの方法について解説した。その中で氏らは、Istioのアーキテクチャに加えて、Istioを管理する上で、コミュニティから受け取ったフィードバックに基づいて行われた最近の変更についても論じた。
Istioはマイクロサービスの原則に基づいて厳密に構築されており、運用時におけるこれらマイクロサービスのデプロイと継続的サポートを通じて、チームのアジリティを促進する存在である、と言うRyan氏は、バージョン1.4と1.5を比較した場合に、Custom Resource Definitions(CRDs)、コントロールプレーンPod、デーモンセットなどによって、アーキテクチャコンポーネントが単純化されている点を論じた。さらに氏は、今後Istioに採用されるものとして、インプレースアップグレードの安全性向上、インジェクションチャーン(injection churn)の軽減、Envoyリリースのストックなどを挙げた。
Dake氏は、"Online Boutique"サンプルアプリケーションを使った新しいアプリへのIstioへの導入方法に加えて、アプリケーションに影響を与えないロールアウトデプロイメントを例に、Istioの新バージョンへのアップグレード方法を紹介した。
ServiceMeshConイベントではその他、IstioテレメトリへのWebAssemblyの利用や、ダウンタイムを伴わないIstioメッシュの反復的実装などに関する講演が行われた。
カンファレンスの初頭では、Christian Posta氏による、第2回ServiceMeshConイベント参加者への歓迎と開会の挨拶が行われた。その中で氏は、サービスメッシュとは何であるかを説明し、常に信頼性があるとは限らないネットワークを越えてアプリケーションが相互通信を行う必要性について論じた。サービスメッシュソリューションがアプリケーションへのアイデンティティ設定を支援することにより、以前に確立した、現在はもはや有効ではない可能性のあるアイデンティティに頼る必要はなくなる。
サービスメッシュの採用は現実のものだ、と言うPosta氏は、その原動力となっている上位3つの機能を挙げた。
- mTLS/セキュリティ
- 可観測性
- トラフィック管理/ルーティング
Linkerd、Istio、Consul Connect、Kuma、Maesh、AWS AppMeshなど、この分野におけるさまざまなプロジェクトの新リリースによって、現在、サービスメッシュのエコシステムは非常な活気に満ちている、と氏は述べた。