Kubernetes interview soru ve cevapları


Kubernetes hakkında bir mülakatta sorulabilecek sorular ve bu sorulara olası yanıtlar şunlar olabilir:

Kubernetes Nedir? 

Kubernetes, açık kaynaklı bir konteyner orkestrasyon

sistemidir. Konteynerleştirilmiş uygulamaları ölçeklendirmeye, dağıtmaya ve yönetmeye yardımcı olur.

Kubernetes'in ana bileşenleri nelerdir? 

Kubernetes'in ana bileşenleri etcd, API sunucusu, Scheduler, Controller Manager, Container Runtime ve Kubelet'i içerir.

Pod nedir? 

Pod, Kubernetes'te en küçük ve en basit birimdir. Bir ya da birden fazla konteyneri içerir ve genellikle aynı konumda ve aynı IP adresinde çalışırlar.

Deployment ve Service arasındaki fark nedir? 

Deployment, uygulamanın devletini yönetmeye yardımcı olan bir Kubernetes nesnesidir. Bu nesne, podların ölçeklendirilmesini ve güncellenmesini kontrol eder. Öte yandan, Service, ağ trafiğini belirli pod'lara yönlendiren bir Kubernetes nesnesidir.

Namespace neden önemlidir? 

Namespace, Kubernetes'teki kaynakları (podlar, hizmetler vb.) ayrı ayrı gruplandırmanıza olanak sağlar. Farklı projeler, ekipler veya müşteriler arasında kaynakları izole etmek ve yönetmek için kullanılabilir.

Kubernetes'te Replication Controller ile Replica Set arasındaki fark nedir? Her ikisi de podların belirli bir sayıda çalıştığından emin olmak için kullanılır. Ancak, Replica Set, Replication Controller'dan daha geniş bir eşleşme yeteneğine sahiptir. Replica Set, Replication Controller'ın yerini aldığı kabul edilir.

Ingress nedir? 

Ingress, Kubernetes'te dış ağ istemcilerinin hizmetlere erişebilmesini sağlar. HTTP ve HTTPS yollarını yönlendirmek için genellikle kullanılır.

Kubernetes'te ConfigMap ve Secret'ın rolü nedir? 

ConfigMap, konfigürasyon bilgilerini depolamak ve dağıtmak için kullanılır. Secret ise hassas bilgileri (örneğin, şifreler, API anahtarları) depolamak ve dağıtmak için kullanılır.

Persistent Volume (PV) ve Persistent Volume Claim (PVC) arasındaki fark nedir? 

PV, bir depolama bölümünü temsil eder ve genellikle bir pod'un ömründen daha uzun ömürlüdür. PVC ise, kullanıcıların PV'ye talepte bulunmalarını sağlar. PVC'ler, kullanıcıların depolama ihtiyaçlarını belirtir ve Kubernetes bu ihtiyaçları karşılamak için uygun PV'yi bulur.

Helm nedir ve neden kullanılır? 

Helm, Kubernetes uygulamalarını paketlemek, dağıtmak ve yönetmek için kullanılan bir araçtır. Helm Chartları, uygulamaların ve hizmetlerin konfigürasyonunu, bağımlılıklarını ve dağıtım parametrelerini tanımlar. Bu, daha karmaşık Kubernetes uygulamalarını yönetmeyi ve tekrar kullanmayı kolaylaştırır.

Kubernetes'te 'taint' ve 'toleration' nedir? 

"Taint" ve "toleration", Kubernetes'te düğümler üzerinde kaynakların yerleştirilmesini kontrol etmek için kullanılır. Bir düğümü "taint" ederek, belirli podların o düğüme atanmasını kısıtlayabilirsiniz. Bir "toleration", bir pod'un taint'li bir düğüme atanabilmesini sağlar.

Horizontal Pod Autoscaler (HPA) nedir? 

HPA, Kubernetes'te podların otomatik ölçeklendirilmesini sağlar. Bir HPA, CPU kullanımı veya özel metrikler gibi belirli bir metriğin eşiğine göre belirli bir Deployment veya Replica Set'in pod sayısını artırabilir veya azaltabilir.

