2017-04-10 174 views
1

我有不同的Kubernetes命名空間...喜歡,10 ...我使用動態分配pod端口爲我的一些豆莢。它們並不是用戶可見的,只能對彼此說...哪些是好的... Node vs Target ...我明白...動態kubernetes端口範圍

但是,對於我們的一些豆莢,我想要手動分配一個節點/目標端口,使其中一些可公開訪問,但恐怕我會與Kubernetes已分配的我不知道的「碰撞」...

我的問題:有沒有辦法告訴Kubernetes使用整個30000-32667端口範圍,但保留一部分用於「靜態」使用,另一部分用於動態範圍?回答如何做到這一點。

+0

爲什麼你想要手動分配nodeports?這是一個巨大的反模式,並且會讓您的集羣管理變得非常困難。 – jaxxstorm

+0

我知道,我很同意,不幸的是,這個項目在我之前就已經開始了,我最終不得不管理這個項目。認爲「很快」會改變原因.... ;-)但同時,這是我的情況的一個要求。對不起,現在不能進入更多細節。 – yield

回答

0

我不認爲有一種方法來保留一個端口範圍。該文檔明確規定:

如果你想有一個特定的端口號,你可以指定 nodePort字段中的值,系統會分配你的端口,否則 API交易將失敗(即你需要注意自己可能的 端口衝突)。

但是如果你kubectl describe services檢查你當前使用的端口,然後選擇不在使用你的新手冊NodePort服務端口,您應該罰款。 Kubernetes不會嘗試再次分配相同的端口。

從長遠來看,您可能希望手動控制所有服務端口或全部動態控制端口。在後一種情況下,您可以通過使用負載均衡器實現更多的靈活性,這些負載均衡器可以從您定義的固定端口轉發您的服務。