Vytvoření stavové sady

Stavové sady udržují stav aplikací nad rámec životního cyklu jednotlivých podů. Podobně jako nasazení vytvoří a spravuje StatefulSet alespoň jeden stejný pod s jedinečnými, trvalými identitami a stabilními názvy hostitelů. Repliky ve stavové sadě se řídí sekvenčním přístupem k nasazení, škálování a upgradu.

StatefulSet je užitečný pro aplikace, které vyžadují stabilní a jedinečné identifikátory, trvalé úložiště, seřazené nasazení a škálování. Mezi příklady těchto aplikací patří MySQL, MongoDB, Kafka a Cassandra. Bezstavové aplikace, jako je Apache a Tomcat, se nezajímají o to, jakou síť používají a nevyžadují trvalé úložiště.

Hlavní komponenty StatefulSets jsou trvalým zřizovacím svazkem a bezobslužnou službou. Další informace naleznete v tématu StatefulSets.

Vytvoření stavové sady

StatefulSet vytvoříte pomocí kubectl create příkazu nebo kubectl apply příkazu, například:

kubectl create –f statefulset.yaml

Ve stejném souboru YAML manifestu můžete také vytvořit bezhlavou službu, kterou StatefulSet používá.

Pokud chcete zobrazit komponenty, které jste vytvořili pro StatefulSet, spusťte následující příkaz:

kubectl get statefulset

Pokud chcete zobrazit trvalé svazky, spustit kubectl get pva zobrazit trvalou deklaraci identity svazku, spusťte kubectl get pvc.

Aktualizace stavových sad

Chcete-li aktualizovat StatefulSet, upravte soubor manifestu a spusťte stejný příkaz použitý při vytváření StatefulSet: kubectl apply –f statefulset.yaml. Jako strategii aktualizace můžete použít aktualizaci OnDelete nebo kumulativní aktualizaci. Při aktualizaci OnDelete se při použití manifestu nenahradí pody, ale před vytvořením nové verze budete muset existující pody StatefulSet odstranit ručně. Při postupné aktualizaci se odeberou pody StatefulSet a po použití manifestu se nahradí v obráceném pořadí.

Odstranění stavové sady

kubectl delete Pomocí příkazu odstraňte StatefulSet a zvlášť odstraňte bezhlavou službu. Pokud chcete odstranit StatefulSet, spusťte následující příkaz:

kubectl delete statefulset <statefulset_NAME>

Pak spuštěním následujícího příkazu odstraňte bezvýstavovou službu:

kubectl delete service <svc_NAME>

Pokud chcete odstranit trvalý svazek a trvalou deklaraci identity svazku, použijte kubectl delete pv a kubectl delete pvcv uvedeném pořadí. Pokud chcete zabránit ztrátě dat, trvalý svazek a trvalá deklarace identity svazku se při odstranění statefulSet neodstraní.

Další kroky