GitLabチャート用のOKEリソースの準備
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
完全に機能するGitLabインスタンスの場合、GitLabチャートをOracle Container Engine for Kubernetes(OKE)にデプロイする前に、いくつかのリソースが必要です。OKEクラスターを作成する前に、Oracle Cloud Infrastructureテナンシーを準備する方法を確認してください。
OKEクラスターの作成
前提要件:
- 前提要件をインストールします。
Kubernetesクラスターを手動でプロビジョニングするには、OKEの手順に従ってください。OKEでサポートされているワーカーノードで使用可能なコンピューティングシェイプのリストを確認してください。
4つのOCPUと30GBのRAMを持つクラスターをお勧めします。
GitLabへの外部アクセス
デフォルトでは、GitLabチャートは、100Mbpsのシェイプを持つOracle Cloud Infrastructureパブリックロードバランサーを作成するIngressコントローラーをデプロイします。ロードバランサーサービスは、ホストサブネットからのものではないフローティングパブリックIPアドレスを割り当てます。
チャートのインストール中にシェイプやその他の設定(ポート、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ロードバランサーのドキュメントを確認してください。
次の手順
クラスターが起動して実行されたら、チャートのインストールを続行します。global.hosts.domainオプションでDNSドメイン名を設定しますが、global.hosts.externalIPオプションによる静的IPの設定は省略します。
デプロイが完了したら、ロードバランサーのIPアドレスをクエリして、DNSレコードの種類に関連付けることができます:
kubectl get ingress/<RELEASE>-webservice-default -ojsonpath='{.status.loadBalancer.ingress[0].ip}'<RELEASE>は、helm install <RELEASE>で使用されるリリース名に置き換える必要があります。