GitLab 차트를 위한 OKE 리소스 준비

Tier: Free, Premium, Ultimate Offering: Self-managed

완전히 기능하는 GitLab 인스턴스를 위해, Oracle Container Engine for Kubernetes (OKE)에 GitLab 차트를 배포하기 전 몇 가지 리소스가 필요합니다. OKE 클러스터를 생성하기 전에 Oracle Cloud Infrastructure 테넌시를 준비하는 방법을 확인하세요.

OKE 클러스터 생성

필수 조건:

수동으로 Kubernetes 클러스터를 프로비저닝하려면 OKE 지침을 따르세요. OKE에서 지원되는 워커 노드용 컴퓨팅 샤프트 목록을 확인하세요.

4 OCPUs와 30GB RAM으로 구성된 클러스터를 권장합니다.

GitLab에 대한 외부 액세스

기본적으로 GitLab 차트는 인그레스 컨트롤러를 배포하여 Oracle Cloud Infrastructure Public Load Balancer를 만듭니다. 로드 밸런서 서비스는 호스트 서브넷에서 오지 않는 부동의 공용 IP 주소를 할당합니다.

차트 설치 중에 모양 및 기타 구성 (포트, SSL, 보안 목록 등)을 변경하려면 다음 명령줄 인수 nginx-ingress.controller.service.annotations를 사용할 수 있습니다. 예를 들어, 400Mbps 모양의 로드 밸런서를 지정하려면:

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

배포된 후, 인그레스 컨트롤러 서비스와 연결된 주석을 확인할 수 있습니다:

$ 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>에 사용된 릴리스 이름으로 대체되어야 합니다.