kubernetai

源码 主页

维护者:CoreDNS

启用方法
kubernetai:github.com/coredns/kubernetai

kubernetai - 在服务器内提供多个 Kubernetes。

说明

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 实例会做出响应。当我们在任何其他命名空间中查询服务时,第一个节会传递到第二个节,而第二个连接会做出响应。