GKE 기본 도메인을 테스트에 사용 가능한 도메인으로 변경

기본적으로 Cloud Run for Anthos on Google Cloud는 기본 도메인으로 example.com을 사용하며, 서비스의 정규 도메인 이름은 http://{service}.{namespace}.example.com 형식으로 지정합니다. 이 URL은 요청을 수락하지 않습니다.

이 페이지에서는 Cloud Run for Anthos on Google Cloud 클러스터의 기본 도메인을 테스트 목적으로 사용할 수 있는 도메인으로 변경하는 방법을 보여줍니다. 이 안내에서는 무료 DNS 와일드 카드 사이트를 사용하므로 테스트용으로 커스텀 도메인을 구입할 필요가 없습니다. 하지만 원할 경우 소유하고 계신 커스텀 도메인에 와일드 카드를 사용해도 됩니다. 이 페이지에서는 두 가지 방법을 모두 보여줍니다.

시작하기 전에

Cloud SDK 및 kubectl을 설치하고 구성했는지 확인합니다.

와일드 카드 DNS의 대안 선택

개발 및 테스트할 때는 무료 와일드 카드 DNS 테스트 사이트 중 하나를 사용하도록 기본 도메인을 변경합니다. 예를 들면 다음과 같습니다.

이러한 무료 사이트를 사용하는 대신 기본 도메인을 소유한 커스텀 도메인으로 변경할 수 있으며, 이 경우 도메인을 구입한 다음 DNS 와일드 카드를 지원하도록 도메인 등록기관에 레코드를 설정해야 합니다.

외부 IP 주소 가져오기

무료 와일드 카드 DNS 사이트 중 하나를 사용하든 소유한 커스텀 도메인을 사용하든, Istio 인그레스 컨트롤러용으로 만든 부하 분산기 서비스의 외부 IP 주소를 가져와야 합니다.

Istio 인그레스 게이트웨이의 외부 IP를 가져오려면 다음 안내를 따르세요.

kubectl get svc ISTIO-GATEWAY -n NAMESPACE 
다음과 같이 ISTIO-GATEWAYNAMESPACE를 바꿉니다.
클러스터 버전 ISTIO-GATEWAY NAMESPACE
1.15.3-gke.19 이상
1.14.3-gke.12 이상
1.13.10-gke.8 이상
istio-ingress gke-system
다른 모든 버전 istio-ingressgateway istio-system

여기서 결과 출력은 다음과 같이 표시됩니다.

NAME            TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
ISTIO-GATEWAY    LoadBalancer   XX.XX.XXX.XX   pending     80:32380/TCP,443:32390/TCP,32400:32400/TCP

부하 분산기의 EXTERNAL-IP는 반드시 사용해야 하는 IP 주소입니다.

  • 무료 와일드 카드 사이트의 경우 클러스터 구성을 수정할 때 외부 IP 주소를 사용합니다. 자세한 내용은 아래에 설명되어 있습니다.
  • 소유한 커스텀 도메인의 경우 클러스터 구성에서 외부 IP 주소를 사용하지 않지만, 도메인 등록기관의 새 레코드 또는 업데이트된 레코드에 사용합니다.

클러스터 도메인 구성 수정

Cloud Run for Anthos on Google Cloud는 config-domain ConfigMap을 사용하여 클러스터에 배포된 모든 서비스의 기본 도메인을 정의합니다. 이 구성을 수정하는 명령어는 무료 와일드 카드 DNS 사이트 또는 소유한 커스텀 도메인 중 어느 것을 사용하는지에 따라 다릅니다.

무료 DNS 와일드 카드 사이트 사용

기본 도메인을 example.com에서 무료 DNS 와일드 카드 사이트 중 하나(예: xip.io)로 변경하려면 다음 명령어를 사용하세요.

kubectl patch configmap config-domain --namespace knative-serving --patch \
  '{"data": {"example.com": null, "[EXTERNAL-IP].xip.io": ""}}'

다음과 같이 바꿉니다.

  • [EXTERNAL-IP]를 부하 분산기 외부 IP 주소로 바꿉니다.
  • xip.io를 사용 중인 무료 와일드 카드 DNS 사이트로 바꿉니다.

이 값을 다시 변경하려면 다른 값을 사용하여 이 명령어를 반복하면 됩니다.

이제 {service-name}.{namespace}.{[EXTERNAL-IP].xip.io}에서 서비스를 사용할 수 있습니다.

커스텀 도메인으로 테스트

소유한 커스텀 도메인을 사용하려면 무료 와일드 카드 DNS 사이트 중 하나를 사용하는 대신 해당 도메인을 사용하여 테스트합니다.

  1. 다음 명령어를 사용하여 커스텀 도메인을 지정합니다.

    kubectl patch configmap config-domain --namespace knative-serving --patch \
    '{"data": {"example.com": null, "[DOMAIN]": ""}}'

    [DOMAIN]을 소유한 도메인으로 바꿉니다(예: mydomain.com). 위의 명령어는 ConfigMap에서 example.com를 삭제하고 mydomain.com를 기본 도메인으로 추가합니다. 다른 도메인으로 다시 변경하려면 이 명령어를 반복하면 됩니다.

  2. 본인 계정으로 도메인 등록기관에 로그인하고 DNS 구성 페이지를 엽니다.

  3. 도메인 구성 페이지의 호스트 레코드 섹션을 찾은 다음 필요한 리소스 레코드를 추가합니다.

    1. DNS 레코드를 DNS 제공업체의 계정에 추가하려면 다음을 수행하세요.

      • 레코드 유형 A를 선택합니다.
      • 다음 예시와 같이 와일드 카드 *를 입력합니다.

        DNS 와일드 카드

    2. 도메인 계정의 DNS 구성 페이지에 변경사항을 저장합니다. 대부분의 경우 변경사항이 적용되는 데 몇 분 정도 걸리지만 도메인에 대한 이전 DNS 레코드의 등록기관 및 TTL(수명)에 따라 몇 시간이 걸릴 수도 있습니다.

DNS 레코드를 업데이트하고 클러스터를 가리키면 {service-name}.{namespace}.{your-domain}에서 서비스를 사용할 수 있습니다.