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

Gitlab Operatorと夢見るGitlab自動化の旅

RyuSA
October 15, 2021

Gitlab Operatorと夢見るGitlab自動化の旅

Gitlab OperatorはKubernetes上にGitlabをデプロイし、Day-2 Operationの自動化を行なってくれるKubernetes Operatorです

詳細:https://ryusa.hatenablog.com/entry/2021/10/09/225436

RyuSA

October 15, 2021
Tweet

More Decks by RyuSA

Other Decks in Technology

Transcript

  1. RyuSA Financial Service Engineer Java & SpringBoot / Typescript &

    React Docker / Kubernetes : RyuSA : ryusa_eng
  2. • Gitlabに要求される”⾼可⽤性” • 意思決定の場として使われるため、Gitlabが落ちると意思決定が滞る • 継続的開発(CI)を実現するために、Gitlabが落ちると開発が滞る • 継続的デリバリー(CD)を実現するために、Gitlabが落ちるとデリバリーが滞る → いまやGitlabが落ちると、サービス/SLAへの影響が出る可能性がある🤔

    • Gitlabの多様な機能への”拡張” • Gitlabの機能拡充により、開発が効率がさらに良くなっていく • 開発者「Gitlab 14の新機能が素晴らしい︕明⽇にでもGitlab(Gitlab 11系)アップグレードしてくれ」 • 管理者「っ……︕︕開発者の⼈っていつもそうですよね︕管理者のことなんだと思って(ry」 → ますますGitlabを迅速にアップグレードできる体制が必要に🤔 加速するGitlab管理者への要求
  3. Gitlab Operator とは - Kubernetes上にGitlabをインストール/管理するためのツール - KubernetesのOperator Patternsに沿って実装 - The

    Operator offers the benefit of Day 2 operators to the GitLab installation - インストール後の”運⽤フェーズ”で楽するためのツール
  4. “Gitlab”リソース作成(CR) 作成検知 NGINX Gitaly (Cluster) Redis (Cluster) Webservice PostgreSQL …

    Operatorが“Gitlab”リソースに合わせた プロセス(=Pod)を作成して、管理してくれる Gitlab Operatorの挙動
  5. “Gitlab”リソース作成(CR) 作成検知 NGINX Gitaly (Cluster) Redis (Cluster) Webservice PostgreSQL …

    Kubernetesが起動するプロセス数(=replicas)や プロセス死活管理(=Podが停⽌した際の挙動)をしてくれる Gitlab Operatorの挙動
  6. “Gitlab”リソース修正 変更検知 NGINX Gitaly (Cluster) Redis (Cluster) Webservice PostgreSQL …

    Gitlab Operatorの挙動 Operatorが“Gitlab”リソースに合わせて Gitlabをあるべき姿に変更していく(=リコンサイルループ)