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 공용 로드 밸런서(100Mbps 모양)를 생성합니다. 로드 밸런서 서비스는 호스트 서브넷에서 비롯되지 않는 부동의 공용 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 설정은 생략하세요.

배포를 완료한 후, DNS 레코드 유형에 연결할 로드 밸런서의 IP 주소를 조회할 수 있습니다:

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

<RELEASE>helm install <RELEASE>에 사용된 릴리스 이름으로 대체되어야 합니다.