/
GitLab Kubernetes(Google Kubernetes Engine) 연동

GitLab Kubernetes(Google Kubernetes Engine) 연동

Google OAuth2 OmniAuth Provider 구성

Google OAuth2 OmniAuth 제공자를 사용하려면 애플리케이션을 Google에 등록해야합니다.

Google OAuth 활성화

구글 측에서 :

  1. Cloud resource manager 페이지로 이동

  2. Create Project 선택

  3. 프로젝트 정보 제공

    • Project name - 프로젝트 이름 생성

    • Project ID - 고유 ID 생성. Google은 기본적으로 임의로 생성 된 프로젝트 ID를 제공합니다. 임의로 생성 된 ID를 사용하거나 새 ID를 선택할 수 있습니다.

  4. Google APIs & Services로 이동

  5. OAuth consent screen 선택 하고 필요한 정보로 양식 작성

  6. Credentials탭에서 Create credentials > OAuth client ID 선택

  7. 필요한 정보 작성

    • Application type - "Web Application" 선택

    • Name - 이름 입력

    • Authorized JavaScript origins - 도메인 입력( GitLab에서 실제로 사용되지는 않음)

      https://ec2-3-34-48-235.ap-northeast-2.compute.amazonaws.com
    • Authorized redirect URIs -도메인과 콜백 URI를 각각 입력

      https://ec2-3-34-48-235.ap-northeast-2.compute.amazonaws.com/users/auth/google_oauth2/callback https://ec2-3-34-48-235.ap-northeast-2.compute.amazonaws.com/-/google_api/auth/callback
  8. Client ID와 Client secret 확인

  9. 프로젝트가 Google Kubernetes Engine 에 액세스 할 수 있게 하려면 아래 API 활성화 필요

    • Google Kubernetes Engine API

    • Cloud Resource Manager API

    • Cloud Billing API

    활성화 하려면 :

    1. Google APIs & Services 이동

    2. 페이지의 상단에있는 ENABLE APIS AND SERVICES 클릭

    3. 각 API 검색. API 페이지에서 ENABLE 클릭

       

GitLab 서버에서 :

  1. 구성 파일 수정

    sudo editor /etc/gitlab/gitlab.rb
  2. provider 구성 추가

  3. YOUR_APP_ID - Google Cloud platform의 Client ID로 변경

  4. YOUR_APP_SECRET - Client secret으로 변경

  5. 변경 사항 적용

GKE에서 클러스터 생성

새로운 Kubernetes 클러스터를 생성하여 프로젝트, 그룹 또는 인스턴스에 추가하려면:

  1. 다음과 같이 이동:

    • 프로젝트 수준 클러스터 - 프로젝트 화면의 Operations > Kubernetes 페이지

    • 그룹 수준 클러스터 - 그룹의 Kubernetes 페이지

    • 인스턴스 레벨 클러스터 - Admin Area > Kubernetes 페이지

  2. Add Kubernetes cluster 클릭

  3. Create new cluster 탭에서 Google GKE 클릭

  4. 아직 Google 계정을 연결하지 않은 경우 Sign in with Google 버튼 클릭하여 연결

  5. 클러스터 설정:

    • Kubernetes cluster name - 클러스터에 부여하려는 이름

    • Environment scope - 이 클러스터와 연관된 환경

    • Google Cloud Platform project - GCP 콘솔에서 생성한 프로젝트 선택

    • Zone - 클러스터가 생성될 영역

    • Number of nodes - 클러스터에 원하는 노드 수

    • Machine type - 클러스터가 기반으로 하는 가상 머신 인스턴스의 머신 유형

    • Enable Cloud Run for Anthos - 이 클러스터에 Anthos 용 Cloud Run을 사용하는 옵션. 자세한 정보는 Anthos 용 Cloud Run 섹션 참조

    • GitLab-managed cluster - GitLab이 클러스터의 네임 스페이스와 서비스 계정을 관리하게 하는 옵션. 자세한 정보는 관리 클러스터 섹션 참조

  6. Create Kubernetes cluster 버튼 클릭

  7. Base Domain 입력 및 Applications 탭에서 Helm tiller, Gitlab runner 등 어플 설치