Bu sorunun cevabını kubernetes.io'dan Dağıtımlar bölümünde bulabiliriz
Öyleyse neden seçicilere de ihtiyacım olacak?
K8s v 1.14 belgelerinden aşağıdaki alıntılar
.spec.selector
Bir olan gerekli belirtir Kapsüller için bir etiket seçici Bu harekât tarafından hedef aldığını alanı.
.spec.selector
eşleşmelidir .spec.template.metadata.labels
, aksi takdirde API tarafından reddedilir.
API sürümünde apps / v1, .spec.selector ve .metadata.labels varsayılan olarak .spec.template.metadata.labels olarak ayarlanmamıştır. Bu yüzden açıkça ayarlanmalıdırlar . Ayrıca .spec.selector uygulamasının / v1 uygulamasında Dağıtım oluşturulduktan sonra değiştirilemeyeceğini unutmayın.
Bir Dağıtım, şablonları .spec.template'den farklıysa veya bu tür Podların toplam sayısı .spec.replicas'ı aşıyorsa etiketleri seçiciyle eşleşen Pod'ları sonlandırabilir. Pod sayısı istenen sayıdan azsa, .spec.template içeren yeni Pod'lar getirir.
Bölmeler zaten ayrı olarak başlatılıyor, ancak daha sonra birlikte yönetilmek üzere Dağıtım şemsiyesi altına getiriliyor mu?
Basitçe söylemek gerekirse, hayır
Not: Etiketleri doğrudan bu seçiciyle eşleşen başka bir kapsül oluşturarak Deployment
veya başka bir denetleyici oluşturarak ReplicaSet
veya a veya a
gibi başka bir denetleyici oluşturarak başka bölmeler oluşturmamalısınız ReplicationController
. Bunu yaparsanız, ilk önce Deployment
bu diğer bölmeleri oluşturduğunu düşünür. Kubernetes
bunu yapmanı engellemez. Çakışan seçicilere sahip birden fazla denetleyiciniz varsa, denetleyiciler birbirleriyle kavga eder ve düzgün davranmazlar.