2.2. 프라이빗 영역에 게시할 DNS 레코드 구성


퍼블릭 또는 프라이빗이든 관계없이 모든 OpenShift Container Platform 클러스터의 경우 DNS 레코드는 기본적으로 퍼블릭 영역에 게시됩니다.

퍼블릭 영역을 클러스터 DNS 구성에서 제거하여 DNS 레코드가 공용으로 노출되지 않도록 할 수 있습니다. 내부 도메인 이름, 내부 IP 주소 또는 조직의 클러스터 수와 같은 중요한 정보를 노출하지 않으려거나 단순히 레코드를 공개적으로 게시하지 않아도 될 수 있습니다. 클러스터 내의 서비스에 연결할 수 있는 모든 클라이언트가 프라이빗 영역의 DNS 레코드가 있는 프라이빗 DNS 서비스를 사용하는 경우 클러스터의 퍼블릭 DNS 레코드가 필요하지 않습니다.

클러스터를 배포한 후 DNS CR(사용자 정의 리소스)을 수정하여 프라이빗 영역만 사용하도록 DNS 를 수정할 수 있습니다. 이러한 방식으로 DNS CR을 수정하면 이후에 생성된 모든 DNS 레코드가 퍼블릭 DNS 서버에 게시되지 않으므로 내부 사용자에게 격리된 DNS 레코드에 대한 지식이 유지됩니다. 이 작업은 클러스터를 비공개로 설정하거나 DNS 레코드를 공개적으로 확인할 수 없는 경우 수행할 수 있습니다.

또는 프라이빗 클러스터에서도 클라이언트가 해당 클러스터에서 실행되는 애플리케이션의 DNS 이름을 확인할 수 있으므로 DNS 레코드에 대한 퍼블릭 영역을 유지할 수 있습니다. 예를 들어 조직에는 공용 인터넷에 연결된 머신이 있고 개인 IP 주소에 연결하기 위해 특정 개인 IP 범위에 대한 VPN 연결을 설정할 수 있습니다. 이러한 시스템의 DNS 조회는 퍼블릭 DNS를 사용하여 해당 서비스의 프라이빗 주소를 확인한 다음 VPN을 통해 프라이빗 주소에 연결합니다.

프로세스

  1. 다음 명령을 실행하고 출력을 관찰하여 클러스터의 DNS CR을 확인합니다.

    $ 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 CR을 패치하여 퍼블릭 영역을 제거합니다.

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

    출력 예

    dns.config.openshift.io/cluster patched

    Ingress Operator는 IngressController 오브젝트에 대한 DNS 레코드를 생성할 때 DNS CR 정의를 참조합니다. 프라이빗 영역만 지정하면 개인 레코드만 생성됩니다.

    중요

    퍼블릭 영역을 제거해도 기존 DNS 레코드는 수정되지 않습니다. 더 이상 공개적으로 게시되지 않으려면 이전에 게시된 퍼블릭 DNS 레코드를 수동으로 삭제해야 합니다.

검증

  • 클러스터의 DNS CR을 확인하고 다음 명령을 실행하고 출력을 관찰하여 퍼블릭 영역이 제거되었는지 확인합니다.

    $ 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: {}

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.