2015-04-15 15 views
6

Ho un cluster Kubernetes in esecuzione su 3 server, un master e 2 serventi. Vorrei aggiungere un altro seguace. È possibile aggiungere un seguace senza dover ripetere l'installazione completa? Finora, quando ho cercato delle guide per farlo, posso trovare solo delle guide eccellenti per ottenere l'intero cluster.Come aggiungere un nuovo minion Kubernetes al cluster corrente

risposta

3

Per me la differenza tra un maestro e un seguace sono i processi che iniziano e l'orchestrazione (il maestro segnala ai minion che è stato fatto e ora possono venire fuori, i seguaci attendono il segnale). Alzare un servitore dopo che le cose sono finite non sarebbe stato diverso, eccetto che la segnalazione è già stata fatta, quindi il servitore verrà appena fuori. Questo mi è sembrato un esperimento ragionevole, quindi ho pensato di provarlo! Sono in esecuzione nei vps digitali dell'oceano, utilizzando coreos (stabile) e cloud-config per richiamare flotta + flanneld + k8s. Sul master che ho:

  • etcd
  • flotta
  • flanneld
  • finestra mobile
  • Kube-apiserver
  • Kube-Controller-manager
  • Kube-scheduler
  • kube- registrati

Il processo importante qui è il registro dei kube. Guardo il suo output con:

journalctl -u kube-register 

per vedere quando i servitori si registrano. Per vedere tutti i servi che ho attualmente:

[email protected] ~/tmp $ kubectl get minions 
NAME    LABELS STATUS 
104.236.214.244 <none> Ready 
104.236.31.77  <none> Ready 

Sulla servitore per i processi ho:

  • flotta
  • flanneld
  • finestra mobile
  • Kube-proxy
  • Kube -kubelet

Penso che il kube-kubelet sia la cosa che registra con il master, ma potrei sbagliarmi. So che il maestro interroga costantemente il kubelet per healthz, quindi sa se un servitore è pronto per il lavoro. Ad ogni modo, ho uno script che crea la mia configurazione cloud per il master e per i minion. Ho appena modificato quello script per 'saltare' la configurazione principale del cloud e fare semplicemente la configurazione di minion. Corro e qui è la mia servitori ora:

[email protected]/$ kubectl get minions 
NAME    LABELS STATUS 
104.236.214.244 <none> Ready 
104.236.31.77  <none> Ready 
45.55.164.39  <none> Ready 

Insomma, per farla, sì, è ancora più lungo possibile aggiungere un servitore a un cluster nodo esistente. Non so come stai facendo la scoperta, ma, qualunque metodo tu abbia usato per "presentare" il tuo seguace al master, in primo luogo funzionerà.

+0

saresti così gentile da condividere il tuo copione con noi? mi piacerebbe dare un'occhiata ... – stephanlindauer

+0

scusa, la sceneggiatura sembra essere svanita (penso che fosse in alcuni vecchi repository privati ​​di cui mi sono liberato). – Greg

2

Sono rimasto bloccato su questo per un po 'di tempo. Ho trovato la soluzione sorprendentemente semplice.

Se si dispone già di un master up, avviare i seguenti processi su un seguace non connesso nell'ordine in cui appaiono. (Immagino che tu possa iniziare una sovrapposizione di rete simile prima se ne stai utilizzando uno diverso).

/opt/bin/flanneld --etcd-endpoints=http://<masterip>:4001 
/opt/bin/kubelet --address=0.0.0.0 --port=10250 --hostname-override=<localhostip> --api-servers=http://<masterip>:8080 --logtostderr=true --cluster-domain=cluster.local --cluster-dns=192.168.3.10 
/opt/bin/kube-proxy --master=http://<masterip> --logtostderr=true 

In caso di dubbio, basta guardare uno dei processi del vostro Minon connesso per vedere quali flag che ogni processo è in esecuzione con.

Problemi correlati