APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

KubeCon & CloudNativeCon Japan 2025 参加レポート - 安藤

こんにちは ACS 事業部の安藤です。

日本で初の開催となった KubeCon & CloudNativeCon Japan 2025 に参加してきたので、そのレポートになります。

まずはDay1から

(結構いいお値段のチケットでしたが)チケット完売ということもあり、入場のBadge-Pickupは長蛇の列になっていました!
スマホのQRコードや紙のチケットが多いところ、しっかりしたプラスチックなのは歓迎されている感じがしてうれしいですね!

まずはキーノートですが、こちらは一緒の参加したメンバーと合同でまとめた記事があるのでこちらをご覧ください。

techblog.ap-com.co.jp

techblog.ap-com.co.jp

キーノートが終わって次のセッションまで時間があったので、スポンサーブース巡りをしました。

個人的に興味深かったのは、元々気になっていたGoogle CloudのKHI (Kubernetes History Inspector) でした。

github.com

簡単な紹介記事は読んだことがあったんですが、実際に操作している画面を見せてもらうと、全体を俯瞰してみたり一部を詳細に見たりと時間軸や粒度をグリグリと動かせていて、使いやすくて調査がすごく捗りそうだと感じました。
KubernetesのAudit logを可視化できるわけですが、AKSの診断設定で保存しているAudit logを突っ込んでみたところフォーマットエラーが出てしまったので何かしらのコンバートかカスタマイズが必要そうで、うまく扱えるようにしたいなと思ってます。

その他にも、TOKYOとデカデカと書かれたKubeCon公式のTシャツを受け取ったり、RedHatさんで赤帽をいただいたりとブースも楽しい&興味深いところがありました。

最後に興味深かったセッションの紹介を。

1つ目はソニーのNo More Disruption: PlayStation Network’s Approaches To Avoid Outages on Kubernetes Platformです。

こちらのセッションは立ち見どころか部屋に入れない方も出たほどの大人気のセッションで、入れなかった人のためにDay2に再公演されるという人気っぷりでした。

PlayStation Networkで利用されている100以上のサービス、50以上のクラスタを99.995%という高いサービスレベルを保っている、とのことでそのノウハウの共有!という期待を持ちましたが、
それには特別な秘訣などはなく「Doing the Basics Right. 普通のことを普通にやる」という印象的なフレーズで始まりました。

技術的な部分ではPodの可用性を高めるためにPDB (Pod Disruption Budget)やPTSC (Pod Topology Spread Constraints)を設定したり、ノードのスケーリングにはKarpenterを利用したり、
メンテナンスの負荷を下げるためにアドオンのアップグレードを自動化したり、重要なアドオンを動かすノードをサービス系のノードと分離するなどの設計面の考慮を行ったとのことです。

特に印象に残ったのは運用体制のお話で、元々日本とアメリカにクラスタ群があり、それぞれ別のPlatform Engineering Teamがあったものを1つのチームとして再編して、
概ね8時間ずつ時差のある日本・アメリカ・インドの3つのロケーションで時差を利用して24時間運用をする、いわゆるFollow the Sunの体制を組んでいる、ということでした。

これは言葉以上に大変で、コミュニケーションの遅れや情報と知識のギャップが容易に発生しうる環境なので、
それを防ぐべくナレッジの共有セッションを行ったり、KubernetesのAdmission ControllerdであるKyvernoのPolicyを適用して不要な変更を防いだり、様々なナレッジをドキュメンテーションしたり…と、
泥臭いこともやっていく必要があるようでした。

これらのことを全部ひっくるめて「Doing the Basics Right. 普通のことを普通にやる」というのは凄い取り組みだと感じました。

もう一つは、Grafana LabsのBryan BorehamさんによるNever Underestimate Memory Architectureです。

ハードウェアの話ですが、NUMA(Non-Uniform Memory Access)ではMemoryは1つのCPUとしか繋がっておらず、
遠いMemoryや遠いCPU間が通信するような処理になってしまうとその分レイテンシが悪化してしまい、
それはKubernetes上であっても無視できる問題ではありません。

NUMAの情報はPrometheusのNode Exporterのnode_zoneinfo_numa_other_totalvsやnode_zoneinfo_numa_local_totalから確認することができます。

こういったNUMA由来のレイテンシの悪化は、Kubeletのフラグの--cpu-manager-policyやTopology Managerのscope=podpolicy=single-numa-nodeを利用することである程度コントロール可能になります。

またPodにUncoreを優先的に使う方法としてcpu-manager-policyのオプションとしてprefer-align-cpus-by-uncorecacheがv1.32からAlphaとして追加されているとのことです。

最近はクラウドのマネージドのKubernetes、主にAKSを利用することがほとんどなのでハードウェアを意識する機会はめっきり減ってしまったんですが、
このようなピーキーなチューニングをする方法もサポートされていることを知り、Kubernetesの奥深さを改めて感じました。

おわりに

KubeCon & CloudNativeConは国際イベントということでキーノートからLTに至るまで全編英語で、各部屋で翻訳サイトが用意されていたもののスライドとスマホを行ったり来たりになってしまって、
やはり英語ができないと大変だなあ、というのが印象的でしたが、日本にいながらそんなプレッシャーを感じられたのは貴重な体験だなと感じました。

また、Kubernetesは触ってはいるもののまだまだ全然使いこなせてないな、ということも感じ、もっと深堀していきたいというモチベーションをもらうことができました。
技術面・英語面併せてもうちょっと戦えるようになって来年のKubeConにも挑みたいなと思っています。

ACS事業部のご紹介

最後にご紹介です。
私の所属するACS事業部では、開発者ポータルBackstage、Azure AI Serviceなどを活用し、Platform Engineering+AIの推進・内製化のご支援をしております。

www.ap-com.co.jp www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
我々の事業部のCultureDeckはこちらです。

www.ap-com.co.jp

今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。 www.ap-com.co.jp

本記事の投稿者: 安藤 知樹