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>
で使われているリリース名に置き換えてください。