Google Cloud Next Tokyo’24 勝手にRecap コンテナ最新アップデート紹介 ~ GKE 編 ~
これはなに?
先日、Google Cloud Next Tokyo’24が開催されました。
Google Cloud Next Tokyo ’24 の セッションを(勝手に)Recap したものになります
基調講演のアーカイブも公開されているので、見逃した方はぜひご覧ください
気になる箇所だけ見たい方は、目次から飛んでください!
セッション
進化するコンテナ環境: Google Kubernetes Engine と Cloud Run の最新アップデートと使い所を徹底解説
内容
GKE
まずは、お馴染みGKEについての説明です
Speaker の@kkuchima さんが、過去に登壇されている資料も大変有益なので参考として掲載します。
私も過去にAutopilotに焦点を当てて、話しているので、気になれば見てみてください🥹
Workload Identity Federation for GKE
🖊️公式doc
-
これまで、GKE のWorkload Identity 連携は Google Cloud の Service Account(以降:SA)とKubernetesのSAをそれぞれ作成し、bindingする形式でしたが、Google Cloud のSAを作らずに Kubernetes のSAを直接メンバーとして権限を紐づけられるようになりました
-
特にこれをterraform で記述する際はけっこうめんどくさかったので、個人的には結構嬉しいアップデートです!
-
Cynthia Thomas-sanからの発表コメント
- https://twitter.com/techcet/status/1773865010651173293
- https://twitter.com/techcet/status/1773865012320440390
-
こちらで詳しく解説しているので、もしよければ🙋♂️
https://zenn.dev/yokoo_an209/articles/new-workload-identity-federation-for-gke
Pod Bursting
🖊️公式doc
-
Pod bursting in GKE
-
Autopilot でこの機能をサポートするクラスタでは Pod を作成する際の最小リソース設定値も更新されています。
-
例 : Spot と組み合わせて Pod を作ると、約月額 $0.7~ で利用可能
- このため、お試しで使用したい場合や、小リソースで済みミニマムコストでGKE上で運用していきたい場合にまず使ってみるとより低価格でGKE を利用することができるようになると思います。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: hello spec: nodeSelector: cloud.google.com/gke-spot: "true" containers: - name: app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0 resources: requests: cpu: 50m memory: 52Mi ephemeral-storage: 10Mi limits: cpu: 250m
-
試してみた系の記事だとこちらも参考になります
Stateful HA Operator
🖊️公式doc
- Stateful High Availability(HA)Operator を使用することで、GKE の組み込みのリージョン Persistent Disk との統合を使用して、StatefulSet Pod のフェイルオーバーの速度を自動化および制御できるようになります。
- これまでは、マルチゾーンでのHA構成を実現する場合、マルチノードでステートフル状態をディスクで管理する場合、ノードに異常が発生した場合、同じディスクにノードがつなぐまでに8~10分ほど時間がかかっていました
- 一方、マルチレプリカ構成を組む場合、レプリケーションにより少し高額になってしまう状態でした。今回の構成により、安価で接続不可の時間を低減してフェイルオーバーが可能になります。
Secret Manager add-on with Google Kubernetes Engine
🖊️公式doc
- Google CloudのManaged な Secret Manager に対するCSI Driver となります。
- これにより、CSIとしてマウントして参照する形となるため、これまでstoreしていた kubernetes 上の secrete store 使わなくて良くなる
- Pod からマウントするときは、前述の Workload Identity Federation for GKE を使用することでマウント可能となる
- GKE 1.29以降(Preview)
- Preview 中は Pod にマウントした秘密情報を Secret に同期する機能は使えないそうです
GCS FUSE Read Cache Support
🖊️公式doc
- FUSEを使用して、GKE から GCS をマウントする際のオーバーヘッドが効率化
- 都度、GCSに対するAPIアクセスが不要になり、Read Cache(Persistent Disk / Local SSD, メモリ)に保存することで、同じデータへの都度アクセスが不要になりました。
- AI/ML ワークロードなどの大容量のマウントを必要とするユースケースに最適になりそうです
Container Image Preloading
🖊️公式doc
- Use secondary boot disks to preload data or container images
- GKE Node Pool にセカンダリディスクを追加する機能
- 事前にロードされたコンテナ イメージまたはセカンダリ ブート ディスク上のデータを使うことで、ワークロードをより迅速に起動できます
- これによりコンテナイメージやデータを Node 上に Preload し、AI/MLワークロードなどサイズの大きいコンテナの立ち上げ速度が向上します。
- ノード プールにセカンダリ ブート ディスクを追加しても、プロビジョニング時間は増加しません
- CI/CD パイプラインで ディスク イメージの作成を自動化 することもできます
- GKE Standard では 1.28.3-gke.1067000、GKE Autopilot では 1.30.1-gke.1329000 以降で利用できます
- GKE Node Pool にセカンダリディスクを追加する機能
- これまでも、image streming を使用することで、image pull にかかる時間の短縮をすることはできましたが、Image Preloading ではそれ以上に大きな効果となっています。
Cluster-wide Network Policy
🖊️公式doc
- そもそも、NetworkPolicyとは、Podに対してPod間の通信や外部のエンドポイントへの通信を制御するためのリソースです
- 通常の、Namespace スコープであるNetwork Policyとは異なり、Cluster 全体に対する制御が可能となりました
マニフェスト
apiVersion: "cilium.io/v2"
kind: CiliumClusterwideNetworkPolicy
metadata:
name: "l4-rule-ingress"
spec:
endpointSelector:
matchLabels:
role: backend
ingress:
- fromEndpoints:
- matchLabels:
role: frontend
toPorts:
- ports:
- port: "80"
protocol: TCP
GKE Enterprise
🖊️公式doc
-
GKE Enterpriseに関するアップデートも最近活発になっております!
-
そもそも、GKEには “モード” と “エディション” という棲み分けがあり、ややこしいが以下のようになっています
GKE Threat Detection
🖊️公式doc
-
Preview
機能にはなりますが、GKE Threat Detectionは、Google Cloud の KSPMである GKE Security Postureに統合された機能として提供されます - GKE Enterprise だと追加料金なしで利用可能
GKE Compliance
🖊️公式doc
- こちらも
Preview
機能にはなりますが、 GKE Complianceは、Google Cloud の KSPMである GKE Security Postureに統合された機能として提供されます。 - CISベンチマークをはじめとする、業界水準レベルのコンテナコンプライアンスに対応しているかどうかのアセスメントを効率的に行えるようになります。
Cloud Service Mesh(CSM)
🖊️公式doc
- ちょっと前にアナウンスがありましたが、
Anthos Service Mesh
とTraffic Director
が1つのプロダクトに統合され、横断的な管理や制御を行っていくことが容易になるようです。 - GKEがメインでしたが将来的にはCloud Runもサービスメッシュの中に入れられるようになるとのことです
- Cloud Service Mesh についてはこちらがとても参考になるのでぜひぜひ🙋♂️
GKE 延長サポート
🖊️公式doc
- 新たなリリースチャンネルとして、
Extended
リリースチャンネル が登場 - 標準サポート期間(14ヶ月) + 追加オプションとして10ヶ月のサポート期間を増やすことが可能になる
GKE まとめ
- AI / ML ワークロード用途として GKE を利用することが多くなってきたこともあり、それに寄り添ったアップデートが増えている印象がありました
- また、Autopilot の利用をより加速させるような寄り添ったアップデートも多くなり、ますますGKEの第一選択肢として Autopilot の選定が加速するような内容も多くなってきました
- GKE Enterprise によるガバナンスやコンプライアンス、セキュリティといったエンタープライズに求められる要素も今後さらに GKE と統合されたエコシステムで実現できる機運が高まってきそうです!(ワクワク)
さいごに - GKE編
- 個人的に気になった GKE のアップグレードに関しては、ここにもまとめているので(抜け漏れあり)、もし興味あれば覗いてみてください👀
- Kubernetes全体に関することであれば、弊社のk8sの神こと @toVersus のZenn の Scrap をぜひご覧ください!!!
また、同じようにセッションレポートを上げてくださっている記事もあるのでそちらと合わせて、参照いただけるとより詳しい内容を追うことができるかと思います。
Discussion