Kubernetes'teki Stateful ve Stateless uygulamalar arasındaki fark nedir?

Stateless uygulamalar, durumlarını herhangi bir yerde saklamazlar. Bu, her isteklerin bir öncekine bağımlı olmadığı anlamına gelir. Stateful uygulamalar ise durum bilgisini saklar ve işlemleri gerçekleştirebilmek için bu durum bilgisine ihtiyaç duyarlar.

Kubernetes'te liveness ve readiness probe'lerinin rolü nedir? 

Liveness probe'leri, bir konteynerin hala çalışıp çalışmadığını kontrol eder. Konteyner yanıt vermiyorsa, Kubernetes otomatik olarak yeniden başlatır. Readiness probe'leri ise, bir konteynerin trafik almak için hazır olup olmadığını kontrol eder. Konteyner hazır değilse, Kubernetes, konteyner hazır olana kadar ona trafik göndermeyi durdurur.

Kubernetes Network Policies nedir? 

Network Policies, podlar arasındaki ağ trafiğini kontrol etmek için kullanılan Kubernetes kaynaklarıdır. Bu, belirli pod'ların hangi diğer pod'lara ağ bağlantısı kurabileceğini ve bu bağlantıların hangi portlar üzerinden yapılacağını belirlemenizi sağlar.

Kubernetes'te RBAC nedir? 

RBAC (Role-Based Access Control), Kubernetes'teki kaynaklara erişim kontrolünü yönetmek için kullanılan bir yetkilendirme yöntemidir. Kullanıcılar ve gruplar, belirli kaynaklara ve işlemlere erişim sağlamak için rollerle ilişkilendirilir.

DaemonSet nedir? 

DaemonSet, tüm (veya bazı) düğümlerde bir kopya çalıştırmak istediğinizde kullanılan bir Kubernetes bileşenidir. Log koleksiyoncusu veya izleme ajanı gibi özellikler genellikle DaemonSet olarak dağıtılır.

Kubernetes'teki Job ve CronJob bileşenleri arasındaki fark nedir? 

Job, bir veya daha fazla pod'u oluşturur ve belirli bir işi tamamlar, ardından durur. CronJob ise, belirli bir zaman diliminde veya belirli bir zamanlama ile çalışacak şekilde ayarlanmış Job'ları oluşturur.

Kubernetes'te Service ve Ingress arasındaki fark nedir? 

Service, pod'ların bir grupla ve genellikle aynı türdeki hizmetlerle etkileşime geçmesine olanak sağlar. Ingress ise, Kubernetes dışından gelen trafiği Kubernetes servislerine yönlendiren bir API nesnesidir. Yani, bir Service, Kubernetes içinde iletişimi düzenlerken, Ingress bu iletişimi Kubernetes dışına açar.

Kubernetes'teki etcd bileşeni ne işe yarar? 

etcd, Kubernetes için anahtar-değer veritabanıdır. Kubernetes'in tüm durum bilgilerini ve konfigürasyonlarını saklar. Bu, etcd'nin Kubernetes için hayati önem taşıdığı anlamına gelir.

Pod'lar neden doğrudan oluşturulmamalı, bunun yerine Deployment'lar kullanılmalıdır? 

Pod'lar kendi başlarına yeniden başlatılamazlar. Bir sorun olduğunda veya düğüm çöktüğünde, Pod'lar otomatik olarak yeniden başlatılmaz. Deployment'lar bu sorunu çözer. Bir Deployment, Pod'ları yönetir ve belirli bir sayıda Pod'un her zaman çalışır durumda olduğundan emin olur.

Kubernetes'teki Affinity ve Anti-Affinity nedir? 

Affinity ve Anti-Affinity, Kubernetes'deki pod'ların belirli düğümlere nasıl atanacağını belirler. Affinity, belirli koşulları karşılayan düğümlere pod'ların atanmasını tercih eder. Anti-Affinity, belirli koşulları karşılayan düğümlere pod'ların atanmasını önler.

Kubernetes'te hizmet keşfi nasıl gerçekleştirilir? 

