1.9.21. 인그레스 DNS 레코드 추가

Kubernetes 매니페스트를 생성하고 Ignition 구성을 생성할 때 DNS 영역 구성을 제거한 경우, 인그레스 로드 밸런서를 가리키는 DNS 레코드를 수동으로 생성해야 합니다. 와일드카드 *.apps.{baseDomain}. 또는 특정 레코드를 생성할 수 있습니다. 사용자 요구사항에 따라 A, CNAME 및 기타 레코드를 사용할 수 있습니다.

사전 요구 사항

  • 사용자 프로비저닝 인프라를 사용하여 Microsoft Azure에 OpenShift Container Platform 클러스터를 배포했습니다.
  • OpenShift CLI(oc)를 설치합니다.
  • jq 패키지를 설치합니다.
  • Azure CLI를 설치 또는 업데이트합니다.

프로세스

  1. 인그레스 라우터가 로드 밸런서를 생성하고 EXTERNAL-IP 필드를 채웠는지 확인합니다.

    $ oc -n openshift-ingress get service router-default

    출력 예

    NAME             TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
    router-default   LoadBalancer   172.30.20.10   35.130.120.110   80:32288/TCP,443:31215/TCP   20

  2. 인그레스 라우터 IP를 변수 형태로 내보냅니다.

    $ export PUBLIC_IP_ROUTER=`oc -n openshift-ingress get service router-default --no-headers | awk '{print $4}'`
  3. 퍼블릭 DNS 영역에 *.apps 레코드를 추가합니다.

    1. 이 클러스터를 새로운 퍼블릭 영역에 추가하는 경우 다음을 실행하십시오.

      $ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z ${CLUSTER_NAME}.${BASE_DOMAIN} -n *.apps -a ${PUBLIC_IP_ROUTER} --ttl 300
    2. 이 클러스터를 이미 존재하는 기존 퍼블릭 영역에 추가하는 다음을 실행하십시오.

      $ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z ${BASE_DOMAIN} -n *.apps.${CLUSTER_NAME} -a ${PUBLIC_IP_ROUTER} --ttl 300
  4. 프라이빗 DNS 영역에 *.apps 레코드를 추가합니다.

    1. 다음 명령을 사용하여 *.apps 레코드를 생성합니다.

      $ az network private-dns record-set a create -g ${RESOURCE_GROUP} -z ${CLUSTER_NAME}.${BASE_DOMAIN} -n *.apps --ttl 300
    2. 다음 명령을 사용하여 *.apps 레코드를 프라이빗 DNS 영역에 추가합니다.

      $ az network private-dns record-set a add-record -g ${RESOURCE_GROUP} -z ${CLUSTER_NAME}.${BASE_DOMAIN} -n *.apps -a ${PUBLIC_IP_ROUTER}

와일드카드를 사용하지 않고 명시적 도메인을 추가하는 방식을 선호하면 클러스터의 현재 경로 각각에 대한 항목을 생성할 수 있습니다.

$ oc get --all-namespaces -o jsonpath='{range .items[*]}{range .status.ingress[*]}{.host}{"\n"}{end}{end}' routes

출력 예

oauth-openshift.apps.cluster.basedomain.com
console-openshift-console.apps.cluster.basedomain.com
downloads-openshift-console.apps.cluster.basedomain.com
alertmanager-main-openshift-monitoring.apps.cluster.basedomain.com
grafana-openshift-monitoring.apps.cluster.basedomain.com
prometheus-k8s-openshift-monitoring.apps.cluster.basedomain.com