StatefulSet oluşturma

StatefulSets, uygulamaların durumunu tek bir pod yaşam döngüsünün ötesinde tutar. Dağıtımlar gibi StatefulSet de benzersiz, kalıcı kimliklere ve kararlı konak adlarına sahip en az bir özdeş pod oluşturur ve yönetir. StatefulSet içindeki çoğaltmalar dağıtım, ölçeklendirme ve yükseltme için sıralı bir yaklaşım izler.

StatefulSet, kararlı ve benzersiz tanımlayıcılar, kalıcı depolama, sıralı dağıtım ve ölçeklendirme gerektiren uygulamalar için kullanışlıdır. Bu uygulamalara örnek olarak MySQL, MongoDB, Kafka ve Cassandra verilebilir. Apache ve Tomcat gibi durum bilgisi olmayan uygulamalar hangi ağı kullandıklarını dikkate almaz ve kalıcı depolama gerektirmez.

StatefulSets'in ana bileşenleri kalıcı birim sağlama ve başsız hizmettir. Daha fazla bilgi için bkz . StatefulSets.

StatefulSet oluşturma

veya kubectl apply komutunu kullanarak kubectl create bir StatefulSet oluşturursunuz, örneğin:

kubectl create –f statefulset.yaml

Aynı bildirim YAML dosyasında StatefulSet'in kullandığı başsız hizmeti de oluşturabilirsiniz.

StatefulSet'iniz için oluşturduğunuz bileşenleri görüntülemek için aşağıdaki komutu çalıştırın:

kubectl get statefulset

Kalıcı birimleri görüntülemek istiyorsanız, komutunu çalıştırın kubectl get pvve kalıcı bir birim talebi görüntülemek için komutunu çalıştırın kubectl get pvc.

StatefulSets Güncelleştirme

StatefulSet'i güncelleştirmek için bildirim dosyasını düzenleyin ve StatefulSet oluştururken kullanılan komutu çalıştırın: kubectl apply –f statefulset.yaml. Güncelleştirme stratejisi olarak OnDelete güncelleştirmesini veya sıralı güncelleştirmeyi kullanabilirsiniz. OnDelete güncelleştirmesi ile bildirimi uyguladığınızda podlar değiştirilmez, ancak yeni sürüm oluşturulmadan önce mevcut StatefulSet podlarını el ile silmeniz gerekir. Sıralı bir güncelleştirmede, StatefulSet podları kaldırılır ve bildirimi uyguladığınızda sıranın tersiyle değiştirilir.

StatefulSet silme

kubectl delete StatefulSet'i silmek ve başsız hizmeti ayrı olarak silmek için komutunu kullanın. StatefulSet'i silmek için aşağıdaki komutu çalıştırın:

kubectl delete statefulset <statefulset_NAME>

Ardından, başsız hizmeti silmek için aşağıdaki komutu çalıştırın:

kubectl delete service <svc_NAME>

Kalıcı birimi ve kalıcı birim talebi silmek için sırasıyla ve kubectl delete pvckullanınkubectl delete pv. Veri kaybını önlemek için, bir StatefulSet silindiğinde kalıcı birim ve kalıcı birim talebi silinmez.

Sonraki adımlar