Kubernetes'de hizmet keşfi genellikle DNS kullanılarak veya Environment Variables (Ortam Değişkenleri) aracılığıyla gerçekleştirilir. Kubernetes, bir servis oluşturulduğunda otomatik olarak bir DNS girişi oluşturur ve bu, diğer pod'ların bu servisi bulmasını sağlar.

Kubernetes'te NodePort, LoadBalancer ve ClusterIP arasındaki fark nedir? 

Bu üçü de Kubernetes'teki Service türleridir. NodePort, her düğümün belirli bir porta trafik yönlendirmesine olanak sağlar. LoadBalancer, harici bir yük dengeleyici oluşturur ve NodePort ile ClusterIP'yi birleştirir, bu da dış ağdan gelen isteklerin doğru servise yönlendirilmesini sağlar. ClusterIP ise, Kubernetes kümesi içindeki diğer pod'lar tarafından erişilebilen bir dahili IP adresi oluşturur.

Kubernetes'te Init Containers nedir ve ne için kullanılır? 

Init Containers, bir pod başlamadan önce çalıştırılan özel konteynerlardır. Genellikle bir uygulamanın çalışması için gerekli olan setup veya configuration işlemleri için kullanılırlar. Bir pod'un tüm Init Containers'ları tamamlanmadan, uygulama konteynerleri başlamaz.

Kubernetes'teki Resource Quotas (Kaynak Kotaları) ne işe yarar?

Resource Quotas, bir Kubernetes namespace'inde kullanılabilecek toplam kaynak miktarını sınırlar. Bu, belirli bir namespace'in çok fazla kaynak tüketerek diğerlerini etkilemesini önler.

Kubernetes'teki Headless Service nedir ve ne için kullanılır? 

Headless Service, pod'lara direkt olarak erişmek için kullanılan özel bir servis türüdür. Standart bir servis, bir IP adresi ve bir yük dengeleyici kullanarak trafiği pod'lara yönlendirir, ancak Headless Service bir IP adresi veya yük dengeleyici sağlamaz. Bunun yerine, DNS aracılığıyla doğrudan pod'lara yönlendirme yapılır.

Kubernetes Manifest nedir? 

Kubernetes Manifest, bir Kubernetes kaynağını (örneğin, bir pod, bir servis vb.) oluşturmak veya değiştirmek için kullanılan bir JSON veya YAML dosyasıdır. Bu manifest dosyası, kaynağın özelliklerini ve istenen durumunu tanımlar.

Kubernetes'te Horizontal ve Vertical Scaling arasındaki fark nedir?

Horizontal scaling, daha fazla pod ekleyerek veya mevcut pod'ları çıkararak uygulamanın ölçeklendirilmesini ifade eder. Vertical scaling ise, mevcut pod'lara daha fazla CPU veya bellek kaynağı ekleyerek gerçekleştirilir.

Kubernetes'teki Labels ve Selectors ne işe yarar? 

