Mireczki pytanie z zakresu CI/CD: Jest sobie kubernetes, helm, róznego rodzaju configmapy do kilku mikroserwisów no i same mikroservisy ładnie pakujące się do obrazów dockerowych niczym m&m do miski.
Problem w tym, że gdy aktualizuję configmapę o nowe zmienne których wymaga obraz dockerowy to mimo, że push na developa leci ok z configmapa, serwis na nowo buduje obraz dockerowy wymagający wspomnianych zmiennych to tak czy siak te zmienne nie są w jakiś sposób uaktualniane (te w configmapach).
Czy helm wymaga jakiejś dodatkowej aktualizacji swoich bebechów by na nowo zaczytać te configmapy czy co bo już zgłupiałem??
@Generyczny_nick nie wiem czy dobrze zrozumiałem ale jeśli masz postawionego poda na Kubernetesie który ściąga jakieś zmienne z ConfigMapy to nawet jak tą ConfigMape zaktualizujesz to pod cały czas będzie mieć stare wartości. Dlatego po aktualizacji ConfigMapy musisz ubić poda i na nowo go postawić.
Dodatkowo nie powinieneś pushowac nowego obrazu imho, lepiej mieć jeden obraz i tylko przy tworzeniu kontenera wstrzykiwać zmienne środowiskowe
@rubens117 obraz w nowej wersji buduje się sam do artifactory i tak samo stary pod się ubija i wstaje nowy. Chodzi o to, że zmiany w configmapie nie są z automatu uwzględniane w efekcie nowych zmiennych w ogóle nie wstrzykuje.
@Generyczny_nick: ConfigMap jest zaciągane do poda tylko i wyłącznie po utowrzeniu tegoż. Jeżeli masz pod, który ma np. zmienne środowiskowe z ConfigMap to jak zmienisz ConfigMap to nadal będzie miał stare, musisz usunąć poda, wtedy k8s stworzy nowego i zaciągnie najnowszą ConfigMap.
Ja to robię tak, że w Charcie mam definicję Deploymentu i dodaje do poda jako annotacje coś takiego:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} Wtedy jeżeli zmieni
Jest sobie kubernetes, helm, róznego rodzaju configmapy do kilku mikroserwisów no i same mikroservisy ładnie pakujące się do obrazów dockerowych niczym m&m do miski.
Problem w tym, że gdy aktualizuję configmapę o nowe zmienne których wymaga obraz dockerowy to mimo, że push na developa leci ok z configmapa, serwis na nowo buduje obraz dockerowy wymagający wspomnianych zmiennych to tak czy siak te zmienne nie są w jakiś sposób uaktualniane (te w configmapach).
Czy helm wymaga jakiejś dodatkowej aktualizacji swoich bebechów by na nowo zaczytać te configmapy czy co bo już zgłupiałem??
#programowanie #programista15k #docker #kubernetes #helm #cicd
Dodatkowo nie powinieneś pushowac nowego obrazu imho, lepiej mieć jeden obraz i tylko przy tworzeniu kontenera wstrzykiwać zmienne środowiskowe
Ja to robię tak, że w Charcie mam definicję Deploymentu i dodaje do poda jako annotacje coś takiego:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}Wtedy jeżeli zmieni