Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話

masayosu
June 08, 2022

Amazon EKS マルチテナントクラスターにおける ArgoCDを利用した デプロイフローの話

masayosu

June 08, 2022
Tweet

More Decks by masayosu

Other Decks in Technology

Transcript

  1. Amazon EKS
    マルチテナントクラスターにおける
    ArgoCDを利用した
    デプロイフローの話
    id:masayosu / @masayosu
    2022/06/07 Hatena Engineer Seminar #20
    AWS Renovation 編
    1

    View Slide

  2. 自己紹介
    ● id: masayosu
    ● Twitter: @masayosu
    ● 組織・基盤開発本部
    プラットフォーム部
    サービスプラットフォームチーム
    SRE
    ● 趣味
    ○ 登山、キャンプ、ゲーム
    2

    View Slide

  3. サービスプラットフォームチームについて
    ● 新旧多くのサービスを抱えているチーム
    ○ はてなポータル、はてなスター、匿名ダイアリー
    ● 少数(精鋭?)
    ● 以降のスライドではSPFと表記します
    3

    View Slide

  4. はてなにおけるKubernetes
    ● 2019年に撤退の話
    ○ MackerelにおけるKubernetes利用の取組みとこれか
    ら / Kubernetes Meetup Tokyo #22
    4

    View Slide

  5. 撤退の理由
    ● 自前クラスタ運用
    ○ 構築当時は東京リージョンにEKSが存在していなかった
    ● 学習コストが高い
    ○ クラスタ構築/運用含めて
    5

    View Slide

  6. 撤退の理由
    ● 人員不足
    ○ 1~1.5人で運用
    ● クラスタバージョンアップに失敗
    6

    View Slide

  7. SPFがKubernetesを使う背景
    ● 社内にKubernetesの知見をFBする
    ● EKSが東京リージョンに対応 (2018/12/20)
    ● マイクロサービス(ぽいもの)な持ち物が多い
    ● KubernetesのエコシステムとGitOpsを利用した自動的、統一されたリ
    リース方法
    7

    View Slide

  8. EKSの構成
    8

    View Slide

  9. 詳しくはこちら
    https://developer.hatenastaff.com/entry/2022/02/03/100525
    9

    View Slide

  10. CIについて
    10
    ● GithubActions
    ● Application Test & Manifest Test
    ○ Polarisを利用
    ○ Image取得可能なリポジトリをホワイトリスト管理

    View Slide

  11. ● AWS Loadbalancer Controller をDockerHubから取得
    ● DockerHubのRatelimit
    ● Imageが取得できずCrashLoop
    Polaris導入の背景
    11

    View Slide

  12. CDについて
    ● ArgoCDを利用
    ○ GitOpsと相性の良いPull型のCDツール
    ○ Kubernetesクラスタ上で動く( GKE上で動作している)
    ○ 複数のクラスターをターゲットとしてデプロイ可能
    12

    View Slide

  13. デプロイフロー
    13

    View Slide

  14. デプロイフロー
    14

    View Slide

  15. ● クラスタは BlueGreen 方式でバージョンアップ
    ○ インプレースアップグレードは不可逆なため
    ○ 複数バージョンを一気にあげたい
    ■ SREリソースの問題でバージョンアップをスキップすることもある
    ● BlueGreenクラスタに同じアプリケーションをデプロイ
    クラスターバージョンアップ
    15

    View Slide

  16. クラスターバージョンアップ
    16

    View Slide

  17. ● Pros
    ○ 新旧クラスタに自動的にデプロイされて便利
    ○ ArgoCDのUI上で問題が発生しているかひと目でわかる
    ● Cons
    ○ ArgoCDの設定を新旧クラスタ分作成する必要があって煩雑
    クラスターバージョンアップ
    17

    View Slide

  18. 18
    ちょっと話はそれますが

    View Slide

  19. 先日はてなアンテナが20周年を迎えました
    https://labo.hatenastaff.com/entry/antenna-20th
    19

    View Slide

  20. 20
    はてなアンテナも
    EKSで動いています

    View Slide

  21. まとめ
    ● EKSのデプロイフローを紹介しました
    ○ 新旧問わず全てのサービスが統一されたデプロイフローで動いている
    ○ デプロイフローが統一されているとリリース作業の負担が少ない
    ● はてなKubernetes使ってます
    21

    View Slide

  22. 今後検討していること
    ● ArgoCDのApplicationSetを利用する
    ○ クラスタバージョンアップ作業を楽にする
    ● ArgoRolloutでBlueGreen Deploymentを検証
    ○ 必要になった時の準備
    ● はてなのEKS社内標準構成を検討
    22

    View Slide

  23. 23
    ご清聴
    ありがとうございました

    View Slide