EKS Auto Mode で kubelet も sysctl も hugepages も調整できるように!
みんな、しぃちゃんだよ!今日は EKS Auto Mode のノードチューニングが解禁されたニュースだよ!
AWS What's Newなにが発表されたの?
AWS の What's New によると、Amazon EKS Auto Mode で、kubelet 設定・Linux カーネルの sysctl・hugepages を NodeClass リソースの中で直接調整できるようになったよ。
ノードのプロビジョニング、スケーリング、パッチ適用、アップグレードは今まで通り Auto Mode におまかせのままなの。
今までどうだったの?
EKS Auto Mode は運用をおまかせできる反面、ノードに特別なチューニングが必要なワークロードは載せにくかったよ。
そういう要件には、EC2 起動テンプレートやカスタム AMI、特権付きの DaemonSet といった自前の仕組みが必要になりがちだったの。
これで何が変わるの?
新しい advancedCompute フィールドを使うと、次のようなことができるよ。
- CI/CD パイプラインでのルートレスコンテナビルド向けに、ユーザー名前空間を設定する
- 退避のしきい値やコンテナログのローテーションを調整して、ノードをディスク・メモリ逼迫から守る
- 大規模クラスタ向けに、ネットワークと ARP キャッシュの上限を引き上げる
- HPC・データベース・低レイテンシなワークロード向けに、2Mi または 1Gi の hugepages を事前確保する
起動テンプレートやカスタム AMI、特権 DaemonSet を保守しなくてよくなるのが大きいね!
深く潜ってみよう
- 設定は Kubernetes API で宣言的に適用する
- EKS Auto Mode が設定を検証し、ノードの起動時に適用する
- スケーリングやアップグレードのあとも設定は保たれる
- EKS Auto Mode が使える全 AWS リージョンで利用できる
使い方は、EKS ドキュメントの「Create a Node Class for Amazon EKS」に載っているよ。
まとめ
- NodeClass の
advancedComputeで kubelet・sysctl・hugepages を調整できる - 検証・起動時の適用・スケール/アップグレード後の維持は Auto Mode が担当
- 起動テンプレート、カスタム AMI、特権 DaemonSet が不要になる
ノードチューニングが必要だから Auto Mode を諦めていた人に刺さるアップデートだよ!