第11章 DNS [operator.openshift.io/v1]


説明

DNS は CoreDNS コンポーネントを管理し、クラスター内の Pod およびサービスの名前解決サービスを提供します。

これは、DNS ベースのサービスディスカバリー仕様 (https://github.com/kubernetes/dns/blob/master/docs/specification.md) をサポートしています。

詳細はこちら: https://kubernetes.io/docs/tasks/administer-cluster/coredns

互換性レベル 1: メジャーリリース内で最低 12 カ月間、または 3 つのマイナーリリース (いずれか長い方) で安定しています。

object

11.1. 仕様

Expand
プロパティー説明

apiVersion

string

apiVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これは更新できません。CamelCase を使用します。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

オブジェクトメタ

標準オブジェクトのメタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

spec は、DNS の望ましい動作の仕様です。

status

object

status は、DNS の最後に観察されたステータスです。

11.1.1. .spec

説明
spec は、DNS の望ましい動作の仕様です。
object
Expand
プロパティー説明

cache

object

cache は、Corefile にリストされているすべてのサーバーブロックに適用されるキャッシュ設定を表します。このフィールドでは、クラスター管理者が必要に応じて以下を設定できます。* positiveTTL: これは肯定応答をキャッシュする期間です。* negativeTTL: これは否定応答をキャッシュする期間です。これが設定されていない場合、OpenShift はデフォルト値を使用してポジティブキャッシュとネガティブキャッシュを設定します。デフォルト値は変更される可能性があります。執筆時点では、デフォルトの positiveTTL は 900 秒、デフォルトの negativeTTL は 30 秒です。または、お使いの OpenShift バージョンの Corefile に記載されているとおりです。

logLevel

string

logLevel は、CoreDNS に必要なログの詳細度を表します。次のいずれかの値を指定できます。* Normal: アップストリームリゾルバーからのエラーをログに記録します。* Debug: エラー、NXDOMAIN 応答、および NODATA 応答をログに記録します。* Trace: エラーとすべての応答をログに記録します。logLevel: Trace を設定すると、非常に詳細なログが生成されます。有効な値は、"Normal"、"Debug"、"Trace" です。Defaults to "Normal".

managementState

string

managementState は、DNS Operator がクラスター DNS を管理する必要があるかどうかを示します

nodePlacement

object

nodePlacement は、DNS Pod のスケジューリングを明示的に制御します。

一般に、すべてのノードで DNS Pod を実行すると、ネットワークを介して別のノードの DNS Pod に移動するのではなく、常にローカル DNS Pod によって DNS クエリーが処理されるようになります。ただし、セキュリティーポリシーでは、DNS Pod の配置を特定のノードに制限する必要がある場合があります。たとえば、セキュリティーポリシーで、任意のノード上の Pod が API と通信することを禁止している場合、ノードセレクターを指定して、DNS Pod を API との通信が許可されているノードに制限できます。逆に、特定のテイントのあるノードで DNS Pod を実行する必要がある場合は、そのテイントに対して許容範囲を指定できます。

設定されていない場合、デフォルトが使用されます。詳細は、nodePlacement を参照してください。

operatorLogLevel

string

operatorLogLevel は、DNS Operator のログレベルを制御します。有効な値は、"Normal"、"Debug"、"Trace" です。デフォルトは "Normal" です。operatorLogLevel: Trace を設定すると、非常に詳細なログが生成されます。

servers

array

servers は、クラスタードメインのスコープ外にある 1 つ以上のサブドメインに名前クエリーの委譲を提供する DNS リゾルバーのリストです。servers に複数のサーバーが含まれている場合は、最長後方一致を使用してサーバーが決定されます。

たとえば、2 つのサーバーがあり、1 つは "foo.com" 用、もう 1 つは "a.foo.com" 用で、名前クエリーが "www.a.foo.com" 用である場合、そのクエリーはゾーンが "a.foo.com" のサーバーにルーティングされます。

このフィールドが nil の場合、サーバーは作成されません。

servers[]

object

Server は、CoreDNS のインスタンスごとに実行されるサーバーのスキーマを定義します。

upstreamResolvers

object

upstreamResolvers は、デフォルトの (".") サーバーの場合に、CoreDNS が DNS メッセージをアップストリームリゾルバーにプロキシーするように設定するためのスキーマを定義します。

このフィールドが指定されていない場合、使用されるアップストリームはデフォルトで/etc/resolv.conf となり、ポリシーは sequential になります。

11.1.2. .spec.cache

説明
cache は、Corefile にリストされているすべてのサーバーブロックに適用されるキャッシュ設定を表します。このフィールドでは、クラスター管理者が必要に応じて以下を設定できます。* positiveTTL: これは肯定応答をキャッシュする期間です。* negativeTTL: これは否定応答をキャッシュする期間です。これが設定されていない場合、OpenShift はデフォルト値を使用してポジティブキャッシュとネガティブキャッシュを設定します。デフォルト値は変更される可能性があります。執筆時点では、デフォルトの positiveTTL は 900 秒、デフォルトの negativeTTL は 30 秒です。または、お使いの OpenShift バージョンの Corefile に記載されているとおりです。
object
Expand
プロパティー説明

negativeTTL

string

negativeTTL は任意であり、否定応答をキャッシュする時間を指定します。

設定する場合、1s (1 秒) 以上の値にする必要があります。理論上の最大値は数年です。このフィールドには、符号なしの 10 進数の期間文字列を指定する必要があります。それぞれの数字に少数 (任意) と単位の接尾辞を付けます。たとえば、"100s"、"1m30s"、"12h30m10s" です。秒の小数点以下の値は、最も近い秒に切り捨てられます。設定した値が 1 秒未満の場合、デフォルト値が使用されます。設定されていない場合、値は 0 秒になり、OpenShift の各バージョンの Corefile に特に記載がない限り、OpenShift はデフォルト値の 30 秒を使用します。デフォルト値の 30 秒は変更される可能性があります。

positiveTTL

string

positiveTTL は任意であり、肯定応答をキャッシュする時間を指定します。

設定する場合、1s (1 秒) 以上の値にする必要があります。理論上の最大値は数年です。このフィールドには、符号なしの 10 進数の期間文字列を指定する必要があります。それぞれの数字に少数 (任意) と単位の接尾辞を付けます。たとえば、"100s"、"1m30s"、"12h30m10s" です。秒の小数点以下の値は、最も近い秒に切り捨てられます。設定した値が 1 秒未満の場合、デフォルト値が使用されます。設定されていない場合、値は 0 秒になり、OpenShift の各バージョンの Corefile に特に記載がない限り、OpenShift はデフォルト値の 900 秒を使用します。デフォルト値の 900 秒は変更される可能性があります。

11.1.3. .spec.nodePlacement

説明

nodePlacement は、DNS Pod のスケジューリングを明示的に制御します。

一般に、すべてのノードで DNS Pod を実行すると、ネットワークを介して別のノードの DNS Pod に移動するのではなく、常にローカル DNS Pod によって DNS クエリーが処理されるようになります。ただし、セキュリティーポリシーでは、DNS Pod の配置を特定のノードに制限する必要がある場合があります。たとえば、セキュリティーポリシーで、任意のノード上の Pod が API と通信することを禁止している場合、ノードセレクターを指定して、DNS Pod を API との通信が許可されているノードに制限できます。逆に、特定のテイントのあるノードで DNS Pod を実行する必要がある場合は、そのテイントに対して許容範囲を指定できます。

設定されていない場合、デフォルトが使用されます。詳細は、nodePlacement を参照してください。

object
Expand
プロパティー説明

nodeSelector

object (string)

nodeSelector は、DNS Pod に適用されるノードセレクターです。

空欄の場合はデフォルト値が使用されます。現在のデフォルト値は以下のとおりです。

kubernetes.io/os: linux

このデフォルトは変更される可能性があります。

設定されている場合、指定されたセレクターが使用され、デフォルトが置き換えられます。

tolerations

array

tolerations は、DNS Pod に適用される許容範囲のリストです。

空の場合、DNS Operator は "node-role.kubernetes.io/master" taint の許容範囲を設定します。このデフォルトは変更される可能性があります。"node-role.kubernetes.io/master" テイントの許容値を含めずに許容値を指定すると、すべてのワーカーノードが使用できなくなった場合に停止につながる可能性があるため、リスクが伴う可能性があります。

デーモンコントローラーにもいくつかの許容値が追加されていることに注意してください。https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ を参照してください

tolerations[]

object

この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。

11.1.4. .spec.nodePlacement.tolerations

説明

tolerations は、DNS Pod に適用される許容範囲のリストです。

空の場合、DNS Operator は "node-role.kubernetes.io/master" taint の許容範囲を設定します。このデフォルトは変更される可能性があります。"node-role.kubernetes.io/master" テイントの許容値を含めずに許容値を指定すると、すべてのワーカーノードが使用できなくなった場合に停止につながる可能性があるため、リスクが伴う可能性があります。

デーモンコントローラーにもいくつかの許容値が追加されていることに注意してください。https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ を参照してください

array

11.1.5. .spec.nodePlacement.tolerations[]

説明
この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
object
Expand
プロパティー説明

effect

string

effect は、照合する taint の効果を示します。空の場合は、すべての taint 効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべての taint に耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、taint を永続的に許容します (退避しないでください)。ゼロ値と負の値は、システムによって 0 (すぐに退避) として扱われます。

value

string

value は、toleration が一致する taint の値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。

11.1.6. .spec.servers

説明

servers は、クラスタードメインのスコープ外にある 1 つ以上のサブドメインに名前クエリーの委譲を提供する DNS リゾルバーのリストです。servers に複数のサーバーが含まれている場合は、最長後方一致を使用してサーバーが決定されます。

たとえば、2 つのサーバーがあり、1 つは "foo.com" 用、もう 1 つは "a.foo.com" 用で、名前クエリーが "www.a.foo.com" 用である場合、そのクエリーはゾーンが "a.foo.com" のサーバーにルーティングされます。

このフィールドが nil の場合、サーバーは作成されません。

array

11.1.7. .spec.servers[]

説明
Server は、CoreDNS のインスタンスごとに実行されるサーバーのスキーマを定義します。
object
Expand
プロパティー説明

forwardPlugin

object

forwardPlugin は、DNS メッセージをアップストリームリゾルバーにプロキシーするように CoreDNS を設定するためのスキーマを定義します。

name

string

name は必須であり、サーバーの一意の名前を指定します。名前は、rfc6335 のサービス名構文に準拠している必要があります。

zones

array (string)

zones は必須であり、サーバーが権限を持つサブドメインを指定します。ゾーンは、サブドメインの rfc1123 定義に準拠している必要があります。クラスタードメイン (つまり、"cluster.local") の指定は無効です。

11.1.8. .spec.servers[].forwardPlugin

説明
forwardPlugin は、DNS メッセージをアップストリームリゾルバーにプロキシーするように CoreDNS を設定するためのスキーマを定義します。
object
Expand
プロパティー説明

policy

string

policy は、アップストリームサーバーをクエリーのために選択する順序を決定するために使用します。以下のいずれかの値を指定できます。

* Random は、クエリーごとにランダムなアップストリームサーバーを選択します。* "RoundRobin": ラウンドロビンの順序でアップストリームサーバーを選択し、新しいクエリーごとに次のサーバーに移動します。* "Sequential": 新しいクエリーごとに最初のサーバーから始めて、応答が得られるまでアップストリームサーバーに順番にクエリーを試行します。

デフォルト値は "Random" です。

protocolStrategy

string

protocolStrategy は、アップストリーム DNS リクエストに使用するプロトコルを指定します。protocolStrategy の有効な値は "TCP" です (省略可能)。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトでは、元のクライアントリクエストのプロトコルが使用されます。"TCP" に設定すると、クライアントリクエストが UDP を使用する場合でも、すべてのアップストリーム DNS リクエストに対して TCP が必ず使用されます。"TCP" は、非準拠のアップストリームリゾルバーなどによって発生する UDP 固有の問題には役立ちます。ただし、消費される帯域幅が増加したり、DNS 応答時間が長くなったりする可能性があります。protocolStrategy は、CoreDNS がアップストリームリゾルバーに対して行う DNS リクエストのプロトコルにのみ影響することに注意してください。クライアントと CoreDNS 間の DNS リクエストのプロトコルには影響しません。

transportConfig

object

transportConfig は、DNS リクエストをアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。

デフォルト値は "" (空) です。デフォルト値の場合、DNS リクエストをアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。

upstreams

array (string)

upstreams は、ゾーンのサブドメインの名前クエリーを転送するリゾルバーのリストです。CoreDNS の各インスタンスは、アップストリームのヘルスチェックを実行します。正常なアップストリームが交換中にエラーを返すと、アップストリームの別のリゾルバーが試行されます。アップストリームは、ポリシーで指定された順序で選択されます。各アップストリームは、アップストリームが 53 以外のポートでリッスンしている場合、IP アドレスまたは IP: ポートで表されます。

ForwardPlugin ごとに最大 15 個のアップストリームが許可されます。

11.1.9. .spec.servers[].forwardPlugin.transportConfig

説明

transportConfig は、DNS リクエストをアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。

デフォルト値は "" (空) です。デフォルト値の場合、DNS リクエストをアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。

object
Expand
プロパティー説明

tls

object

tls には、トランスポートが "TLS" に設定されているときに使用する追加の設定オプションを含めます。

transport

string

transport を使用すると、クラスター管理者はクラスターの DNS とアップストリームリゾルバー間の DNS-over-TLS 接続の使用を選択できます。CABundle を設定せずにこのレベルで TLS をトランスポートとして設定すると、システム証明書がアップストリームリゾルバーのサービス証明書の検証に使用されます。

可能な値: "" (空) - 明示的な指定なしとみなされ、プラットフォームによってデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトは "Cleartext" です。"Cleartext" - クラスター管理者が指定するクリアテキストオプション。この値を指定しても、得られる機能は空の値と同じですが、クラスター管理者がトランスポートをより明示的に指定する場合や、"TLS" から "Cleartext" に明示的に切り替える場合に役立つことがあります。"TLS" - DNS クエリーを TLS 接続経由で送信する必要があることを示します。トランスポートを TLS に設定した場合、ServerName も設定する必要があります。アップストリーム IP にポートが含まれていない場合、RFC 7858 セクション 3.1 (https://datatracker.ietf.org/doc/html/rfc7858#section-3.1) に従って、デフォルトでポート 853 が試行されます。

11.1.10. .spec.servers[].forwardPlugin.transportConfig.tls

説明
tls には、トランスポートが "TLS" に設定されているときに使用する追加の設定オプションを含めます。
object
必須
  • serverName
Expand
プロパティー説明

caBundle

object

caBundle は、1 つの CA 証明書か CA バンドルを含んでいる必要がある ConfigMap を参照します。これを使用すると、クラスター管理者は、アップストリームリゾルバーの証明書を検証するための独自の CA または CA バンドルを指定できます。

1. configmap には ca-bundle.crt キーが含まれている必要があります。2. 値は PEM でエンコードされた CA 証明書または CA バンドルである必要があります。3. 管理者は、openshift-config namespace にこの configmap を作成する必要があります。4. アップストリームサーバー証明書には、ServerName と一致するサブジェクト代替名 (SAN) が含まれている必要があります。

serverName

string

serverName は、DNS クエリーを転送するときに接続するアップストリームサーバーです。これは、トランスポートが "TLS" に設定されている場合に必要です。ServerName は、RFC 1123 の DNS 命名規則に基づいて検証され、アップストリームリゾルバーにインストールされている TLS 証明書と一致する必要があります。

11.1.11. .spec.servers[].forwardPlugin.transportConfig.tls.caBundle

説明

caBundle は、1 つの CA 証明書か CA バンドルを含んでいる必要がある ConfigMap を参照します。これを使用すると、クラスター管理者は、アップストリームリゾルバーの証明書を検証するための独自の CA または CA バンドルを指定できます。

  1. configmap には ca-bundle.crt キーが含まれている必要があります。
  2. 値は PEM でエンコードされた CA 証明書または CA バンドルである必要があります。
  3. 管理者は、openshift-config namespace にこの configmap を作成する必要があります。
  4. アップストリームサーバー証明書には、ServerName と一致するサブジェクト代替名 (SAN) が含まれている必要があります。
object
必須
  • name
Expand
プロパティー説明

name

string

name は、参照される config map の metadata.name です

11.1.12. .spec.upstreamResolvers

説明

upstreamResolvers は、デフォルトの (".") サーバーの場合に、CoreDNS が DNS メッセージをアップストリームリゾルバーにプロキシーするように設定するためのスキーマを定義します。

このフィールドが指定されていない場合、使用されるアップストリームはデフォルトで/etc/resolv.conf となり、ポリシーは sequential になります。

object
Expand
プロパティー説明

policy

string

policy は、アップストリームサーバーをクエリーのために選択する順序を決定するために使用します。以下のいずれかの値を指定できます。

* Random は、クエリーごとにランダムなアップストリームサーバーを選択します。* "RoundRobin": ラウンドロビンの順序でアップストリームサーバーを選択し、新しいクエリーごとに次のサーバーに移動します。* "Sequential": 新しいクエリーごとに最初のサーバーから始めて、応答が得られるまでアップストリームサーバーに順番にクエリーを試行します。

デフォルト値は "Sequential" です。

protocolStrategy

string

protocolStrategy は、アップストリーム DNS リクエストに使用するプロトコルを指定します。protocolStrategy の有効な値は "TCP" です (省略可能)。省略すると、指定なしとみなされ、プラットフォームによって適切なデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトでは、元のクライアントリクエストのプロトコルが使用されます。"TCP" に設定すると、クライアントリクエストが UDP を使用する場合でも、すべてのアップストリーム DNS リクエストに対して TCP が必ず使用されます。"TCP" は、非準拠のアップストリームリゾルバーなどによって発生する UDP 固有の問題には役立ちます。ただし、消費される帯域幅が増加したり、DNS 応答時間が長くなったりする可能性があります。protocolStrategy は、CoreDNS がアップストリームリゾルバーに対して行う DNS リクエストのプロトコルにのみ影響することに注意してください。クライアントと CoreDNS 間の DNS リクエストのプロトコルには影響しません。

transportConfig

object

transportConfig は、DNS リクエストをアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。

デフォルト値は "" (空) です。デフォルト値の場合、DNS リクエストをアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。

upstreams

array

upstreams は、"." ドメインの名前クエリーを転送するリゾルバーのリストです。CoreDNS の各インスタンスは、アップストリームのヘルスチェックを実行します。正常なアップストリームが交換中にエラーを返すと、アップストリームの別のリゾルバーが試行されます。アップストリームは、ポリシーで指定された順序で選択されます。

ForwardPlugin ごとに最大 15 個のアップストリームが許可されます。アップストリームが指定されていない場合は、デフォルトで /etc/resolv.conf が使用されます。

upstreams[]

object

アップストリームは、SystemResolvConf 型、または Network 型のいずれかになります。

- SystemResolvConf タイプのアップストリームの場合、追加のフィールドは必要ありません。アップストリームは/etc/resolv.conf を使用するように設定されます。- Network タイプのアップストリームの場合、アップストリームが 53 以外のポートでリッスンしている場合は、NetworkResolver フィールドに IP アドレスまたは IP: ポートを定義する必要があります。

11.1.13. .spec.upstreamResolvers.transportConfig

説明

transportConfig は、DNS リクエストをアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。

デフォルト値は "" (空) です。デフォルト値の場合、DNS リクエストをアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。

object
Expand
プロパティー説明

tls

object

tls には、トランスポートが "TLS" に設定されているときに使用する追加の設定オプションを含めます。

transport

string

transport を使用すると、クラスター管理者はクラスターの DNS とアップストリームリゾルバー間の DNS-over-TLS 接続の使用を選択できます。CABundle を設定せずにこのレベルで TLS をトランスポートとして設定すると、システム証明書がアップストリームリゾルバーのサービス証明書の検証に使用されます。

可能な値: "" (空) - 明示的な指定なしとみなされ、プラットフォームによってデフォルトが選択されます。デフォルトは、今後変更される可能性があります。現在のデフォルトは "Cleartext" です。"Cleartext" - クラスター管理者が指定するクリアテキストオプション。この値を指定しても、得られる機能は空の値と同じですが、クラスター管理者がトランスポートをより明示的に指定する場合や、"TLS" から "Cleartext" に明示的に切り替える場合に役立つことがあります。"TLS" - DNS クエリーを TLS 接続経由で送信する必要があることを示します。トランスポートを TLS に設定した場合、ServerName も設定する必要があります。アップストリーム IP にポートが含まれていない場合、RFC 7858 セクション 3.1 (https://datatracker.ietf.org/doc/html/rfc7858#section-3.1) に従って、デフォルトでポート 853 が試行されます。

11.1.14. .spec.upstreamResolvers.transportConfig.tls

説明
tls には、トランスポートが "TLS" に設定されているときに使用する追加の設定オプションを含めます。
object
必須
  • serverName
Expand
プロパティー説明

caBundle

object

caBundle は、1 つの CA 証明書か CA バンドルを含んでいる必要がある ConfigMap を参照します。これを使用すると、クラスター管理者は、アップストリームリゾルバーの証明書を検証するための独自の CA または CA バンドルを指定できます。

1. configmap には ca-bundle.crt キーが含まれている必要があります。2. 値は PEM でエンコードされた CA 証明書または CA バンドルである必要があります。3. 管理者は、openshift-config namespace にこの configmap を作成する必要があります。4. アップストリームサーバー証明書には、ServerName と一致するサブジェクト代替名 (SAN) が含まれている必要があります。

serverName

string

serverName は、DNS クエリーを転送するときに接続するアップストリームサーバーです。これは、トランスポートが "TLS" に設定されている場合に必要です。ServerName は、RFC 1123 の DNS 命名規則に基づいて検証され、アップストリームリゾルバーにインストールされている TLS 証明書と一致する必要があります。

11.1.15. .spec.upstreamResolvers.transportConfig.tls.caBundle

説明

caBundle は、1 つの CA 証明書か CA バンドルを含んでいる必要がある ConfigMap を参照します。これを使用すると、クラスター管理者は、アップストリームリゾルバーの証明書を検証するための独自の CA または CA バンドルを指定できます。

  1. configmap には ca-bundle.crt キーが含まれている必要があります。
  2. 値は PEM でエンコードされた CA 証明書または CA バンドルである必要があります。
  3. 管理者は、openshift-config namespace にこの configmap を作成する必要があります。
  4. アップストリームサーバー証明書には、ServerName と一致するサブジェクト代替名 (SAN) が含まれている必要があります。
object
必須
  • name
Expand
プロパティー説明

name

string

name は、参照される config map の metadata.name です

11.1.16. .spec.upstreamResolvers.upstreams

説明

upstreams は、"." ドメインの名前クエリーを転送するリゾルバーのリストです。CoreDNS の各インスタンスは、アップストリームのヘルスチェックを実行します。正常なアップストリームが交換中にエラーを返すと、アップストリームの別のリゾルバーが試行されます。アップストリームは、ポリシーで指定された順序で選択されます。

ForwardPlugin ごとに最大 15 個のアップストリームが許可されます。アップストリームが指定されていない場合は、デフォルトで /etc/resolv.conf が使用されます。

array

11.1.17. .spec.upstreamResolvers.upstreams[]

説明

アップストリームは、SystemResolvConf 型、または Network 型のいずれかになります。

  • SystemResolvConf タイプのアップストリームの場合、これ以上のフィールドは必要ありません。アップストリームは/etc/resolv.conf を使用するように設定されます。
  • ネットワークタイプのアップストリームの場合、アップストリームがポート 53 以外でリッスンしている場合は、NetworkResolver フィールドに IP アドレスまたは IP: ポートを定義する必要があります。
object
必須
  • type
Expand
プロパティー説明

address

string

タイプをネットワークに設定する場合は、アドレスを定義する必要があります。それ以外の場合は無視されます。有効な IPv4 または IPv6 アドレスである必要があります。

port

integer

タイプがネットワークに設定されている場合、ポートが定義される可能性があります。それ以外の場合は無視されます。ポートは 65535 までである必要があります。

type

string

type は、このアップストリームに IP/IP: ポートリゾルバーが含まれているか、ローカルの/etc/resolv.conf が含まれているかを定義します。Type には、2 つの値 (SystemResolvConf または Network) を指定できます。

* SystemResolvConf を使用する場合、アップストリーム構造に追加のフィールドを定義する必要はありません。/etc/resolv.conf が使用されます。* Network を使用する場合、アップストリーム構造に少なくともアドレスが含まれている必要があります。

11.1.18. .status

説明
status は、DNS の最後に観察されたステータスです。
object
必須
  • clusterDomain
  • clusterIP
Expand
プロパティー説明

clusterDomain

string

clusterDomain は、DNS サービスのローカルクラスター DNS ドメイン接尾辞です。これは RFC 1034 のセクション 3.5 で定義されているサブドメインになります。https: //tools.ietf.org/html/rfc1034#section-3.5 例: "cluster.local"

詳細はこちら: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service

clusterIP

string

clusterIP は、この DNS を利用できるようにするためのサービス IP です。

デフォルトの DNS の場合、これは、デフォルトの ClusterFirst DNS ポリシーを使用している Pod のデフォルトのネームサーバーとして使用されている既知の IP です。

一般に、この IP は、Pod の spec.dnsConfig.nameservers リストで指定するか、クラスター内から名前解決を実行するときに明示的に使用できます。例:dig foo.com @< サービス IP>

詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

conditions

array

条件は、クラスター上の DNS の状態に関する情報を提供します。

サポートされている DNS 条件は以下のとおりです。

* 利用可能 - 以下の条件が満たされている場合は True: * DNS コントローラーデーモンセットが利用可能であること。- これらの条件のいずれかが満たされていない場合は False となります。

conditions[]

object

OperatorCondition は、標準の状態フィールドです。

11.1.19. .status.conditions

説明

条件は、クラスター上の DNS の状態に関する情報を提供します。

サポートされている DNS 条件は以下のとおりです。

  • 利用可能

    • 次の条件が満たされている場合は True です。
  • DNS コントローラーデーモンセットが利用可能です。

    • いずれかの条件が満たされていない場合は False です。
array

11.1.20. .status.conditions[]

説明
OperatorCondition は、標準の状態フィールドです。
object
必須
  • lastTransitionTime
  • status
  • type
Expand
プロパティー説明

lastTransitionTime

string

lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。

message

string

 

reason

string

 

status

string

条件のステータス、True、False、Unknown のいずれか。

type

string

CamelCase または foo.example.com/CamelCase の条件のタイプ。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る