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

Fallthroughkubernetai 中會依序落到下一個 kubernetai stanza (依照它們在 Corefile 中的順序),或者下一個外掛程式(如果它是最後一個 kubernetai stanza)。

這是一個 Corefile 範例,它建立了到單個 minikube 實例的兩個連線。因為兩個伺服器實際上是同一個伺服器,它們都具有相同的區域,這表示對 cluster.local 的查詢將始終首先由第一個 stanza 處理。第一個 stanza 中的 fallthrough 允許在找不到服務時將處理轉到下一個 stanza。

. {
    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 stanza 只公開 default 命名空間。當我們查詢 default 命名空間中的服務時,第一個 stanza 中的 kubernetes 實例會回應。當我們查詢任何其他命名空間中的服務時,第一個 stanza 會落到第二個 stanza,而第二個連線會回應。