GitLabチャート用のOKEリソースの準備

GitLabインスタンスを完全に機能させるには、GitLabチャートをOracle Container Engine for Kubernetes(OKE) にデプロイする前にいくつかのリソースが必要です。OKEクラスターを作成する前に、Oracle Cloud Infrastructureテナントを準備する方法を確認してください。

OKEクラスターの作成

前提条件:

  • 前提条件をインストールします。

Kubernetesクラスタを手動でプロビジョニングするには、OKEの指示に従います。OKEがサポートするワーカーノードで利用可能なコンピュートシェイプのリストを確認します。

4つのOCPUと30GBのRAMを備えたクラスターを推奨します。

GitLabへの外部アクセス

デフォルトでは、GitLab Chartは100MbpsシェイプのOracle Cloud Infrastructure Public Load Balancerを作成するIngress Controllerをデプロイします。ロードバランサーサービスは、ホストのサブネットに由来しないフローティング公開IPアドレスを割り当てます。

Chartのインストール中に形状やその他の設定(ポート、SSL、セキュリティリストなど)を変更するには、次のコマンドライン引数nginx-ingress.controller.service.annotations 。例えば、400Mbpsのロードバランサーを指定するには、次のようにします:

--set nginx-ingress.controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-shape"="400Mbps"

デプロイすると、Ingress コントローラサービスに関連するアノテーションをチェックできます:

$ kubectl get service gitlab-nginx-ingress-controller -o yaml

apiVersion: v1
kind: Service
metadata:
  annotations:
    ...
    service.beta.kubernetes.io/oci-load-balancer-shape: 400Mbps
    ...

詳細はOKE ロードバランサーのドキュメントを参照してください。

次のステップ

クラスターを稼働させたら、Chartのインストールを続行します。DNSドメイン名はglobal.hosts.domain オプションで設定しますが、静的IP設定はglobal.hosts.externalIP オプションで省略します。

デプロイが完了したら、ロードバランサのIPアドレスをクエリしてDNSレコードタイプに関連付けることができます:

kubectl get ingress/<RELEASE>-webservice-default -ojsonpath='{.status.loadBalancer.ingress[0].ip}'

<RELEASE>helm install <RELEASE> で使われているリリース名に置き換えてください。