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 範囲に対して VPN 接続を確立してプライベート IP アドレスに接続することができます。これらのマシンからの 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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.