说明
Kubernetai (koo-ber-NET-eye) 是 Kubernetes 的复数形式。简而言之,Kubernetai 是 CoreDNS 的一个外部插件,其中包含多个 kubernetes 插件配置。它允许一个 CoreDNS 服务器一次连接到多个 Kubernetes 服务器。
使用 kubernetai,您可以在 Corefile 中定义多个 kubernetes 块。所有选项都与内置的 kubernetes 插件完全相同,您只需将其命名为 kubernetai
而不是 kubernetes
。
语法
与 kubernetes 相同。
示例
例如,以下 Corefile 将连接到三个不同的 Kubernetes 集群。
. {
errors
log
kubernetai cluster.local {
endpoint http://192.168.99.100
}
kubernetai assemblage.local {
endpoint http://192.168.99.101
}
kubernetai conglomeration.local {
endpoint http://192.168.99.102
}
}
fallthrough
Kubernetai 中的 Fallthrough 将传递到下一个 kubernetai 节(按其在 Corefile 中的顺序)或到下一个插件(如果其为最后一个 kubernetai 节)。
这里有一个 Corefile 示例,它与一个 minikube 实例建立了两个连接。由于这两个服务器实际上是同一台服务器,因此它们具有相同的区域,这意味着对 cluster.local
的查询将始终首先由第一个节进行处理。第一个节中的 fallthrough 允许处理转到下一个节(如果未找到服务)。
. {
errors
log
kubernetai cluster.local {
endpoint http://192.168.99.100:8080
namespaces default
fallthrough
}
kubernetai cluster.local {
endpoint http://192.168.99.100:8080
}
}
第一个 kubernetai 节仅公开 default
命名空间。当我们在 default
命名空间中查询服务时,第一个节中的 kubernetes 实例会做出响应。当我们在任何其他命名空间中查询服务时,第一个节会传递到第二个节,而第二个连接会做出响应。