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
360
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
680
AWS Copilotを CDKでカスタマイズする
_takahash
2
3.8k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Faster Mobile Websites
deanohume
306
31k
Code Reviewing Like a Champion
maltzj
521
39k
The Pragmatic Product Professional
lauravandoore
32
6.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
A Tale of Four Properties
chriscoyier
158
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
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 • ぜひ使ってみてください!