Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
masayosu
June 08, 2022
Technology
0
2.6k
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
masayosu
June 08, 2022
Tweet
Share
More Decks by masayosu
See All by masayosu
CircleCI_meetup7.pdf
masayoshimaezawa
1
99
BitValleyInside_auポータルでの取り組み.pdf
masayoshimaezawa
0
190
re:Invent2018 report
masayoshimaezawa
0
9
某ポータルサイト リニューアルの話(インフラ)
masayoshimaezawa
0
45
$5からはじめるLightsail
masayoshimaezawa
2
280
Other Decks in Technology
See All in Technology
JDK Flight Recorder入門
chiroito
1
490
Modern Android dependency injection
hugovisser
1
120
複数のスクラムチームをサポートするエンジニアリングマネジメントの話
okeicalm
0
1k
ウォーターフォールとアジャイルと楽楽明細/Waterfall×Agile×Rakurakumeisai
whitefox_73
1
350
スタートアップと技術選定と AWS
track3jyo
PRO
0
190
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.2k
チームとチームのチーム
eiel
1
930
PUTとPOSTどっち使う?
hankehly
0
180
モブに早く慣れたい人のためのガイド / A Guide to Getting Started Quickly with Mob Programming
cybozuinsideout
PRO
2
1.6k
WACATE 2022 夏 ワークショップの目的
imtnd
0
120
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
180
1人目QA奮闘記/QA Engineer's Struggle
mii3king
2
1k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
The Web Native Designer (August 2011)
paulrobertlloyd
74
1.9k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
How to name files
jennybc
40
60k
Building Adaptive Systems
keathley
25
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
Typedesign – Prime Four
hannesfritz
33
1.3k
Statistics for Hackers
jakevdp
781
210k
Happy Clients
brianwarren
89
5.6k
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 ご清聴 ありがとうございました