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
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
Search
masayosu
June 08, 2022
Technology
5.1k
0
Share
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
masayosu
June 08, 2022
More Decks by masayosu
See All by masayosu
Kubernetes-Meetup-Tokyo-53
masayoshimaezawa
1
1.3k
CircleCI_meetup7.pdf
masayoshimaezawa
1
160
BitValleyInside_auポータルでの取り組み.pdf
masayoshimaezawa
0
430
re:Invent2018 report
masayoshimaezawa
0
54
某ポータルサイト リニューアルの話(インフラ)
masayoshimaezawa
0
110
$5からはじめるLightsail
masayoshimaezawa
3
390
Other Decks in Technology
See All in Technology
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
620
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
230
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
2.9k
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
270
レガシーシステムをどう次世代に受け継ぐか
tachiiri
0
260
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
280
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
130
OPENLOGI Company Profile
hr01
0
83k
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
920
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
290
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
120
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
140
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
How to Talk to Developers About Accessibility
jct
2
170
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
260
How to build a perfect <img>
jonoalderson
1
5.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Mind Mapping
helmedeiros
PRO
1
140
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話 id:masayosu / @masayosu 2022/06/07 Hatena
Engineer Seminar #20 AWS Renovation 編 1
自己紹介 • id: masayosu • Twitter: @masayosu • 組織・基盤開発本部 プラットフォーム部
サービスプラットフォームチーム SRE • 趣味 ◦ 登山、キャンプ、ゲーム 2
サービスプラットフォームチームについて • 新旧多くのサービスを抱えているチーム ◦ はてなポータル、はてなスター、匿名ダイアリー • 少数(精鋭?) • 以降のスライドではSPFと表記します 3
はてなにおけるKubernetes • 2019年に撤退の話 ◦ MackerelにおけるKubernetes利用の取組みとこれか ら / Kubernetes Meetup Tokyo
#22 4
撤退の理由 • 自前クラスタ運用 ◦ 構築当時は東京リージョンにEKSが存在していなかった • 学習コストが高い ◦ クラスタ構築/運用含めて 5
撤退の理由 • 人員不足 ◦ 1~1.5人で運用 • クラスタバージョンアップに失敗 6
SPFがKubernetesを使う背景 • 社内にKubernetesの知見をFBする • EKSが東京リージョンに対応 (2018/12/20) • マイクロサービス(ぽいもの)な持ち物が多い • KubernetesのエコシステムとGitOpsを利用した自動的、統一されたリ
リース方法 7
EKSの構成 8
詳しくはこちら https://developer.hatenastaff.com/entry/2022/02/03/100525 9
CIについて 10 • GithubActions • Application Test & Manifest Test
◦ Polarisを利用 ◦ Image取得可能なリポジトリをホワイトリスト管理
• AWS Loadbalancer Controller をDockerHubから取得 • DockerHubのRatelimit • Imageが取得できずCrashLoop Polaris導入の背景
11
CDについて • ArgoCDを利用 ◦ GitOpsと相性の良いPull型のCDツール ◦ Kubernetesクラスタ上で動く( GKE上で動作している) ◦ 複数のクラスターをターゲットとしてデプロイ可能
12
デプロイフロー 13
デプロイフロー 14
• クラスタは BlueGreen 方式でバージョンアップ ◦ インプレースアップグレードは不可逆なため ◦ 複数バージョンを一気にあげたい ▪ SREリソースの問題でバージョンアップをスキップすることもある
• BlueGreenクラスタに同じアプリケーションをデプロイ クラスターバージョンアップ 15
クラスターバージョンアップ 16
• Pros ◦ 新旧クラスタに自動的にデプロイされて便利 ◦ ArgoCDのUI上で問題が発生しているかひと目でわかる • Cons ◦ ArgoCDの設定を新旧クラスタ分作成する必要があって煩雑
クラスターバージョンアップ 17
18 ちょっと話はそれますが
先日はてなアンテナが20周年を迎えました https://labo.hatenastaff.com/entry/antenna-20th 19
20 はてなアンテナも EKSで動いています
まとめ • EKSのデプロイフローを紹介しました ◦ 新旧問わず全てのサービスが統一されたデプロイフローで動いている ◦ デプロイフローが統一されているとリリース作業の負担が少ない • はてなKubernetes使ってます 21
今後検討していること • ArgoCDのApplicationSetを利用する ◦ クラスタバージョンアップ作業を楽にする • ArgoRolloutでBlueGreen Deploymentを検証 ◦ 必要になった時の準備
• はてなのEKS社内標準構成を検討 22
23 ご清聴 ありがとうございました