Labels, Kubernetes nesnelerini (örneğin pod'ları, servisleri vb.) organizasyon ve seçim için etiketlemeye yardımcı olur. Seçiciler ise, belirli etiketlere sahip nesneleri seçmek için kullanılır. Örneğin, bir servis belirli bir etikete sahip pod'ları seçebilir ve ağ trafiğini onlara yönlendirebilir.

Kubernetes'te Custom Resource Definition (CRD) nedir? 

CRD, kullanıcıların kendi özel türleri oluşturmasını sağlayan bir Kubernetes eklentisidir. Bu, Kubernetes API'sinin genişletilmesine ve kendi uygulama özelleştirmelerinize özgü nesnelerin tanımlanmasına olanak sağlar.

Kubernetes'teki Volumes ne işe yarar? 

Volumes, bir pod'un dosya sisteminin bir bölümünü temsil eder ve diske veri yazmak ve okumak için kullanılır. Kubernetes'teki birçok farklı volume türü vardır, her biri farklı ihtiyaçlara hizmet eder. Örneğin, bir PersistentVolume, pod'ların hayat döngüsünden bağımsız bir şekilde veri saklar.

Kubernetes'teki Storage Class ne işe yarar? 

Storage Class, bir Persistent Volume'in oluşturulmasında kullanılan özellikleri tanımlar. Bu özellikler, kullanılacak depolama türünü, replikasyonu ve yedeklemeyi içerir. Bir Persistent Volume Claim oluşturulduğunda, belirtilen Storage Class, uygun bir Persistent Volume oluşturmak için kullanılır.

Kubernetes'teki Namespaces ne işe yarar? 

Namespaces, Kubernetes kümesindeki kaynakları bölerek izolasyon sağlar. Bu, farklı projelerin, ekiplerin veya müşterilerin aynı Kubernetes kümesini paylaşmasını kolaylaştırır. Her namespace kendi içinde kaynakları yönetir, bu da bir namespace'in diğerini etkilemesini önler.

Kubernetes Federation nedir? 

Kubernetes Federation, birden çok Kubernetes kümesini birleştirmeyi ve onları tek bir küme gibi yönetmeyi sağlar. Bu, farklı coğrafi bölgelerde bulunan kümelere servislerin dağıtılmasını veya kaynakların yedeklenmesini kolaylaştırır.

Kubernetes'teki PodDisruptionBudget (PDB) ne işe yarar? 

PDB, bir Kubernetes servisinin çalışmasını sürdürebilmesi için gerekli olan minimum çalışan pod'ların sayısını tanımlar. Bu, özellikle bakım veya güncellemeler sırasında servisin sürekli olarak çalışmasını sağlar.

Kubernetes'teki NetworkPolicy ne işe yarar?

NetworkPolicy, Kubernetes pod'larının ağ trafiğini nasıl kontrol edeceğini belirler. Belirli pod'lara hangi pod'ların veya IP adreslerinin ağ bağlantısı kurabileceğini ve bu bağlantıların hangi portlar üzerinden gerçekleştirileceğini belirlemek için kullanılır.

Kubernetes'te Garbage Collection nedir ve ne işe yarar? 

Garbage Collection, Kubernetes'te artık kullanılmayan veya gereksiz hale gelmiş nesneleri temizlemek için kullanılır. Bu, kümedeki kaynakları etkin bir şekilde yönetmeyi ve boşa harcamayı önlemeyi sağlar.

Kubernetes'te Persistent Volume ve Persistent Volume Claim arasındaki fark nedir? 

Persistent Volume (PV), bir depolama birimini temsil eder ve birçok çeşitli depolama türünü destekler. Persistent Volume Claim (PVC), kullanıcının PV'ye erişmek için yaptığı talebi temsil eder. PVC, belirli bir boyut, erişim modu (okuma/yazma) ve belki de daha fazla ayrıntı talep eder ve bu talepleri karşılayan bir PV'ye bağlanır.

Kubernetes'teki ReplicaSet ne işe yarar? 

ReplicaSet, belirli bir pod kopyası sayısının her zaman çalışır durumda olmasını sağlar. Eğer bir pod düşerse veya çökerse, ReplicaSet otomatik olarak yeni bir pod başlatır. ReplicaSet genellikle Deployment tarafından kontrol edilir ve doğrudan kullanılmaz.

Kubernetes'teki Secret ne işe yarar? 

Secret, hassas bilgileri saklamak ve yönetmek için kullanılan bir Kubernetes nesnesidir. Bu hassas bilgiler şifreler, OAuth tokenları, ssh anahtarları vb. olabilir. Secret'ler, bu tür bilgileri düz metin olarak pod tanımlarında veya görüntü betiklerinde saklama gerekliliğini ortadan kaldırır.

Kubernetes'te ConfigMap ne işe yarar? 

ConfigMap, yapılandırma bilgilerini saklamak için kullanılan bir Kubernetes nesnesidir. Bu yapılandırma bilgileri, dosya içerikleri, komut satırı argümanları, ortam değişkenleri gibi çeşitli biçimlerde olabilir. ConfigMap, bu bilgileri pod tanımlarından ayırır, böylece uygulamalar kolayca yeniden kullanılabilir ve taşınabilir hale gelir. 

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال