프라이빗 이미지 저장소를 연결하면 Container 템플릿으로 커스텀 이미지를 배포할 수 있습니다. 본 가이드에서는 GitHub Container Registry, GCP Artifact Registry, Docker Hub의 연결을 다룹니다.

저장소 연결

Personal Access Token 생성

GitHub 계정의 Settings에 진입 후 Developer settings > Personal access tokens (classic) 페이지에서 Generate new token > Generate new token(classic)을 클릭해 토큰을 생성하세요.

권한 부여 및 토큰 발급

아래의 권한을 부여하고 Generate token을 클릭하세요.
  • repo
  • write:packages
  • admin:public_key
토큰 생성이 완료되면 토큰 값이 표시됩니다. 토큰은 생성 시 최초 한 번만 값을 확인할 수 있습니다.

ale에 연결

스페이스 설정화면의 애드온 메뉴에서 컨테이너 저장소 연결하기를 클릭하면 표시되는 컨테이너 저장소 설정 창에서 아래의 값들을 입력한 후 연결하기를 클릭하면 GitHub Container Registry가 연결됩니다.
  • 저장소 제공자 : GitHub Container Registry
  • GitHub 아이디 : GitHub ID
  • 퍼스널 엑세스 토큰(PAT) : GitHub에서 생성한 Personal Access Token

GCP Artifact Registry 생성

Google Cloud 콘솔에서 Artifact Registry 서비스에 접속한 후 저장소 만들기를 클릭하세요.
저장소의 이름을 적절히 정하고 아래의 값들을 입력한 후 만들기를 클릭하면 저장소가 생성됩니다.
  • 형식 : Docker
  • 모드 : 표준
  • 위치 유형 : 리전
  • 리전 : 사용자의 상황에 맞는 리전 선택
  • 암호화 : Google 관리 암호화 키

저장소 접속 주소 조회

생성된 저장소를 클릭하면 [리전]-docker.pkg.dev/[GCP 프로젝트 ID]/[저장소이름] 형식의 접속 주소를 조회할 수 있습니다.
저장소 접속 주소는 ale에서 저장소를 연결할 때 사용됩니다.

서비스 계정 생성 및 권한 부여

Google Cloud 콘솔의 IAM 및 관리자 > 서비스 계정 페이지에서 서비스 계정 만들기를 클릭하세요.
식별할 수 있는 서비스 계정 이름을 작성한 후 만들고 계속하기를 클릭합니다.
역할 선택 창에서 Artifact Registry 관리자 항목을 선택하고, 완료를 클릭하면 서비스 계정이 생성됩니다.

JSON KEY 만들기

생성된 서비스 계정 우측의 아이콘을 클릭한 후 키 관리를 선택하세요.
생성한 서비스 계정 키 관리 페이지의 키 추가 > 새 키 만들기를 클릭하면 표시되는 비공개 키 만들기 창에서, 키 유형으로 JSON을 선택하고 만들기를 클릭하면 JSON 키가 파일 형태로 다운로드 됩니다.

ale에 연결

스페이스 설정화면의 애드온 메뉴에서 컨테이너 저장소 연결하기를 클릭하면 표시되는 컨테이너 저장소 설정 창에서 아래의 값들을 입력한 후 연결하기를 클릭하면 Google Cloud Artifact Registry가 연결됩니다.
  • 저장소 제공자 : Google Cloud Artifact Registry
  • 접속 주소 : 저장소 생성 후 조회한 접속주소
  • 키파일(JSON) : JSON 키 파일 내용

Docker Hub Access Token 생성

Docker Hub 계정을 만든 후 우측 상단의 계정명이 있는 버튼을 클릭합니다. 이어 Account Settings > Security 메뉴로 접속한 후에 New Access Token을 클릭하세요.

권한 부여 및 토큰 발급

Access Token Description 필드에 토큰의 용도나 역할을 구분할 수 있는 문구를 작성하고 Access permissions는 Read & Write 값을 선택하세요. 생성된 토큰은 최초 1회에 한해 조회할 수 있습니다.

ale에 연결

스페이스 설정화면의 애드온 메뉴에서 컨테이너 저장소 연결하기를 클릭하면 표시되는 컨테이너 저장소 설정 창에서 아래의 값들을 입력한 후 연결하기를 클릭하면 Docker Hub가 연결됩니다.
  • 저장소 제공자 : Docker Hub
  • 유저명 : Docker Hub ID
  • 비밀 번호(토큰) : Docker Hub Access token

이미지 배포

대시보드의 또는 ⌘ + K 로 생성되는 배포창에서 Container 템플릿 선택 후 필요한 설정값들을 입력하여 배포할 수 있습니다.
연결한 레지스트리에 있는 이미지의 이미지 주소와 태그를 함께 입력하세요.
이미지 배포를 위한 설정값을 입력해주세요.
  • uid : 컨테이너에서 프로세스를 실행하는 사용자의 고유한 식별자(기본값 1000)
  • gid : 컨테이너에서 프로세스가 속한 그룹의 고유한 식별자(기본값 1000)
  • Update strategy
    • Rolling Update : 새로운 버전의 서비스를 배포하면서 기존 파드 종료, 노드 가용자원 확보 필요
    • Recreate : 모든 서비스 종료후 새로운 버전의 서비스 생성 및 구동, 다운타임 발생
  • Shell : 컨테이너가 실행된 후 실행할 쉘(sh, bash, zsh 등)
  • 리소스 유형 : 온디맨드 리소스와 스팟 리소스 중 선택
  • CPU : 서비스가 사용할 수 있는 vCPU 리소스의 최대값으로, ‘최소’ 선택 시 0.1 vCPU로 설정됩니다.
  • 메모리 : 서비스가 사용할 수 있는 메모리 리소스의 최대값
  • 동시실행(레플리카) : 설정한 수만큼 서비스가 수평확장되어 부하 분산 및 안정성 확보
  • 배포 : 배포하기 클릭
리소스 제한으로 배포할 수 없는 경우 리소스 관리 페이지를 참고해 스페이스에 리소스를 추가하세요.