2015-05-12 16 views
10

Jaki jest preferowany sposób aktualizowania zestawu strąków (np. Po wprowadzeniu zmian w kodzie & przesuwając obraz dokera do koncentratora dokowanego) kontrolowanego przez kontroler replikacji w klastrze kubernetes?Jak zaktualizować zestaw kapsuł działających w kernernetes?

można zobaczyć 2 sposoby:

  1. Usuwanie & Odtworzenie sterowania replikacji ręcznie
  2. Stosując kubectl toczenia aktualizacji

toczenia-aktualizacji muszę zmień nazwę kontrolera replikacji. Ponieważ przechowuję definicję kontrolera replikacji w pliku YAML i nie generuję go ręcznie, konieczność zmiany pliku w celu wypuszczenia aktualizacji kodu wydaje się powodować złe przyzwyczajenia, takie jak naprzemienne występowanie 2 nazw kontrolera replikacji (np. Kontroler A i kontroler B), aby unikaj konfliktu nazw.

Jaki jest lepszy sposób?

Odpowiedz

19

Powinieneś użyć kubectl rolling-update. Niedawno dodaliśmy funkcję "aktualizacji kroczącej", która zaktualizuje obraz w kontrolerze replikacji bez zmiany jego nazwy. To ostatni przykład pokazany na wyjściu kubectl help rolling-update:

// Update the pods of frontend by just changing the image, and keeping the old name 
$ kubectl rolling-update frontend --image=image:v2 

Komenda ta obsługuje również odzyskanie - jeśli anulować aktualizację i uruchomić go ponownie później, będzie wznowić z którym zostało przerwane. Mimo że tworzy on za sobą nowy kontroler replikacji, na końcu aktualizacji nowy kontroler replikacji przyjmuje nazwę starego kontrolera replikacji, więc wydaje się być czystą aktualizacją, zamiast przełączać się na całkowicie nowy kontroler replikacji.

+0

Kiedy mówisz ostatnio, które wydanie było zawarte w? – Charlino

+1

Jest on zawarty w wersji 0.16.1 i nowszych wersji kubectl. –

+0

Możliwe jest uaktualnienie tylko jednego obrazu w kapsule? –

Powiązane problemy