Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話
by
masayosu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話 id:masayosu / @masayosu 2022/06/07 Hatena Engineer Seminar #20 AWS Renovation 編 1
Slide 2
Slide 2 text
自己紹介 ● id: masayosu ● Twitter: @masayosu ● 組織・基盤開発本部 プラットフォーム部 サービスプラットフォームチーム SRE ● 趣味 ○ 登山、キャンプ、ゲーム 2
Slide 3
Slide 3 text
サービスプラットフォームチームについて ● 新旧多くのサービスを抱えているチーム ○ はてなポータル、はてなスター、匿名ダイアリー ● 少数(精鋭?) ● 以降のスライドではSPFと表記します 3
Slide 4
Slide 4 text
はてなにおけるKubernetes ● 2019年に撤退の話 ○ MackerelにおけるKubernetes利用の取組みとこれか ら / Kubernetes Meetup Tokyo #22 4
Slide 5
Slide 5 text
撤退の理由 ● 自前クラスタ運用 ○ 構築当時は東京リージョンにEKSが存在していなかった ● 学習コストが高い ○ クラスタ構築/運用含めて 5
Slide 6
Slide 6 text
撤退の理由 ● 人員不足 ○ 1~1.5人で運用 ● クラスタバージョンアップに失敗 6
Slide 7
Slide 7 text
SPFがKubernetesを使う背景 ● 社内にKubernetesの知見をFBする ● EKSが東京リージョンに対応 (2018/12/20) ● マイクロサービス(ぽいもの)な持ち物が多い ● KubernetesのエコシステムとGitOpsを利用した自動的、統一されたリ リース方法 7
Slide 8
Slide 8 text
EKSの構成 8
Slide 9
Slide 9 text
詳しくはこちら https://developer.hatenastaff.com/entry/2022/02/03/100525 9
Slide 10
Slide 10 text
CIについて 10 ● GithubActions ● Application Test & Manifest Test ○ Polarisを利用 ○ Image取得可能なリポジトリをホワイトリスト管理
Slide 11
Slide 11 text
● AWS Loadbalancer Controller をDockerHubから取得 ● DockerHubのRatelimit ● Imageが取得できずCrashLoop Polaris導入の背景 11
Slide 12
Slide 12 text
CDについて ● ArgoCDを利用 ○ GitOpsと相性の良いPull型のCDツール ○ Kubernetesクラスタ上で動く( GKE上で動作している) ○ 複数のクラスターをターゲットとしてデプロイ可能 12
Slide 13
Slide 13 text
デプロイフロー 13
Slide 14
Slide 14 text
デプロイフロー 14
Slide 15
Slide 15 text
● クラスタは BlueGreen 方式でバージョンアップ ○ インプレースアップグレードは不可逆なため ○ 複数バージョンを一気にあげたい ■ SREリソースの問題でバージョンアップをスキップすることもある ● BlueGreenクラスタに同じアプリケーションをデプロイ クラスターバージョンアップ 15
Slide 16
Slide 16 text
クラスターバージョンアップ 16
Slide 17
Slide 17 text
● Pros ○ 新旧クラスタに自動的にデプロイされて便利 ○ ArgoCDのUI上で問題が発生しているかひと目でわかる ● Cons ○ ArgoCDの設定を新旧クラスタ分作成する必要があって煩雑 クラスターバージョンアップ 17
Slide 18
Slide 18 text
18 ちょっと話はそれますが
Slide 19
Slide 19 text
先日はてなアンテナが20周年を迎えました https://labo.hatenastaff.com/entry/antenna-20th 19
Slide 20
Slide 20 text
20 はてなアンテナも EKSで動いています
Slide 21
Slide 21 text
まとめ ● EKSのデプロイフローを紹介しました ○ 新旧問わず全てのサービスが統一されたデプロイフローで動いている ○ デプロイフローが統一されているとリリース作業の負担が少ない ● はてなKubernetes使ってます 21
Slide 22
Slide 22 text
今後検討していること ● ArgoCDのApplicationSetを利用する ○ クラスタバージョンアップ作業を楽にする ● ArgoRolloutでBlueGreen Deploymentを検証 ○ 必要になった時の準備 ● はてなのEKS社内標準構成を検討 22
Slide 23
Slide 23 text
23 ご清聴 ありがとうございました