0

我有多個具有谷歌供電負載平衡器(入口磅)的kubernetes羣集。名稱kubernete生成谷歌雲入口負載平衡器

所以現在要訪問我的k8s羣集服務,我只需ping通由$ kubectl get service給出的公共IP即可。

我的問題是,有時我需要拆卸/創建集羣,重新配置服務,這些服務可能很快就需要SSL證書,而且我的集羣/服務的構建也需要很容易重現(對於雲開發者! )。

問題很簡單:我可以不使入口負載均衡器IP擁有入口負載均衡器主機名嗎?

類似${LOAD_BALANCER_NAME}.${GOOGLE_PROJECT_NAME}.appspot.com會超級棒。

+0

爲什麼你認爲你需要經常拆掉集羣?您是否爲每個開發人員創建了一個單獨的羣集,並在不用於節省成本時將其拆除? –

+0

是的,也可以更改集羣範圍或機器類型我必須拆除整個集羣並創建一個新的腳本:https://gist.github.com/azr/13e72daa9ec968f52d5d 這種情況在dev中發生了很多有te重新部署依賴只是爲了改變IP是非常痛苦的:) – Azr

回答

1

Kubernetes與谷歌雲的整合DNS是一項沒有即時時間表的功能請求(它會發生,我無法評論什麼時候發生)。但是,您可以使用loadbalancer的靜態IP來創建DNS記錄。

如果我正確地理解了您的問題,那麼您使用的是L4負載平衡器(service.Type = LoadBalancer),並且希望能夠刪除服務/節點等並繼續使用相同的IP(因爲您擁有DNS記錄)。換句話說,您希望負載平衡器不受服務生命週期的束縛。這可以通過L7負載均衡器[1] & [2]或通過用現有IP重新創建服務來實現[3]。

請注意,[1]將負載平衡器與服務壽命分開,但如果取下整個集羣,則會丟失負載平衡器。 [2]綁定到Ingress資源,所以如果您刪除羣集並重新創建羣集,請啓動負載均衡器控制器窗格,然後重新創建相同的Ingress資源,它將使用現有的負載平衡器。還要注意,[1] [2]取決於將kubernetes 1.1發佈了「測試版」的資源,我感謝您的反饋,如果你部署它們:)

[1] https://github.com/kubernetes/contrib/tree/master/service-loadbalancer

[2] https://github.com/kubernetes/contrib/pull/132

[3] github.com/kubernetes/kubernetes/issues/10323

+0

你好Prashanth!感謝你的回答。 我很樂意使用HEAD,但我認爲它不容易在GKE中使用? – Azr

+0

啊哈,你在GKE上。你必須等到我們達到1.1 [2]。但是,您現在可以在正在運行的集羣上部署[1],並且您還可以爲每個[3]將現有IP分配給服務。如果你需要幫助,請在kubernetes slack頻道上留言(@beeps) –