2.2. DNS를 프라이빗으로 설정

클러스터를 배포한 후 프라이빗 영역만 사용하도록 DNS를 변경할 수 있습니다.

프로세스

  1. 클러스터의 DNS 사용자 정의 리소스를 확인합니다.

    $ oc get dnses.config.openshift.io/cluster -o yaml

    출력 예

    apiVersion: config.openshift.io/v1
    kind: DNS
    metadata:
      creationTimestamp: "2019-10-25T18:27:09Z"
      generation: 2
      name: cluster
      resourceVersion: "37966"
      selfLink: /apis/config.openshift.io/v1/dnses/cluster
      uid: 0e714746-f755-11f9-9cb1-02ff55d8f976
    spec:
      baseDomain: <base_domain>
      privateZone:
        tags:
          Name: <infrastructure_id>-int
          kubernetes.io/cluster/<infrastructure_id>: owned
      publicZone:
        id: Z2XXXXXXXXXXA4
    status: {}

    spec 섹션에는 프라이빗 영역과 퍼블릭 영역이 모두 포함되어 있습니다.

  2. DNS 사용자 지정 리소스를 패치하여 퍼블릭 영역을 제거합니다.

    $ oc patch dnses.config.openshift.io/cluster --type=merge --patch='{"spec": {"publicZone": null}}'
    dns.config.openshift.io/cluster patched

    Ingress 컨트롤러는 Ingress 개체를 만들 때 DNS 정의를 참조하기 때문에 Ingress 개체를 만들거나 수정할 때 프라이빗 레코드만 생성됩니다.

    중요

    퍼블릭 영역을 제거해도 기존 Ingress 개체의 DNS 레코드는 변경되지 않습니다.

  3. 선택 사항: 클러스터의 DNS 사용자 정의 리소스를 확인하고 퍼블릭 영역이 제거되었는지 확인하십시오.

    $ oc get dnses.config.openshift.io/cluster -o yaml

    출력 예

    apiVersion: config.openshift.io/v1
    kind: DNS
    metadata:
      creationTimestamp: "2019-10-25T18:27:09Z"
      generation: 2
      name: cluster
      resourceVersion: "37966"
      selfLink: /apis/config.openshift.io/v1/dnses/cluster
      uid: 0e714746-f755-11f9-9cb1-02ff55d8f976
    spec:
      baseDomain: <base_domain>
      privateZone:
        tags:
          Name: <infrastructure_id>-int
          kubernetes.io/cluster/<infrastructure_id>-wfpg4: owned
    status: {}