GitLab 차트를 위한 OKE 리소스 준비
전적으로 기능하는 GitLab 인스턴스를 위해 GitLab 차트를 Oracle Container Engine for Kubernetes (OKE)에 배포하기 전에 몇 가지 리소스가 필요합니다. OKE 클러스터를 생성하기 전에 Oracle Cloud Infrastructure 테넌시를 준비하는 방법을 확인하세요.
OKE 클러스터 생성
사전 요구 사항:
- 사전 요구 사항을 설치하세요.
Kubernetes 클러스터를 수동으로 프로비저닝하려면 OKE 지침을 따르세요. OKE에서 지원하는 작업자 노드를 위한 컴퓨트 모양의 목록을 확인하세요.
4 OCPU와 30GB의 RAM을 가진 클러스터가 권장됩니다.
GitLab에 대한 외부 액세스
기본적으로 GitLab 차트는 Oracle Cloud Infrastructure 퍼블릭 로드 밸런서를 생성하는 Ingress Controller를 배포합니다. 이 로드 밸런서는 100Mbps 모양을 가집니다. 로드 밸런서 서비스는 호스트 서브넷에서 나오지 않는 공용 플로팅 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>
에서 사용된 릴리스 이름으로 대체해야 합니다.