빠른 시작: 온프렘의 Cloud Run for Anthos에 배포

이 페이지에서는 온프렘의 Cloud Run for Anthos에 사용 설정된 Google Kubernetes Engine 클러스터를 만든 다음 사전 빌드된 샘플 컨테이너를 클러스터에 배포하는 방법을 보여줍니다.

시작하기 전에

  1. 이 빠른 시작에서는 Cloud Run이 사용 설정된 활성 GKE On-Prem 클러스터가 있다고 가정합니다. 클러스터를 만들려면 Cloud Run이 사용 설정된 GKE On-Prem 클러스터 만들기를 참조하세요.

    Anthos에 대한 자세한 내용은 Anthos 가격 책정을 참조하세요.

  2. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  3. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  4. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  7. 배포된 샘플 서비스에 요청을 보내려면 cURL을 설치합니다.
  8. gcloud 명령줄 및 kubetcl 명령줄 도구를 설정합니다. 자세한 내용은 아래에 설명되어 있습니다.

gcloud 설정

온프렘의 Cloud Run for Anthos에 gcloud 명령줄을 설정하려면 다음 안내를 따르세요.

  1. 아직 Cloud SDK를 설치하고 초기화하지 않았다면 Cloud SDK를 설치하고 초기화합니다.

  2. 플랫폼을 kubernetes로 설정하고 gcloud의 기본 프로젝트 설정을 방금 만든 설정으로 지정합니다.

    gcloud config set run/platform kubernetes
    gcloud config set project PROJECT-ID

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

  3. 설치된 gcloud 구성요소를 업데이트합니다.

    gcloud components update
  4. gcloud 구성요소를 설치합니다.

    gcloud components install beta

kubectl 설정

GKE On-Prem을 사용 중인 경우 kubectl이 이미 설치되어 있을 수 있습니다.

kubectl이 설치되어 있지 않으면 다음 명령어를 사용하여 설치할 수 있습니다.

gcloud components install kubectl

샘플 컨테이너 배포

방금 만든 클러스터에 컨테이너를 배포하려면 다음 안내를 따르세요.

  1. 다음 명령어를 실행합니다.

    gcloud run deploy SERVICE --image IMAGE_URL
    • SERVICE를 배포할 서비스의 이름으로 바꿉니다. 이 매개변수를 완전히 생략할 수 있지만 생략하면 서비스 이름을 입력하라는 메시지가 표시됩니다.
    • IMAGE_URL을 컨테이너 이미지 참조(예를 들어 gcr.io/myproject/my-image:latest)로 바꿉니다.
  2. 배포가 완료될 때까지 기다립니다. 성공적으로 완료되면 배포된 서비스의 URL이 포함된 성공 메시지가 표시됩니다.

배포된 서비스에 액세스

서비스를 배포한 후에는 cURL을 사용하여 Istio 인그레스 컨트롤러용으로 만든 부하 분산기 서비스의 외부 IP 주소를 사용하여 요청을 보내고 서비스가 작동하는지 확인할 수 있습니다.

  1. kubectl 명령줄을 사용하여 IP 주소를 가져오고 기록합니다.

    kubectl get svc istio-ingress -n gke-system --output 'jsonpath={.status.loadBalancer.ingress[0].ip}'

  2. kubectl 명령줄을 사용하여 호스트 이름을 가져오고 기록합니다.

    kubectl get route SERVICE  --output jsonpath='{.status.url}' | sed 's/https\?:\/\///'

    SERVICE를 서비스 이름으로 바꿉니다.

  3. 서비스의 HOST_URLIP_ADDRESS로 cURL을 호출합니다.

    curl -v -H "Host: HOST_URL" http://IP_ADDRESS

    다음과 같이 바꿉니다.

    • HOST_URL을 이전 단계에서 가져온 호스트 이름으로 바꿉니다.
    • IP_ADDRESS를 이전 단계에서 가져온 IP 주소로 바꿉니다.

삭제

다음을 실행하여 Cloud Run 서비스를 삭제합니다.

gcloud run services delete SERVICE

SERVICE를 서비스 이름으로 바꿉니다.

다음 단계

코드 소스에서 컨테이너를 빌드한 다음 Container Registry로 푸시하고 배포하는 방법은 다음을 참조하세요.