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の運用あれこれ バージョンアップ編
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tetsunosato
June 27, 2022
Technology
950
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EKSの運用あれこれ バージョンアップ編
2022/6/27(月) AWS好きエンジニア LT会 vol.2 #5
tetsunosato
June 27, 2022
Other Decks in Technology
See All in Technology
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
USB PDを使ってスマホを労わりたい
raspython3
0
180
しろおびから始める!ログ活用の第一歩
shumei_ito
0
960
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
290
Refining Active Record
shugo
0
170
Running Kotlin + Quarkus with Lambda
nealle
1
4k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
Classmethod Company Deck
satoshi7
1
740
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
450
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Embracing the Ebb and Flow
colly
88
5.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Mind Mapping
helmedeiros
1
400
Mobile First: as difficult as doing things right
swwweet
225
10k
The SEO identity crisis: Don't let AI make you average
varn
0
590
エンジニアに許された特別な時間の終わり
watany
109
250k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Transcript
EKSの運用あれこれ バージョンアップ編
自己紹介 • 宮國 哲生 • ビッグツリーテクノロジー&コンサルティング (2017~) • DX事業部/クラウド CoE
• Kubernetes歴:約3年 • 2021 APN AWS Top Engineer
このLTの目標 • LTに慣れる(デビュー戦) • EKSのバージョンアップについて思うところを述べる →みなさんのEKSのバージョンアップ作業に関するヒントになったらうれしい
EKS考える事いっぱい • Kubernetesの概念もAWSのベストプラクティスも分かったうえで、適切に組み合わせる必要性 →の割に設計や構築のノウハウがあまり転がってなくて苦労してきた。 • クラスタ構成: シングルクラスタ/マルチクラスタ • データプレーン:EKS on
EC2 or Fargate • クラスタ(&ネットワーク)構築方法:eksctl、CFn、Terraform etc • バージョンアップ: インプレース/ブルーグリーン • 各種アドオン: どれを採用…? • セキュリティ: マネージドサービスを組み合わせつつどこまでやる…?
EKS考える事いっぱい うわあ
EKS考える事いっぱい • EKSに関わる各種技術要素で、どういう考えで採用して、実際に構築・運用してみてどう 思ったかをつらつらと述べていく活動をやっていきたい。 →今日のLTはその練習
バージョンアップ: 無視できない作業です • EKSを採用し、運用していく中で避けられない作業 • 1年で3回のリリース →バージョンアップノウハウの確立は大事 https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
バージョンアップ: インプレース or ブルーグリーン インプレースバージョンアップ <メリット> • アップデートの作業が少なくすむ →クラスタが変わらないので、CI/CDツールの設定や 監視ツールのダッシュボードを直さなくてすむ
<デメリット> • 問題が発生した際にバージョンを戻すことができない • EKSがデフォルトで適用している各種アドオン(KubeProxy等)のバージョンアップを自分たちでやる 必要がある Cluster v1.21 nodegroup v1.22 nodegroup node node node node
バージョンアップ: インプレース or ブルーグリーン ブルーグリーンバージョンアップ <メリット> • 新バージョンの検証を行った上で切り替えることができる • 上手くいかなかった場合に戻せる保険がある
<デメリット> • 切替手順が複雑 • 旧環境と新環境向けの資材を正しく管理しておく必要がある • クラスタが2つあることによるオペミスが起こりうる Green Cluster Blue Cluster v1.21 nodegroup v1.22 nodegroup node node node node
バージョンアップ: ブルーグリーンってどうなんだい • ブルーグリーンバージョンアップデメリット多すぎ…? →上手くいかなかった場合にバージョンを戻せる →各種アドオンのバージョンアップグレード検証、アプリケーションの動作確認などをゆっくり行える →心理的に安全な分ブルーグリーンの方がうれしい • 旧環境と同等の環境をいかに素早く簡単にコピーできるか、がカギ →veleroやargocdの利用を合わせて検討した方がよい
→argocdのエクスポート/インポート機能を利用中
バージョンアップ: 準備 • バージョンアップ作業でまずやるのが、事前の影響調査&スケジュール検討 <影響調査> • Kubernetes自体のバージョンアップの影響 • 各種機能のα、β、GA、非推奨、廃止の状況を確認。 •
EKS、eksctl特有の変更要素 • 1.22時点ではまだdocker→containerdへは設定変更が必要。 • 各種アドオンのバージョンアップ要否 • 各種アドオンのインストール手順、リリースノート、変更履歴を漁って、バージョンアップ要否を決める。 →結構インストール手順はころころかわる →入れるアドオンが多ければ多いほどタイヘン • アプリケーションへの影響 • 二重稼働ができないジョブ等が動かない期間に実施(もしくは止める)
バージョンアップ: ブルーグリーン切替手順 正直詳細な手順を書いてもすぐに陳腐化するので、作業者が「バージョンアップ慣れ」することが大事。大体の流れは以下。 • ArgoCD設定エクスポート • Green Cluster向け資材修正 • Green
Cluster接続環境セットアップ • Cluster&NodeGroup作成 • ArgoCD設定インポート • 必要に応じてアドオン最新バージョンインストール • CI/CD設定変更 • CloudFrontビヘイビア変更 • 監視設定変更
バージョンアップ: 頻度 • バージョンアップは毎回必ずやる必要はある? →必須ではないが、できる限り毎回やった方がいいと思う まとめてバージョンアップすると、 変更要素が多い分追従が大変 作業者もバージョンアップのノウハウがたまっていかない • 問題が発生するリスクが増えると思う
バージョンアップ: まとめ • EKSのバージョンアップ戦略について、思うところをつらつらと • インプレースの方が作業量は少ない、ブルーグリーンの方が安心。ブルーグリーン大好き。 • ブルーグリーンの場合、旧環境と同等の環境をいかに素早く簡単にコピーできるか、がカギ • バージョンアップの影響調査はKubernetes自体、EKS特有、各種アドオン、アプリケーション等多
角的に調査 • 詳細な手順を作っても陳腐化しやすいので、運用作業者がバージョンアップの一連の作業に慣れ ることが大事 • バージョンアップはできるだけ毎回やった方がリスクは減る