CloudNative Days Fukuoka 2023、GoogleによるGKE上のGateway APIの解説セッションを紹介
2023年8月3日に福岡で開催されたCloudNative Days Fukuoka 2023から、Google Cloudのプリセールスエンジニアである内間和希氏によるGateway API及びDataplane V2を解説するセッションを紹介する。
●動画:Gateway APIとeBPFで進化するGKE Networking
内間氏はKubernetes上で開発したアプリケーションサービスの外部公開の方法においてIngressがこれまで使われてきたことを確認したうえで、最新のGateway APIとDataplane V2を解説した。
ThinkITでは2022年にCNCFの動画などを使ってGateway APIを解説する記事「Kubernetesの新しいネットワーク機能、Gateway APIを理解する」を前後編に分けて公開しているのでそちらも参考にして欲しい。
●参考:
Kubernetesの新しいネットワーク機能、Gateway APIを理解する(前編)
Kubernetesの新しいネットワーク機能、Gateway APIを理解する(後編)
本セッションではGKEの使用を前提とする
内間氏はまずGoogleのマネージドKubernetesであるGKE(Google Kubernetes Engine)を紹介。このセッションではGKEをベースに説明をするので、前提として知っておいて欲しいという意味だろう。全体的にGKEをベースにした解説になっているのは、プリセールスエンジニアという立場上、仕方がないのかもしれない。
そしてGKEの最近のネットワーク関連のアップデートとして、GKE Gateway Controller、Dataplane V2がここ一年間のホットなキーワードとして挙がっていることを紹介。
Gateway API
一般的なKubernetesの構成であればサービスを外部に公開する際のリソースはIngressである。シンプルな使い方であればIngressで問題はないものの、さまざまなアプリケーションが存在し、それぞれに細かくアクセス制御を行うような使い方をしたい場合、Ingressだけでは機能が足らなくなる。またシンプルなIngressをニーズに合わせて複雑にカスタマイズするというのは想定された使われ方ではなく、この状況を打破したいというのがGateway APIの発想だ。
Ingressではデベロッパーがネットワーク管理者の領域まで考慮しなければいけないような状況になっていたものを、ロールやプロトコルに合わせてモジュールを分割することで将来に渡って安定したネットワークスタックとして設計されている。
スライドではGateway APIの特徴として「ロール志向」「多くの機能をサポート」「高い拡張性」が挙げられている。
Ingressがnamespaceをベースにしたシンプルな実装だったのに比べ、インフラに近い部分の実装、管理者の役割の分離、プロトコルごとにRouteを作ることが可能などの機能によって、より複雑な構成、アプリケーション、セキュリティなどのニーズに応えることができると説明。
ここからはGateway APIのリソースをGateway Class、Gateway、HTTPRouteの3つに分けて説明を行った。
そしてGKEにおけるGateway APIの実装例を挙げて、コントロールプレーン、データプレーンの構成を解説。リソース定義のGatewayが実際にはGKE Gateway Controllerによって実現されることがわかる。
またGateway APIはサービスメッシュを実装するIstioやLinkerdなどからも利用されているとして、サービスメッシュ関連のソフトウェアについてもGateway APIの活用が始まっていると説明した。ただしGoogle謹製のAnthos Service Meshなどでは一部サポートという状態だ。
またIngressだけでは実装が難しかったマルチクラスターにおけるトラフィック制御もGateway APIのスコープに入っているとして、ヘッダーを使ったルーティングやブルーグリーンデプロイメントによるトラフィック分割も実装できることを説明した。
Dataplane V2
後半はDataplane V2についての解説を行い、iptables/Calicoベースのデータプレーンネットワークから、eBPFをベースにしたCiliumによるネットワークを次世代のネットワークデータプレーンであると紹介した
特にオブザーバービリティやセキュリティにおいて多くの機能が提供可能になったことを強調した。
ここではeBPFについても簡単に触れ、Linuxカーネルの変更を行わずにカーネルモードでサンドボックス化された実行を可能にするテクノロジーとして紹介。
その実装例としてCiliumを紹介。高いパフォーマンスと大規模システムに対応するスケーラビリティを持つネットワークスタックであることを解説した。Dataplane V2においては多くの機能がデフォルトでオフになっていること、FQDNによるネットワークポリシー設定が可能なこと、オブザーバービリティにおいてはHubbleを使っていることなどを紹介した。
最後にまとめとして次世代APIであるGateway API、eBPFの概要を紹介し、GKEにおいてもシングルクラスター用のGateway APIとDataplane V2がすでに利用可能となっていることを紹介した。Googleのプリセールスエンジニアという立場から、他のパブリッククラウドやオンプレミスでの実装例には触れず、あくまでもテクノロジーの解説、そしてGKEの宣伝を行ったというセッションとなった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Kubernetesの新しいネットワーク機能、Gateway APIを理解する(後編)
- KubeCon Europe 2023から、Linkerdの最新情報とeBPFがサービスメッシュに使えない理由を解説したセッションを紹介
- Kubernetesの新しいネットワーク機能、Gateway APIを理解する(前編)
- eBPF Summit開催 IsovalentのCEOなどによるDay 1のキーノートを紹介
- KubeCon Europe 2023共催のLinkerd Dayからアディダスの事例セッションを紹介
- KubeCon EU、欠点から逆算するKubernetesのネットワークに関するセッションを紹介
- CNDT2021、HPEのアーキテクトが解説するKubernetesネットワークの最新情報
- KubeCon NA 2020 LinkerdとAmbassadorを使ったマルチクラスター通信を紹介
- KubeCon共催のLinkerd Dayからノルウェーの労働福祉局がオンプレからクラウドに移行したセッションを紹介
- CNDT 2020にNGINXのアーキテクトが登壇。NGINX Ingress ControllerとそのWAF機能を紹介