Kubernetes DaemonSets oluşturma
Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS
Bu makalede Azure Arc tarafından etkinleştirilen AKS'de bir kubernetes DaemonSet oluşturup kullanarak kümedeki her çalışan düğümünde bir pod kopyasının her zaman kullanılabilir olmasını sağlama işlemi açıklanır. Bir uygulamanın tüm çalışan düğümlerinde çalıştığından emin olarak küme performansını geliştirmek ve bakım yapan ve düğümler için destek hizmetleri sağlayan podlar dağıtmak için DaemonSet kullanabilirsiniz.
DaemonSets'e Genel Bakış
DaemonSet , yapılandırmada tanımlanan bir podun kopyasının kümedeki her çalışan düğümünde her zaman kullanılabilir olmasını sağlayan bir Kubernetes nesnesidir. Kümeye yeni bir düğüm eklendiğinde, DaemonSet söz konusu düğümdeki podu otomatik olarak ayırır.
Benzer şekilde, bir düğüm silindiğinde düğümde çalışan pod da silinir ve başka bir düğümde yeniden zamanlanmamıştır (örneğin , ReplicaSets'te olduğu gibi). Bu, Kubernetes zamanlama sınırlamalarını aşmanıza ve belirli bir uygulamanın küme içindeki tüm düğümlere dağıtıldığından emin olmanıza olanak tanır.
DaemonSets, genel küme performansını geliştirebilir. Örneğin, bakım görevlerini gerçekleştirmek ve hizmetleri her düğüme desteklemek üzere pod dağıtmak için bunları kullanabilirsiniz:
- ve
Logstash
gibiFluentd
bir günlük koleksiyonu daemon'ı çalıştırın. - gibi
Prometheus
bir düğüm izleme daemon'ı çalıştırın. - veya
ceph
gibiglusterd
bir küme depolama daemon'ı çalıştırın.
DaemonSets varsayılan olarak her düğümde bir pod oluştursa da, YAML dosyasındaki düğüm seçici alanını önceden tanımlayarak kabul edilebilir düğüm sayısını sınırlayabilirsiniz. DaemonSet denetleyicisi yalnızca düğüm seçiciyle eşleşen düğümlerde podlar oluşturur.
Genellikle, bir DaemonSet tüm düğümler arasında bir daemon türü dağıtır, ancak birden çok DaemonSet'in farklı etiketler kullanarak bir daemon türünü denetlemesini sağlamak mümkündür. Kubernetes etiketi, tek tek düğümlerin özelliklerine göre dağıtım kurallarını belirtir.
DaemonSets'i kullanma hakkında daha fazla bilgi için bkz. Kubernetes DaemonSets.
DaemonSet oluşturma
DaemonSet'i YAML dosyası kullanarak açıklar ve ardından veya kubectl apply
komutlarını kullanarak kubectl create
oluşturursunuz (örneğin, kubectl create –f example-daemon.yaml
).
Aşağıdaki örnekte, nginx görüntüsü kullanan bir DaemonSet yapılandırma dosyasının özellikleri açıklanmaktadır:
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: nginx
name: example-daemon
spec:
template:
metadata:
labels:
app: nginx
spec:
containers:
-name: nginx
image: nginx
DaemonSet'in geçerli durumunu görüntülemek için komutunu kullanın kubectl describe
(örneğin, kubectl describe daemonset example-daemon
).
DaemonSet'i belirli düğümlerle sınırlama
Varsayılan olarak, DaemonSets bir kümedeki tüm düğümlerde podlar oluşturur, ancak düğüm seçicilerle bunları yalnızca belirli düğümlerde pod oluşturacak şekilde yapılandırabilirsiniz. DaemonSet'i belirli düğümlerle sınırlamak istiyorsanız komutunu kullanın kubectl label
.
DaemonSet'i güncelleştirme
Komutunu kullanarak bir DaemonSet'i kubectl edit ds<NAME>
güncelleştirebilirsiniz. Ancak, özgün yapılandırma dosyasını düzenlemeniz ve ardından ilk oluşturulduğunda komutunu kullanmanız kubectl apply
önerilir. Bir güncelleştirmeyi uyguladıktan sonra komutunu kullanarak kubectl rollout status ds <daemonset-name>
güncelleştirme durumunu görüntüleyebilirsiniz.
DaemonSet silme
DaemonSet'i kaldırmak için komutunu kullanın kubectl delete
(örneğin, kubectl delete –f example-daemon.yaml -n monitoring
). DaemonSet dosyasının adını belirtirken dikkatli olmanız gerekir. DaemonSet silindiğinde dağıtılan tüm podlar temizlenebilir.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin