的單個節點我有一個kubernetes簇與4個節點和一個主。我試圖在所有節點中運行5個nginx窗格。目前有時調度程序在一臺機器上運行所有的豆莢,有時在不同的機器上運行。避免kubernetes調度運行所有吊艙在kubernetes簇
如果我的節點出現故障,我所有的豆莢在同一節點上運行會發生什麼?我們需要避免這種情況。
如何執行調度以循環方式運行的節點上莢,因此,如果任何節點發生故障,然後在至少一個節點應該有NGINX莢運行模式。
這可能嗎?如果可能,我們如何實現這種情況?
的單個節點我有一個kubernetes簇與4個節點和一個主。我試圖在所有節點中運行5個nginx窗格。目前有時調度程序在一臺機器上運行所有的豆莢,有時在不同的機器上運行。避免kubernetes調度運行所有吊艙在kubernetes簇
如果我的節點出現故障,我所有的豆莢在同一節點上運行會發生什麼?我們需要避免這種情況。
如何執行調度以循環方式運行的節點上莢,因此,如果任何節點發生故障,然後在至少一個節點應該有NGINX莢運行模式。
這可能嗎?如果可能,我們如何實現這種情況?
調度會分散你的豆莢,如果您的容器指定的記憶,他們需要的數量和CPU資源請求。見 http://kubernetes.io/docs/user-guide/compute-resources/
我覺得跨莢反關聯性功能將幫助您。 根據已在節點上運行的Pod上的標籤,可以根據Pod上的標籤來限制pod有資格按照哪些節點進行排定。這是一個例子。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: nginx-service
name: nginx-service
spec:
replicas: 3
selector:
matchLabels:
run: nginx-service
template:
metadata:
labels:
service-type: nginx
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: service-type
operator: In
values:
- nginx
topologyKey: kubernetes.io/hostname
containers:
- name: nginx-service
image: nginx:latest
注意:我用preferredDuringSchedulingIgnoredDuringExecution在這裏,因爲你比節點的更多豆莢。
如需更詳細的信息,可以參考間吊艙親和力和反關聯性(測試版功能)以下鏈接部分: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
感謝@DavidO的答覆,我熱切期望對於某人的迴應。但遺憾的是你錯過了我的問題。我不希望基於節點中可用的資源進行pod調度。我想以循環方式在指定節點上安排pod(無需事項資源)。如果資源不可用,那麼我只是想跳過該節點。 –
添加一些更多的信息:嘗試下面的鏈接,但無法看到預期的結果http://kubernetes.io/docs/user-guide/node-selection/ –
任何人可以對這個建議? –