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
1
910
EKS Auto ModeではじめるEKS / lets-start-eks-auto-mode
takahash
January 13, 2025
Tweet
Share
More Decks by takahash
See All by takahash
ECS Managed Instanceをキャッチアップしよう!
_takahash
1
400
MITRE ATT&CK入門~攻撃者はAWSの侵害をどう進めるのか~
_takahash
1
220
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
590
Seekable OCI (SOCI) によるコンテナ起動の高速化
_takahash
4
1k
AWS Copilotを CDKでカスタマイズする
_takahash
2
4.1k
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
680
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Discover your Explorer Soul
emna__ayadi
2
1k
30 Presentation Tips
portentint
PRO
1
180
Accessibility Awareness
sabderemane
0
32
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
HDC tutorial
michielstock
1
300
A Soul's Torment
seathinner
2
2.1k
Design in an AI World
tapps
0
110
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.3k
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 • ぜひ使ってみてください!