2015-01-26 17 views
16

Mi piacerebbe provare gli hook di Kubernetes ma non ho trovato alcun esempio su come dovrei farlo. Per quanto ne so, con questi hook posso eseguire gli script di bash in contenitori appena creati e prima di terminarli.Uso dei ganci di Kubernetes

Ho trovato solo un breve documentation che dice che questo è possibile ma questo è tutto.

Qualcuno ha un esempio o qualcosa di utile?

Grazie in anticipo.

risposta

14

Non vedo alcun esempio di file .yaml, ma Kubernetes API v1 descrive gli eventi del ciclo di vita nello stesso modo. Attualmente, solo PostStart e PreStop sono definiti e dovresti essere in grado di utilizzarli aggiungendo una sezione del ciclo di vita a un contenitore nella definizione del tuo pod.

Sulla base leggere la definizione API, qualcosa di simile dovrebbe funzionare (disclaimer: non ho davvero provato io stesso):

containers: 
    - name: lifecycle 
    image: busybox 
    lifecycle: 
     postStart: 
     exec: 
      command: 
      - "touch" 
      - "/var/log/lifecycle/post-start" 
     preStop: 
     httpGet: 
      path: "/abort" 
      port: 8080 
+0

Grazie mi ha aiutato, ma solo quasi funziona ancora. Il mio pod diventa nello stato di esecuzione ma in poco tempo dopo che fallisce con questo messaggio sul sito minion: "kubelet.go: 811] Errore di pod pod apache.default.etcd: impossibile chiamare il gestore di eventi : versione del server di docker mancante dall'output della versione del server - & [Arch = amd64 GitCommit = 5bc2ff8/1.4.1 GoVersion = go1.3.3 KernelVersion = 3.11.10-301.fc20.x86_64 Os = linux Version = 1.4.1 ApiVersion = 1.16] " Può essere un errore, forse? Ecco le definizioni del mio pod: http: //pastebin.com/VVqRQpZm – Halacs

0

Con la risposta di cui sopra ho potuto provare gancio poststart, e ho trovato un bug che è stato risolto alla fine dello scorso anno ma non ancora pubblicato nel repository di test di Fedora solo nel repository rawhide.

Il repos deve essere aggiornato nei prossimi due giorni.

Ulteriori dettagli: https://github.com/kubernetes/kubernetes/issues/3930