第1章 OpenShift Dedicated の DNS Operator


OpenShift Dedicated の DNS Operator は、CoreDNS インスタンスをデプロイおよび管理して、クラスター内の Pod に名前解決サービスを提供し、DNS ベースの Kubernetes Service 検出を有効にし、内部の cluster.local 名を解決します。

この Operator は、デフォルトで OpenShift Dedicated クラスターにインストールされています。

1.1. DNS 転送の使用

クラスターの DNS 転送サーバーとアップストリームリゾルバーを設定します。

次の方法で、DNS 転送を使用して /etc/resolv.conf ファイル内のデフォルトの転送設定をオーバーライドできます。

  • すべてのゾーンにネームサーバー (spec.servers) を指定します。転送されるゾーンが OpenShift Dedicated によって管理される Ingress ドメインである場合、アップストリームネームサーバーがドメインについて認証される必要があります。

    重要

    少なくとも 1 つのゾーンを指定する必要があります。そうしないと、クラスターの機能が失われる可能性があります。

  • アップストリーム DNS サーバーのリスト (spec.upstreamResolvers) を指定します。
  • デフォルトの転送ポリシーを変更します。

デフォルトドメインの DNS 転送設定には、/etc/resolv.conf ファイルおよびアップストリーム DNS サーバーで指定されたデフォルトのサーバーの両方を設定できます。

重要

Pod の作成時、Kubernetes はノード上に存在する /etc/resolv.conf ファイルを使用します。ホストノード上の /etc/resolv.conf ファイルを変更しても、その変更はコンテナー内に存在する /etc/resolv.conf ファイルには反映されません。変更を有効にするには、コンテナーを再作成する必要があります。

手順

  • default という名前の DNS Operator オブジェクトを変更します。

    $ oc edit dns.operator/default

    上記のコマンドを実行すると、Operator が、spec.servers に基づく追加のサーバー設定ブロックを使用して dns-default という名前の config map を作成および更新します。

    重要

    zones パラメーターの値を指定する場合は、イントラネットなどの特定のゾーンにのみ転送してください。少なくとも 1 つのゾーンを指定する必要があります。そうしないと、クラスターの機能が失われる可能性があります。

    クエリーに一致するゾーンがサーバーにない場合には、名前解決はアップストリーム DNS サーバーにフォールバックします。

    DNS 転送の設定

    apiVersion: operator.openshift.io/v1
    kind: DNS
    metadata:
      name: default
    spec:
      cache:
        negativeTTL: 0s
        positiveTTL: 0s
      logLevel: Normal
      nodePlacement: {}
      operatorLogLevel: Normal
      servers:
      - name: example-server
        zones:
        - example.com
        forwardPlugin:
          policy: Random
          upstreams:
          - 1.1.1.1
          - 2.2.2.2:5353
      upstreamResolvers:
        policy: Random
        protocolStrategy: ""
        transportConfig: {}
        upstreams:
        - type: SystemResolvConf
        - type: Network
          address: 1.2.3.4
          port: 53
        status:
          clusterDomain: cluster.local
          clusterIP: x.y.z.10
          conditions:
    ...

    各項目の説明:

    spec.servers.name
    rfc6335 サービス名の構文に準拠する必要があります。
    仕様サーバーゾーン
    RFC1123 の サブドメイン構文に準拠する必要があります。クラスタードメイン cluster.localゾーン に対して無効です。
    spec.servers.forwardPlugin.policy
    上流選択ポリシーを指定します。デフォルトは Random です。指定可能な値は RoundRobinSequential です。
    spec.servers.forwardPlugin.upstreams
    forwardPlugin ごとに 15 個を超える アップストリーム エントリーを指定しないでください。
    spec.upstreamResolvers.upstreams
    デフォルトの転送ポリシーを上書きし、デフォルトドメインの DNS 解決を指定された DNS リゾルバー (アップストリームリゾルバー) に転送するために、upstreamResolvers を 指定します。カスタムのアップストリームリゾルバーが必要な場合にこのフィールドを使用できます。それ以外の場合は、クエリーは /etc/resolv.conf で宣言されているサーバーを使用します。
    spec.upstreamResolvers.policy
    上流の選択順序を指定します。デフォルトは Sequential です。許可される値は RandomRoundRobinSequential です。
    spec.upstreamResolvers.protocolStrategy
    リクエストが UDP を使用している場合でも、アップストリーム DNS リクエストに使用するプロトコルとして TCP を指定すると、強制的に TCP が 使用されます。有効な値は TCP と省略された値です。省略すると、デフォルト (通常は元のクライアント要求のプロトコル) が選択されます。
    spec.upstreamResolvers.transportConfig
    DNS リクエストをアップストリームのリゾルバーに転送する際に使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを指定します。
    spec.upstreamResolvers.upstreams.type
    2 種類の アップストリーム を指定します: SystemResolvConf または NetworkSystemResolvConf で、アップストリームが /etc/resolv.conf を使用するように設定して、NetworkNetworkresolver を定義します。1 つまたは両方を指定できます。
    spec.upstreamResolvers.upstreams.address
    タイプが ネットワーク の場合、有効な IPv4 または IPv6 アドレスを指定します。
    spec.upstreamResolvers.upstreams.port
    ポート番号を指定するためのオプションフィールドを指定します。有効な値は 1 - 65535 です。省略した場合はデフォルト値として 853 が使用されます。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る