説明
kubenodes はKubernetes APIを監視し、ノードアドレスに対してA、AAAA、PTRのレコードを合成します。
このプラグインを使用するには…
- Kubernetes APIとの接続を作成するには、kubeapiプラグインが必要です。(http://github.com/coredns/kubeapi)
- ノードAPIに対するリスト/監視の権限が必要です。
このプラグインは、サーバーブロックあたり1回のみ使用できます。
構文
kubenodes [ZONES...] {
external
ttl TTL
fallthrough [ZONES...]
}
external
はノードの外部アドレスを使用してレコードを構築します。省略すると、kubenodes はノードの内部アドレスを使用してレコードを構築します。ttl
により、応答に対してカスタムTTLを設定できます。既定では5秒です。許可される最小TTLは0秒で、最大は3600秒です。TTLを0に設定すると、レコードはキャッシュされません。エンドポイントのクエリとヘッドレスサービスのクエリはすべてNXDOMAINになります。fallthrough
[ZONES…] プラグインが権威のあるゾーンに対するレコードのクエリがNXDOMAINとなった場合、通常はそれが応答になります。ただし、このオプションを指定すると、クエリは代わりにプラグインチェーンに渡され、クエリを処理する別のプラグインを含めることができます。[ZONES…] が省略された場合、fallthroughはプラグインが権威のあるすべてのゾーンに対して行われます。特定のゾーンがリストされている場合(例:in-addr.arpa
とip6.arpa
)、それらのゾーンに対するクエリのみがフォールスルーの対象となります。
外部プラグイン
このプラグインを使用するには、plugin.cfg
に追加されたこのプラグインを使用してCoreDNSをコンパイルします。kubernetes と同じゾーンまたはsuperzoneを使用している場合は、kubernetesプラグインの前に配置する必要があります。このプラグインにはkubeapiプラグインも必要です。これはplugin.cfg
の末尾に追加する必要があります。
準備完了
このプラグインは、Kubernetes APIからノードの完全なリストを受信したら、readyプラグインに対して準備完了であることを報告します。
例
ゾーン node.cluster.local.
内の正引きと逆引き検索に応答するために、ノードの内部アドレスを使用します。ノードの内部IPアドレスのいずれにも一致しない逆引き検索の場合、次のプラグインにフォールスルーします。
kubeapi
kubenodes node.cluster.local in-addr.arpa ip6.arpa {
fallthrough in-addr.arpa ip6.arpa
}
ゾーン example.
内の正引きと逆引き検索に応答するために、ノードの外部アドレスを使用します。ノードの外部IPアドレスのいずれにも一致しない逆引き検索の場合、次のプラグインにフォールスルーします。
kubeapi
kubenodes example in-addr.arpa ip6.arpa {
external
fallthrough in-addr.arpa ip6.arpa
}