2016-05-24 18 views
1

Ich möchte 10 Pods in zwei bestimmten Knoten (insgesamt 15 Knoten in unserem Kube-Cluster) zu planen.können wir mehr als ein Knoten Label in einzelnen NodeSelector in Kubernetes

so in Replikations-Controller-Datei ich nenne zwei Werte in nodeSelector wie unten.

nodeSelector: 
    app: node1 
    app: node2 

Problem ist, dass die ganze Zeit, es node2.whatever Sequenz nehmen ist nur Ich erwähne es nur letzten Knoten ist unter.

hinweis: node1 und node2 sind lables of node.

Antwort

1

Die nodeSelector auf einem PodSpec ist nur ein map[string]string (anstelle der mehr featureful NodeSelector Typ, der in dem Objekt verwendet wird NodeAffinity) .das bedeutet, dass die Taste „app“ nur einen Wert haben kann, und es endet überschrieben als "Knoten2".

Sie können die Zeitplanung zwischen node1 und node2 durchführen, indem Sie eine allgemeine Bezeichnung (z. B. scheduling-group: foo) eingeben und dann Ihren ReplicationController diese Bezeichnung als nodeSelector verwenden.

+0

danke für die Erklärung.really helpful.can erklären etwas Bitmore über Scheduling-Gruppe –

+0

'Scheduling-Gruppe' ist nur ein Beispiel Label-Schlüssel, können Sie eine beliebige Taste, die für Sie sinnvoll ist. – janetkuo

2

Ja, Sie können.

Wenn Sie die Schoten wollen geplant werden, um entweder node1 oder Knoten2, können Sie beide Knoten mit dem gleichen Etikett beschriften (n) (zum Beispiel app=node) und dann app=node als nodeSelector hinzufügen. Sie können so viele Beschriftungen hinzufügen, wie Sie möchten, aber wie CJ erwähnt, nodeSelector ist eine Karte mit Schlüssel und Wert-Paare, so dass es nicht den gleichen Schlüssel mit unterschiedlichen Werten haben kann.

Die Pods können auf einem der Knoten geplant werden, die diesem nodeSelector entsprechen.

Für weitere Informationen lesen Sie Assigning Pods to Nodes. Beachten Sie, dass es eine neue Funktion namens nodeAffinity gibt, die Sie vielleicht auch ausprobieren möchten.