Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EKS Auto ModeではじめるEKS / lets-start-eks-auto-mode
Search
takahash
January 13, 2025
0
140
EKS Auto ModeではじめるEKS / lets-start-eks-auto-mode
takahash
January 13, 2025
Tweet
Share
More Decks by takahash
See All by takahash
Seekable OCI (SOCI) によるコンテナ起動の高速化
_takahash
3
640
AWS Copilotを CDKでカスタマイズする
_takahash
2
3.8k
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
Side Projects
sachag
452
42k
BBQ
matthewcrist
85
9.4k
How STYLIGHT went responsive
nonsquared
96
5.3k
Writing Fast Ruby
sferik
628
61k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Building Your Own Lightsaber
phodgson
104
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
190
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building an army of robots
kneath
302
44k
Transcript
Amazon EKS Auto Modeで はじめるEKS JAWS-UG初心者支部 x 千葉支部 re:Invent 2024
re:Cap & 新年LT大会 @_takahash
自己紹介 • Hiroki Takahshi (@_takahash) • CCoE的なお仕事してます • 社内AWS基盤の運用 •
ガイドライン整備 • クラウド人材育成 • Like • CDK, ECS, EKS • Others • 2024 Japan AWS Top Engineers 2
もくじ • はじめに • EKS Auto Mode概要 • はじめかた •
利用する上での注意点 • まとめ
はじめに
Kubernetes OSSのコンテナオーケストレーションツール
Kubernetesの構成 Kubernetesのコンポーネント - kubernetes.io コントロールプレーンとノードと呼ばれるマシン群で構成 クラスタ全体の管理を行う。 EKSはここがマネージドになる。 ユーザのコンテナを動かす。
ノードの管理はユーザの責務 専門的な知識と労力が必要 • ノードの選定、追加、削除 • OSへのパッチ適用 • クラスタのアップグレード • アドオンの導入・メンテ
https://aws.amazon.com/jp/blogs/news/getting-started- with-amazon-eks-auto-mode/
AWS Fargate ノード管理が不要になるサービス @re:Invent 2019 ご要望にお応えしてEKS にも対応しました! Pod(コンテナの集合) に必要なリソース量さえ 教えてくれれば
ノード管理するよ!
EKS on Fargateの制限 • GPUが利用できない • Spotインスタンスが利用できない • DaemonSetが利用できない •
イメージのキャッシュが効かない(スケール遅い) • EBSをマウントできない • etc… 対応できないケースが少なからずあった
Amazon EKS Auto Mode @pre:Invent 2024 EKSの使用感を維持して インフラの運用をAWS にオフロードできるよ GPUやSpot,
DaemonSet 使えるよ! Auto Mode 顧客が欲しかったもの?
今後はEKS Auto Mode > Fargateの流れ Amazon EKS よくある質問 EKSの公式FAQで言及あり
EKS Auto Mode概要
EKS Auto Modeとは EKSのCompute、Storage、NWの管理をオフロードする機能 https://aws.amazon.com/jp/blogs/news/getting-started- with-amazon-eks-auto-mode/
Computeの管理(Managed Instance) EKS Auto Mode!
Computeの管理(Karpenter) • Podの要求するリソース量と 設定(NodePool)に基づいて 適切なEC2インスタンスをデ プロイしてくれる Kubenetesのノードのライフサイクルマネージャ
Computeの管理(Karpenter) • EKS Auto Modeのデフォルト NodePoolではC/M/Rファミ リーのamd64の第5世代以降の オンデマンドインスタンスがデ プロイされる •
GPUやSpotを使いたいなど上記以 外の要望がある場合は独自の NodePoolを作成する Node
Computeの管理(Karpenter) Karpenter ≠ Node Auto Scaler Consolidation:ノードのコスト最適化を図る Expiration: 指定時間後にノードを退役させる Drift:望む仕様から離れたノードを退役させる
Interruption:中断Eventに備えPodを退避する m7a.large m7a.large m7a.large ami: v1.30 ami: v1.31 EKS Auto Modeでは デフォルト:14日 最大:21日 Spotインスタンス お、Spot中断対象に なった!退避! Control Plane v1.30⇒v1.31
Storage、NWの管理 • NW • systemdサービスとして以下を実行 • Core DNS • Amazon
VPC CNI Plugin • kube-proxy • AWS LoadBalancer Controllerをマネージドで実行 • Storage • Amazon EBS CSIドライバをマネージドで実行 メジャーなアドオンについて導入・メンテの手間が削減された
はじめかた
マネコンからの作成 最低限IAMロールとVPC、サブネットを指定すればOK
eksctlからの作成 $ eksctl create cluster --name=<cluster-name> --enable-auto-mode 以下のコマンドを実行 ※ eksctlのver0.195.0以上が必要
既存のクラスタからの移行 クラスタ設定からEKS Auto Modeをオンにする ※移行にあたってELB/EBSの制約あり(後述)
サンプルアプリケーション AWSブログに体験できる手順があります https://aws.amazon.com/jp/blogs/news/getting-started- with-amazon-eks-auto-mode/
利用する上での注意点
制限について • ノード関連の設定は変更できません • AMIの変更 • SSH/SSMによるリモート接続 • ルートボリュームの変更 •
ENIの追加 • カーネルパラメータの変更 • etc.. • VPC CNI Pluginの一部機能が使えません • Security Group for Pods他 • 既存のEKSクラスタをAuto Modeにする場合 • 既存のEBS CSIドライバが管理するボリュームを管理対象にできません • 既存のAWS Load Balancer Controllerが管理するALB/NLBを管理対象にできません
可用性について • Karpenterの挙動を理解して停止に備えましょう • PDB(PodDisruptionBudget)の設定 • Podトポロジ分散制約によるAZ分散 • アプリケーションの正常なシャットダウン(graceful-shutdown)処理を実装 •
NodePoolでdisruptionを許容しない時間帯を設定 • Spotインスタンスを利用する場合、 • キャパシティリバランシング機能を使えない(Issues#2813) • 設定しているPDBで2分以内にPodを別ノードに退避可能か要考慮 EKS Auto Mode(Karpenter)は設定に基づ いてドラスティックにEC2を止めにきます
コストについて • EKS Auto Modeは追加コストがかかります • オンデマンドの料金+ 10%くらい • 適切なリソース要求を設定しましょう
• Karpenterはrequestをみてノードを準備します • requestが過剰に大きいと過剰なスペックのノードが用意されます • 特にHelmなど外部からパッケージ持ってくる場合はスペックを確認する • ノードのデプロイにSavings PlanやRIの有無は考慮してくれません • Savings PlanやRIを使ってもらえるようなNodePoolを設定しましょう • 利用状況のモニタリングも忘れずに
まとめ
まとめ • EKS Auto Modeについて紹介しました! • EKS Auto Modeは今後、EKSの第一の選択肢となるのではと期 待しています
• カスタマイズ性が必要ならEKS Managed Node Groupやセルフマネー ジドを利用 • やっぱりFargate推しならFargateを利用 • 参考:EKS Auto ModeとEKS on Fargateの違いを調べてみた – Qiita • ぜひ使ってみてください!