Label ve Selector
Etiketler, yani tag'ler Kubernetes'de her türlü objeye atayabildiğimiz, anahtar-değer eşlenikleridir. Etiketler sayesinde, bizler oluşturduğumuz objelere atabildiğimiz ve bizlerin anlayacağı ve gruplama yaparken kullanabileceğimiz bilgiler eklemiş oluruz. Bu sayede kubernetes tarafından bizlere core özellik olarak sunulmayan objelere belirli bir aidiyet ataması gerçekleştirebiliriz. Obje oluştururken, atanabileceği gibi, obje oluşturulduktan sonra da etiketler atanabilir. Etiketler key-value şeklinde oluşturulur.
Kubernetes 'de objeler arası bağlantı da etiketler sayesinde kurulur. Servisler ve deployment objeleri, hangi pod'ların kendilerine ait olduğunu ve hangi pod'lar ile ilişki kuracaklarını etiketler sayesinde belirler.
Örneğin, bir servis oluşturur ve bu servise şunu deriz; Git ve tier : frontend etiketli podları bul, ve trafiği bunlara yönlendir. vb.
Özetle, Label(etiketler) objeleri gruplama imkanı vermenin yanı sıra, Kubernetes 'de objeler arası bağ kurmak için kullandığı en temel mekanizmadır.
Bir yml dosyasında, birden çok pod tanımı yapabiliriz. Aralarında (---) olmak şartıyla.
Metadata kısmında, etiket tanımı yaparız. ve istediğimiz kadar bu etiket sayısını arttırabiliriz.
YML dosyasına gireceğimiz node selector parametresi ile bu pod'un çalışmasını istediğimiz, nodeları belirtebiliyoruz. Bunu da label arayıcılığıyla yapıyoruz.
Örneğin;
Kube scheduler 'e şunu diyoruz, bu podu oluştururken, hddtype:ssd değerine sahip olan bir node bul ve bu podu orada çalıştır. Bu pod objesi ile node objesini eşleştirdik. Labeller bize objeler arası ilişki kurmaya yarar dediğimiz kısım budur.
Last updated