Ssoon

[3주차] CHAPTER-14 깃랩을 이용한 로컬 Git 소스 저장소 본문

Production Kubernetes Online Study

[3주차] CHAPTER-14 깃랩을 이용한 로컬 Git 소스 저장소

구구달스 2023. 3. 22. 22:20
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 3주차 정리입니다.

  쿠버네티스  개발 / 운영 =  YAML 소스코드 만드는 것 => 이력관리 필수 !

✅ Helm 차트 기반으로 GitLab 설치

🧿 사전 준비 

   MetalLB 로드밸런서 타입의 서비스 를 확인합니다.

  디폴트 StorageClass 설정을 확인합니다.

🧿 GitLab Helm 차트를 다운받습니다.

https://artifacthub.io/packages/helm/gitlab/gitlab

 

gitlab 6.9.3 · gitlab/gitlab

The One DevOps Platform

artifacthub.io

🧿 압축을 풀고 변수 파일을 편집합니다.

  edition: ee 

    ee(Enterprise Edition)

  domain: gitlab.io

  ◾  GitLab에 사용할 도메인 / 외부에서 GitLab 접속용도 및 인증서 용도

certmanager-issuer: email: test@gitlab.io

 ◾ 인증서에 사용할 메일 주소(임의 지정)

  promethus, gitlab-runner: install: false

 ◾ 모니터링, CI/CD 기능을 사용하지 않아 false로 설치하지 않습니다.

 

🧿 GitLab 네임스페이스를 만들고 설치를 진행합니다.

  gitlab-certmanager

  ◾  SSL/TLS 인증서 설치/관리

  gitlab-gitaly

  ◾  git 요청 작업 등에 대한 작업 담당

  gitlab-gitlab-shell

  ◾  https가 아닌 ssh 방식의 git 요청 처리

  gitlab-nginx-ingress-controller

  ◾  인그레스 방식으로 GitLab Pod 외부 노출, SSL/TLS 인증서를 자동으로 생성

  gitlab-postgresql

  ◾  유저 권한등 GitLab 메타데이터 저장

  gitlab-redis

  ◾  GitLab 작업 정보 처리

  gitlab-sidekiq

  ◾  redis와 연동 작업 큐 처리

  gitlab-webservice

  ◾  GitLab 웹 서비스 처리

 

🧿 GitLab 접속정보를 확인하고 로그인합니다.

🧿 새로운 사용자를 생성합니다.

로컬 쿠버네티스 YAML 소스코드를 GitLab 동기화

  GitLab 은 소스 저장소를 프로젝트 단위로 관리합니다.

  GitLab 프로젝트를 쿠버네티스의 Cluster단위로 구분해서 사용합니다.

 

🧿 새로 생성한 사용자로 로그인 후 새로운 프로젝트를 생성합니다.

🧿 사설 인증서 체크 설정을 해제합니다.

🧿 GitLab URL 에 접속합니다. 내려받은 README.md 파일을 확인합니다.

🧿 새로 생성된 GitLab 프로젝트에 YAML 파일을 업로드합니다.

🧿 GitLab 웹에서 Push 한 파일을 확인할 수 있습니다.

🧿 새로운 사용자 (test01) 을 생성합니다.

🧿 쿠버네티스 Node 중 하나인 ubuntu20-1 Node에 접속하여 GitLab 소스를 다운받습니다.

  쿠버네티스 manifest 파일을 적용하기 전에  git clone 을 통해 다른 사용자의 소스코드를 확인합니다.

🧿 GitLab 프로젝트에 파일을 추가/수정하기 위해 test01 사용자를 멤버로 추가합니다.

🧿 README.md 파일을 수정후 업로드 합니다.

🧿 GitLab 웹페이지에서 업로드 된 정보를 확인합니다.

🧿 Ssoon 계정에서 README.md 파일을 수정한 후 업로드를 진행하면 에러가 발생합니다.

  이미 다른 사용자가 파일을 먼저 수정해서 발생한 에러

🧿 먼저 git pull 로 변경된 파일을 다운받아 동기화하고 파일을 업로드 합니다.

🧿 GitLab 웹페이지에서 업로드 된 정보를 확인합니다.

Comments