2021年6月10日木曜日

Gitlab helm chart で複数の Praefect をデプロイして Gitaly Cluster を構成する方法

Gitlab helm chart で複数の Praefect をデプロイして Gitaly Cluster を構成する方法

概要

前回 helm chart で praefect を有効にする方法を紹介しました 今回は praefect を増やして Gitaly Cluster を構成する方法を紹介ます

環境

  • helm v3.5.2
  • k8s v1.20.1
  • nginx-ingress v0.46.0

values.yaml

praefect を複数にする=gitaly cluster を増やすということになります praefect を増やすには virtualStorage の配列部分を増やしてあげれば OK です

例えば以下のように設定します (他の設定は省略しています)

global:
  praefect:
    enabled: true
    virtualStorages:
    - name: default
      gitalyReplicas: 3
      maxUnavailable: 2
    - name: vs1
      gitalyReplicas: 3
      maxUnavailable: 2

動作確認

これでデプロイすると praefect が 2 Pod になり、gitaly Pod が 6 つになっているのが確認できます

# kubectl get pod -n gitlab | grep gitaly
gitlab-gitaly-default-0                               1/1     Running     0          68m
gitlab-gitaly-default-1                               1/1     Running     0          68m
gitlab-gitaly-default-2                               1/1     Running     0          68m
gitlab-gitaly-vs1-0                                   1/1     Running     0          13m
gitlab-gitaly-vs1-1                                   1/1     Running     0          13m
gitlab-gitaly-vs1-2                                   1/1     Running     0          13m

# kubectl get pod -n gitlab | grep praefect
gitlab-praefect-0                                     1/1     Running     0          11m
gitlab-praefect-1                                     1/1     Running     0          12m

この状態で push して一度データを gitaly に格納します そして片方の gitaly cluster を削除しても問題なく git push/pull や GUI 上でのファイル確認をすることができると思います

削除する場合は default の virtualStorage は必須なので vs1 側を削除しましょう

PVC は

gitalyReplicas で指定した分だけ PVC は作成されます

kubectl get pvc -n gitlab | grep gitaly
repo-data-gitlab-gitaly-default-0   Bound    pvc-b7bf03a9-c51d-42f7-93aa-930862fbe03c   50Gi       RWO            nfs            71m
repo-data-gitlab-gitaly-default-1   Bound    pvc-db56800f-6c38-4236-82b0-3fb375cb1fcd   50Gi       RWO            nfs            71m
repo-data-gitlab-gitaly-default-2   Bound    pvc-460bd845-c3a4-48af-acea-0f24a39fcad8   50Gi       RWO            nfs            71m
repo-data-gitlab-gitaly-vs1-0       Bound    pvc-5f80051d-b141-487a-866e-c2c04c74188c   50Gi       RWO            nfs            71m
repo-data-gitlab-gitaly-vs1-1       Bound    pvc-d5815636-c504-4335-b713-cc17af1c96a8   50Gi       RWO            nfs            71m
repo-data-gitlab-gitaly-vs1-2       Bound    pvc-4009a7f3-d199-4912-a690-ae1c3c16c6a5   50Gi       RWO            nfs            71m

GUI 上では

Gitlab の Admin area -> Overview -> Gitaly Servers でもちゃんと Praefect の数だけクラスタが確認できます

0 件のコメント:

コメントを投稿