第10章 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 つのマイナーリリース (どちらか長い方) の間 Stable です。
object

10.1. 仕様

プロパティー説明

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

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

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

status

object

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

10.1.1. .spec

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

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" になります。

10.1.2. .spec.cache

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

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 秒は変更される可能性があります。

10.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
プロパティー説明

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> と一致するテイントを許容します。

10.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

10.1.5. .spec.nodePlacement.tolerations[]

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

effect

string

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

key

string

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

operator

string

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

tolerationSeconds

integer

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

value

string

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

10.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

10.1.7. .spec.servers[]

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

forwardPlugin

object

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

name

string

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

zones

array (string)

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

10.1.8. .spec.servers[].forwardPlugin

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

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 個のアップストリームが許可されます。

10.1.9. .spec.servers[].forwardPlugin.transportConfig

説明
transportConfig は、DNS 要求をアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。デフォルト値は "" (空) です。デフォルト値の場合、DNS 要求をアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。
object
プロパティー説明

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 が試行されます。

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

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

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 証明書と一致する必要があります。

10.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
プロパティー説明

name

string

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

10.1.12. .spec.upstreamResolvers

説明
upstreamResolvers は、デフォルト (".") サーバーの場合に、CoreDNS が DNS メッセージをアップストリームリゾルバーにプロキシーするように設定するためのスキーマを定義します。このフィールドが指定されていない場合、使用されるアップストリームはデフォルトで/etc/resolv.conf になり、ポリシーは "sequential" になります。
object
プロパティー説明

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:port で定義する必要があります。

10.1.13. .spec.upstreamResolvers.transportConfig

説明
transportConfig は、DNS 要求をアップストリームリゾルバーに転送するときに使用するトランスポートタイプ、サーバー名、およびオプションのカスタム CA または CA バンドルを設定するために使用します。デフォルト値は "" (空) です。デフォルト値の場合、DNS 要求をアップストリームリゾルバーに転送するときに標準のクリアテキスト接続が使用されます。
object
プロパティー説明

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 が試行されます。

10.1.14. .spec.upstreamResolvers.transportConfig.tls

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

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 証明書と一致する必要があります。

10.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
プロパティー説明

name

string

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

10.1.16. .spec.upstreamResolvers.upstreams

説明
Upstreams は、"."ドメインの名前クエリーを転送するリゾルバーのリストです。CoreDNS の各インスタンスは、アップストリームのヘルスチェックを実行します。正常なアップストリームが交換中にエラーを返すと、アップストリームの別のリゾルバーが試行されます。アップストリームは、ポリシーで指定された順序で選択されます。ForwardPlugin ごとに最大 15 個のアップストリームが許可されます。アップストリームが指定されていない場合は、デフォルトで /etc/resolv.conf が使用されます。
array

10.1.17. .spec.upstreamResolvers.upstreams[]

説明
アップストリームは、SystemResolvConf タイプか Network タイプのどちらかです。- アップストリームが SystemResolvConf タイプの場合、追加のフィールドは必要ありません。アップストリームは /etc/resolv.conf を使用するように設定されます。- アップストリームが Network タイプの場合、アップストリームが 53 以外のポートでリッスンするのであれば、NetworkResolver フィールドを IP アドレスまたは IP:port で定義する必要があります。
object
必須
  • type
プロパティー説明

address

string

Address は、Type が Network に設定されている場合に定義する必要があります。それ以外の場合は無視されます。有効な IPv4 または IPv6 アドレスである必要があります。

port

integer

Port は、Type が Network に設定されている場合に定義する必要があります。それ以外の場合は無視されます。ポートは 65535 までである必要があります。

type

string

Type は、このアップストリームに IP/IP:port リゾルバーを含めるか、ローカルの /etc/resolv.conf を含めるかを定義します。Type には、2 つの値 (SystemResolvConf または Network) を指定できます。* SystemResolvConf を使用する場合、アップストリーム構造に追加のフィールドを定義する必要はありません。/etc/resolv.conf が使用されます。* Network を使用する場合、アップストリーム構造に少なくともアドレスが含まれている必要があります。

10.1.18. .status

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

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 @<service IP> 詳細: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

conditions

array

条件は、クラスター上の DNS の状態に関する情報を提供します。サポートされている DNS 条件は次のとおりです。*使用可能 - 次の条件が満たされた場合に真になります。*DNS コントローラーデーモンセットが使用可能です。- これらの条件のいずれかが満たされていない場合は False。

conditions[]

object

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

10.1.19. .status.conditions

説明
条件は、クラスター上の DNS の状態に関する情報を提供します。サポートされている DNS 条件は次のとおりです。*使用可能 - 次の条件が満たされた場合に真になります。*DNS コントローラーデーモンセットが使用可能です。- これらの条件のいずれかが満たされていない場合は False。
array

10.1.20. .status.conditions[]

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

lastTransitionTime

string

 

message

string

 

reason

string

 

status

string

 

type

string

 
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.