2016-06-13 68 views
4

的單個節點我有一個kubernetes簇與4個節點和一個主。我試圖在所有節點中運行5個nginx窗格。目前有時調度程序在一臺機器上運行所有的豆莢,有時在不同的機器上運行。避免kubernetes調度運行所有吊艙在kubernetes簇

如果我的節點出現故障,我所有的豆莢在同一節點上運行會發生什麼?我們需要避免這種情況。

如何執行調度以循環方式運行的節點上莢,因此,如果任何節點發生故障,然後在至少一個節點應該有NGINX莢運行模式。

這可能嗎?如果可能,我們如何實現這種情況?

回答

2

調度會分散你的豆莢,如果您的容器指定的記憶,他們需要的數量和CPU資源請求。見 http://kubernetes.io/docs/user-guide/compute-resources/

+0

感謝@DavidO的答覆,我熱切期望對於某人的迴應。但遺憾的是你錯過了我的問題。我不希望基於節點中可用的資源進行pod調度。我想以循環方式在指定節點上安排pod(無需事項資源)。如果資源不可用,那麼我只是想跳過該節點。 –

+0

添加一些更多的信息:嘗試下面的鏈接,但無法看到預期的結果http://kubernetes.io/docs/user-guide/node-selection/ –

+0

任何人可以對這個建議? –

0

我覺得跨莢反關聯性功能將幫助您。 根據已在節點上運行的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/

相關問題