Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
EKS on Fargateは最高のJob基盤 / jawsug_bgnr
Search
h3poteto
February 13, 2020
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EKS on Fargateは最高のJob基盤 / jawsug_bgnr
JAWS-UG 初心者支部#23 次回のハンズオン勉強会向けのチューター向け予習会 でのLT
h3poteto
February 13, 2020
More Decks by h3poteto
See All by h3poteto
Kubernetes上で単発のジョブを実行するkube-jobというツールを作った / kubernetesmeetuptokyo22
h3poteto
6
9.2k
Electronによるアプリケーション開発事情2018 / builderscon2018
h3poteto
9
11k
fluentdサーバをchefで構築するの辛かったけどDockerも別に救世主じゃなかった / tokyu ruby kaigi 12
h3poteto
0
5.3k
ECSのサービスをslack botでデプロイする // ecs-goploy
h3poteto
1
6k
まだRailsで消耗してるの?
h3poteto
7
5k
阿澄佳奈と昇竜拳
h3poteto
1
610
Other Decks in Programming
See All in Programming
Jetpack Compose Mechanisms
skydoves
3
840
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.7k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
240
ActionController meets Protocol Buffers
sorah
0
660
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
460
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
オーケストレーション記述言語 Katari
yukikurage
0
170
Event is what happens
moro
2
1.2k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Designing for Timeless Needs
cassininazir
1
530
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Transcript
EKS on Fargate は最⾼のJob 基盤 @h3poteto
⾃⼰紹介 Akira Fukushima ( 福島 明) GitHub: h3poteto twitter: @h3_poteto
仕事: SRE / LAPRAS Inc.
Fargate 使ってますか?
Fargate ってなに インスタンスの管理をすることなくDocker コンテナを動かせるエン ジン もともとECS Fargate として,ECS のノードをフルマネージドして くれていた
最近EKS on Fargate が出たことで,Kubernetes からも利⽤できるよ うになった
ノードがフルマネージドってどういう こと? AWS 側で管理されているFargate ⽤のインスタンスが存在する (我々からは⾒えない Fargate の要求があると,このインスタンスをユーザに割り当て て,そのPod 専⽤のインスタンスとして供給する
Pod が終了したらインスタンスもクラスタから除外される 我々のVPC 内に存在するEC2 とは別管理なので,EC2 ⼀覧にも出て こない もちろんインスタンスにSSH するこもとできない
None
ただしあくまでECS/EKS のノードの⼀ 部であることは変わらない
(追加設定はいるけど)普通に ECS/EKS のコンテナと同じように動く
みんなサーバーレスだって盛り上がる けど AutoScale が楽だってWeb サーバを乗 せたがるけど
むしろJob を実⾏するのに最適
Job Kubernetes のJob とかCronJob 単発実⾏で集計処理とかをやりたい 多重実⾏はやめてほしい
Web サーバとの違い ⼤抵のWeb サーバは複数台起動している リクエストはLoadBalancer で振り分けている つまり,1 台くらい落ちてもどうということはない 落ちても,⾃動復旧してくれれば問題ない Job
は,落ちたら再実⾏すれば良い?
再実⾏/ 多重実⾏可能なJob は,かなり 気を使って作る必要がある
単発実⾏したJob が 落ちない基盤であ ってほしい
通常ノードの場合 AutoScalingGroup は,ScaleOut するが当然ScaleIn も発⽣する ClusterAutoscaler はScaleIn 前にDrain を実⾏してくれるが,それは つまりJob
の再実⾏ということになる SpotInstance を使っていれば,ノードはある⽇突然死ぬ
Fargate は全ての要求を満たすのでは?
Fargate Pod が死ぬまでインスタンスは死なない そもそもAutoScalingGroup ではないのでScaleIn の対象外 他のPod が配置されることがないので,Job が終わったらすぐにノー ドを殺しても問題ない
最⾼では?
None
これを待っていた!ありがとうAWS
EKS on Fargate のつらみ
Job がComplete してもPod が残る限り ノードも残る
Fargate ノードのライフサイクル Pod がリクエストされた時点で確保 他のPod はスケジュールされない Pod がDelete されるまで残り続ける
Pod 内のコマンドが正常終了してもPod ⾃⾝が削除されるわけではない Pod はCompleted として残る
つまりCompleted したものも課⾦対象
TTL Controller k8s 上で完了したJob をクリーンアップしてくれるController ttlSecondsAfterFinished で指定された秒数後にPod を削除する まだAlpha の機能のためEKS
では使えない EKS でもFeatureGates をカスタマイズできるようにし てほしい……
Pod のENI に付与されるSG の指定がで きない
Farget のSecurityGroup EKS on Fargate のPod にはENI が付与される そこにSG が付与されることで,アクセス制限ができる
しかし付与されるSG は,EKS クラスタ本体のSG 任意のSG を指定することができないので,細かいアクセス制限がや りにくい EKS クラスタ本体のSG ⾃体もこちらで指定することができないの で,terraform で管理しにくい
DaemonSet が使えない これはどうにもならないかも……
DaemonSet が使えない EKS on Fargate ではFargate で起動したPod しかFargate ノードに配 置されない
Kubernetes のDaemonSet が配置できない Fluentd でコンテナのログを全部かき集めたり Datadog でインスタンスやコンテナのメトリクスを収集したりでき ない
VolumeMount が使えない せめてEFS は使いたいな……
VolumeMount が使えない EC2 インスタンスではないので当然EBS はAttach できない hostPath も使えない ので当然EFS も使えない
emptyDir だけは使えるが…… EFS だけはRoadmap にリクエストが上がっている: https://github.com/aws/containers-roadmap/issues/53
対応してもらえるのを楽しみにしてる