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
3.4k
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
masayosu
June 08, 2022
Tweet
Share
More Decks by masayosu
See All by masayosu
Kubernetes-Meetup-Tokyo-53
masayoshimaezawa
1
960
CircleCI_meetup7.pdf
masayoshimaezawa
1
110
BitValleyInside_auポータルでの取り組み.pdf
masayoshimaezawa
0
230
re:Invent2018 report
masayoshimaezawa
0
23
某ポータルサイト リニューアルの話(インフラ)
masayoshimaezawa
0
56
$5からはじめるLightsail
masayoshimaezawa
3
300
Other Decks in Technology
See All in Technology
Airdrop for Open Source Projects
epicsdao
0
580
IoT から見る AWS re:invent 2022 ― AWSのIoTの歴史を添えて/Point of view the AWS re:invent 2022 with IoT - with a history of IoT in AWS
ma2shita
0
240
MarvelClient Upgrade 64bit クライアントへの自動アップグレード設定
mitsuru_katoh
0
110
PCI DSS に準拠したシステム開発
yutadayo
0
300
Kaggleシミュレーションコンペの動向
nagiss
0
250
ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作
minako__ph
0
140
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
170
Optimizing your Swift code
kateinoigakukun
0
1.4k
JAWS-UG 横浜 #54 資料
takakuni
0
200
USB PD で迎える AC アダプター大統一時代
puhitaku
2
1.9k
組織に対してSREを適用するとどうなるか
kuniim
1
130
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
350
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
38
3.6k
A better future with KSS
kneath
230
16k
Teambox: Starting and Learning
jrom
124
7.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
317
22k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Web Components: a chance to create the future
zenorocha
304
40k
Rails Girls Zürich Keynote
gr2m
87
12k
Ruby is Unlike a Banana
tanoku
93
9.5k
The Language of Interfaces
destraynor
149
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
It's Worth the Effort
3n
177
26k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
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 ご清聴 ありがとうございました