2017-02-27 3 views
0

Ich versuche, Kubernetes im Hochverfügbarkeitsmodus auf GCE nach der instructions zu laufen, aber meine kube-scheduler.manifest und kube-controller-manager.manifest haben nicht die --leader-elect=true Flag auf einem der Master gesetzt.Wie können Sie die Wahl des Leiters für hoch verfügbare Kubernetes in Google Compute Engine aktivieren?

Ich grub in der salt templates, und es scheint mir, dass es keine Konfigurationsoption, um es zu aktivieren. Weiter schlägt die high-availability proposal vor, dass das Flag auch im "nicht-replizierten Modus" aktiviert werden sollte, aber es scheint nicht zu sein.

Was ist der richtige Weg, um die Wahl des Leiters für kube-scheduler und kube-controller-manager zu ermöglichen? Gibt es eine Möglichkeit, es ohne modifying the salt tars myself zu tun?

Die high-availability instructions Erwähnung ermöglicht die --leader-elect Flagge, aber die high-availability setup instructions nicht genau erklären, wie es geht. Die high-availability proposal doc sagt dies über Führer Wahl: "Wir werden die gleiche Konfiguration im nicht-replizierten Modus verwenden, um Deployment-Skripte zu vereinfachen", aber ich kann keinen Beweis dafür in den Salzvorlagen finden.

Antwort

1

Der Standardwert des Flags leader-elect ist true ab Kubernetes v1.4.0. Wenn keine explizite Konfiguration vorhanden ist, sollte der Client für die Leiterauswahl aktiviert werden.

Sie können auch das Flag apiserver-count des Kubernetes-API-Servers entsprechend der Anzahl der Master festlegen, die Sie hochfahren (standardmäßig 1). Es gibt den vom Master gewählten Komponenten (Scheduler, Controller-Manager) einen Hinweis auf die Größe des von den Mastern gebildeten Quorums, da der Leader-Wahlprozess den Raft-Konsensus verwendet.

Referenzen:

+0

Danke für die tolle Antwort! Was genau macht die API-Zählmarke? –

+0

Es bestimmt die Größe des Quorums, das von den Meistern gebildet wird. Ich habe meine Antwort mit der Erklärung aktualisiert. –

Verwandte Themen