簡體   English   中英

Google容器引擎上的DaemonSets(Kubernetes)

[英]DaemonSets on Google Container Engine (Kubernetes)

我有一個包含21個節點的Google容器引擎群集,特別是有一個pod我需要始終在具有靜態IP地址的節點上運行(出於出站目的)。

Kubernetes支持DaemonSets

通過為節點提供與DaemonSet中的nodeSelector匹配的標簽,可以將pod部署到特定節點(或一組節點)。 然后,您可以為標記節點所在的VM實例分配靜態IP。 但是,GKE似乎不支持DaemonSet類型。

$ kubectl create -f go-daemonset.json 
error validating "go-daemonset.json": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --validate=false

$ kubectl create -f go-daemonset.json --validate=false
unable to recognize "go-daemonset.json": no kind named "DaemonSet" is registered in versions ["" "v1"]

何時支持此功能以及解決方法是什么?

如果您只想在單個節點上運行pod,則實際上您不想使用DaemonSet。 DaemonSet旨在在每個節點上運行pod,而不是在單個特定節點上運行。

要在特定節點上運行pod,可以在pod規范中使用nodeSelector,如文檔中的Node Selection示例中所述


編輯:但是對於那些想要在GKE中的每個節點上運行某些內容的人來說,我可以說兩件事:

首先,將在計划於3月份發布的1.2版本的GKE中啟用DaemonSet。 在版本1.1中的GKE中未啟用它,因為在1.1被切斷時它被認為不夠穩定。

其次,如果你想在1.2之前在每個節點上運行一些東西,我們建議創建一個復制控制器,其復制數大於你的節點數,並在容器規范中要求一個hostPort hostPort將確保每個節點只運行一個來自RC的pod。

DaemonSets仍然是alpha功能,Google Container Engine僅支持生產Kubernetes功能。 解決方法:構建您自己的Kubernetes集群(GCE,AWS,裸機......)並啟用alpha / beta功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM