Kubernetes i łączenie zmiennych w nową w manifeście
Jak złączyć ze sobą zmienne środowiskowe pochodzące z fieldRef
w manifeście w Kubernetes? Bardzo prosto i zarazem trudno.
W teorii możemy sobie w K8s ładnie połączyć zmienne w env na przykład tak:
- name: FULL
value: "$(MY_NODE_NAME)_$(MY_POD_NAME)-$(MY_POD_NAMESPACE).$(MY_POD_IP).$(MY_POD_SERVICE_ACCOUNT)"
Teraz zróbmy z tego cały manifest o taki:
Sprawdźmy teraz, co zobaczymy w logach:
~/temp on 🐳 v19.03.8 at ☸️ docker-desktop
➜ kubectl logs busybox
$(MY_NODE_NAME)_$(MY_POD_NAME)-$(MY_POD_NAMESPACE).$(MY_POD_IP).$(MY_POD_SERVICE_ACCOUNT)
O i nie działa… Kubernetes jest prosty jak budowa cepa, w tym wypadku nawet za prosty. Jeśli umieścimy zmienna z łączeniem jako ostatnią o tak:
i sprawdzimy, czy działa to będzie lepiej…
~/temp on 🐳 v19.03.8 at ☸️ docker-desktop
➜ kubectl logs busybox
docker-desktop_busybox-default.10.1.0.218.default