W codziennych bujaniach w Kubernetesowych morzach chmurach, natrafiamy porty w postaci plików YAML. To właśnie tam wprowadzamy ładunek informacji dla kontenera – od nazwy po szczegółowe parametry. By jednak statek mógł bezpiecznie wypłynąć, musimy znać obowiązkowe pola. Bez kótrych nasza łajba pójdzie na dno.
Podstawowe, obowiązkowe pola w pliku YAML
apiVersion – Wskazuje wersję API w Kubernetes. Przykładowo: apps/v1 albo v1.
kind – Typ zasobu, jaki chcemy utworzyć (np. Pod, Deployment, Service).
metadata – Skarbnica informacji o obiekcie, np. name, labels czy annotations. Zwykle name jest absolutnym minimum.
spec – Serce manifestu, w którym deklarujemy, jak nasz obiekt ma wyglądać i działać.
Dodatkowe pola takie jak selector, replicas czy template należą już do specyfiki konkretnego kinda (np. Deployment), ale w praktyce także są obowiązkowe, gdy tworzymy dany rodzaj obiektu.
Przykładowy plik YAML pod Deployment NGINX
Poniżej znajdziesz przykładowy plik YUML pod stworzenie prostego poda z nginx-em.
# Określamy wersję API: w przypadku Deployment zwykle jest to apps/v1
apiVersion: v1
# Definiujemy rodzaj (typ) zasobu: Deployment, Pod, Service itp.
kind: Pod
# Metadane naszego obiektu – nazwa jest kluczowa, label można dodać wg uznania
metadata:
name: nginx-pod # Unikalna nazwa, która identyfikuje nasz obiekt
# Spec – główna część mówiąca, jak nasz Deployment ma wyglądać
spec:
containers:
- name: nginx-pod-container # Nazwa kontenera
image: nginx:latest # Obraz Dockerowy, który wykorzystujemy
Zakończenie
Dobrze opracowany plik YAML staje się kluczem do pewnego i skutecznego wdrożenia. Rozumienie obowiązkowych pól sprawia, że stajemy na straży porządku i bezpieczeństwa w klastrze – niczym latarnia morska wskazujemy właściwą drogę statkom usług. Nie bójmy się wzbogacać naszych yamlów w etykiety, adnotacje czy dodatkowe pola – to wszystko doprowadzi do łatwiejszej administracji i skuteczniejszego skalowania. Wszak Kubernetes to sztuka harmonii!