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
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo...
Search
枡川健太郎
February 21, 2025
0
43
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
枡川健太郎
February 21, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
620
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
GraphQLとの向き合い方2022年版
quramy
46
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Site-Speed That Sticks
csswizardry
10
630
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Language of Interfaces
destraynor
158
25k
Side Projects
sachag
454
42k
Adopting Sorbet at Scale
ufuk
77
9.4k
Optimizing for Happiness
mojombo
379
70k
How to Ace a Technical Interview
jacobian
276
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
900
Transcript
[k8s novice x JAWSコンテ ナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on
解説
全体アーキテクチャー
EKSのアーキテクチャー JAWS-UG コンテナ支部 #27 EKSワークショップ ハンズオン
VPC Module • VPCとNAT gatewayを作成 • AWS Load Balancer Controller経由でLBを作成す
る場合、下記タグを付与することでサブネットID の指定が不要になる ◦ kubernetes.io/role/elb=1 ◦ kubernetes.io/role/internal-elb=1 Network Load Balancers で TCP および UDP トラフィックをルーティングする
EKS Module • EKSクラスターとNodeGroupを作成 • cluster_endpoint_public_acces=trueなので、コ ントロールプレーンにインターネット経由でアク セス可能 ◦ 下記のような設定も可能
▪ VPC内からのアクセスに絞る ▪ パブリックかつIP制限 • (実は)全く同じ設定なので、NodeGroupを2つ作成 する意味はない ◦ 下記のような要件で分けることが多い ▪ スポットインスタンスを利用 ▪ PodをデプロイするAZを明示的に指定 • KarpenterやEKS AutoModeでは、Nodeが足りな くなった際に直接EC2が登録される
コントロールプレーンへの認証について aws eks update-kubeconfig --name <クラスター名> EKSクラスターへ「kubectl」コマンドでアクセスする際の認証・認可の仕組みと設定 | DeveloperIO kubeconfig
ファイルを自動生成 aws-authと呼ばれる ConfigMapを触る必要あり
aws-auth クラスター作成者は設定不要でAdmin相当
EKSアクセスエントリ A deep dive into simplified Amazon EKS access management
controls EKSの設定で完結
EKSアクセスエントリ EKS APIとConfigMapに変更可能
EKSアクセスエントリ IAMプリンシパルと プリセットされたポリシーを紐づけ
AWS Load Balancer Controller
AWS Load Balancer Controller • マニフェストファイル適用の結果、AWS Load Balancer ControllerがNLBを作成してくれる •
Ingressリソースを作成して、ALBを作成する ことも可能 • LBの詳細な設定はannotationsで実施可能 ◦ Annotations | AWS Load Balancer Controller
IRSA(IAM Roles for Service Accounts) 詳解: IAM Roles for Service
Accounts eksctlで設定を行っている eksctl utils associate-iam-oidc-provider eksctl create iamserviceaccount
IRSA(IAM Roles for Service Accounts) 下記作業が必要 • OIDCプロバイダーの作成 • Service
Accountの作成 ◦ annotationsの追加が必要 • IAMロールの作成 • Service Accountを指定してPod作成
EKS Pod Identity Service AccountとIAMロールを指定するだけ
aws-auth、アクセスエントリ、IRSA、Pod Identityの整理 権限を与える対象 以前からの方式(今回はこちら) 新しい方式 Kubernetesを扱うユーザー aws-auth アクセスエントリ Pod IRSA
Pod Identity