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の運用あれこれ バージョンアップ編
Search
tetsunosato
June 27, 2022
Technology
1
710
EKSの運用あれこれ バージョンアップ編
2022/6/27(月) AWS好きエンジニア LT会 vol.2 #5
tetsunosato
June 27, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
340
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
コロプラのオンボーディングを採用から語りたい
colopl
5
970
ABWGのRe:Cap!
hm5ug
1
120
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
440
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.4k
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
160
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.3k
RubyでKubernetesプログラミング
sat
PRO
4
160
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
YesSQL, Process and Tooling at Scale
rocio
170
14k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How to train your dragon (web standard)
notwaldorf
89
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Speed Design
sergeychernyshev
25
740
What's in a price? How to price your products and services
michaelherold
244
12k
Making the Leap to Tech Lead
cromwellryan
133
9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Practical Orchestrator
shlominoach
186
10k
Optimizing for Happiness
mojombo
376
70k
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特有、各種アドオン、アプリケーション等多
角的に調査 • 詳細な手順を作っても陳腐化しやすいので、運用作業者がバージョンアップの一連の作業に慣れ ることが大事 • バージョンアップはできるだけ毎回やった方がリスクは減る