yoklateknik mülakat

DevOps / Cloud K8s Storage Mülakat Soruları

75 doğrulanmış DevOps / Cloud K8s Storage mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

K8s StorageZorluk 1
Bir Pod, /data yoluna bağlı bir emptyDir volume kullanıyor. Bir process oraya bir dosya yazıyor, sonra Pod silinip aynı spec'e sahip yeni bir Pod oluşturuluyor. Dosyaya ne olur?
  • akubelet tarafından otomatik olarak yeni Pod'a kopyalanır
  • bNode üzerinde kalır ve yeni Pod aynı dizini mount eder
  • cKaybolur, çünkü emptyDir o Pod'un ömrüyle sınırlıdır
  • dNamespace'te bağlı olan hangi PersistentVolume varsa oraya taşınır
Açıklama:Bir emptyDir volume, Pod bir node'a atandığında oluşturulur ve o belirli Pod kaldırıldığında içeriği kalıcı olarak silinir. Aynı spec'e sahip yeni bir Pod bile, yepyeni boş bir dizin alır.
K8s StorageZorluk 1
Bir Pod, Bound durumundaki bir PVC'ye dayanan bir persistentVolumeClaim volume mount ediyor. Pod silinip yerine aynı PVC adını referans alan yeni bir Pod oluşturuluyor. Silinmeden önce yazılan dosyalara ne olur?
  • aKalır, çünkü PVC ve onun altındaki storage Pod'dan daha uzun ömürlüdür
  • bKaybolur, çünkü volume'lar her zaman tek bir Pod'a özeldir
  • cSadece yeni Pod aynı node'da çalışırsa kalır
  • dStorageClass'ta reclaimPolicy: Retain yoksa kaybolur
Açıklama:PVC, bir PersistentVolume'a bağlanmış ayrı bir API nesnesidir; yaşam döngüsü herhangi bir tek Pod'dan bağımsızdır. Aynı PVC'yi mount eden herhangi bir Pod, hangi node'a düştüğüne (ağ tabanlı storage için) ya da yepyeni bir Pod olup olmadığına bakılmaksızın aynı altta yatan storage ve veriyi görür.
K8s StorageZorluk 2
Tek StorageClass'ın standard adını taşıdığı bir cluster'da şu PVC'yi apply ediyorsun:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-pvc
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 1Gi

Hemen ardından kubectl get pvc data-pvc çalıştırılıyor. STATUS sütununda ne görünür?
  • aBound, çünkü Kubernetes varsayılan StorageClass'a geri düşer
  • bPending, çünkü isteği karşılayacak bir fast-ssd StorageClass'ı yok
  • cFailed, çünkü PVC oluşturma anında API server tarafından reddedilir
  • dBound, çünkü 1Gi storage herhangi bir provisioner'ın karşılayabileceği kadar küçük
Açıklama:Var olmayan bir StorageClass'ı adlandıran bir PVC'nin bağlanacağı ya da provision edileceği hiçbir şey yoktur, bu yüzden Pending kalır. kubectl describe pvc, persistentvolume-controller'dan storageclass.storage.k8s.io "fast-ssd" not found gibi bir event gösterir.
K8s StorageZorluk 2
Bir minikube cluster'ında (varsayılan StorageClass standard, provisioner k8s.io/minikube-hostpath) şunu apply ediyorsun:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-pvc
spec:
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 1Gi

storageClassName alanı hiç ayarlanmamış. Ne olur?
  • aPVC Pending kalır, çünkü açıkça bir StorageClass istenmedi
  • bPVC reddedilir, çünkü storageClassName zorunlu bir alandır
  • cBir yönetici önce elle eşleşen bir PersistentVolume oluşturmalıdır
  • dPVC, varsayılan StorageClass'ı kullanır ve dinamik olarak provision eder
Açıklama:storageClassName belirtilmediğinde, Kubernetes varsayılan olarak işaretlenmiş (storageclass.kubernetes.io/is-default-class: "true" etiketli) StorageClass'ı kullanır. Onun provisioner'ı, herhangi bir yönetici adımı olmadan eşleşen bir PersistentVolume'u dinamik olarak oluşturur ve PVC Bound olur.
K8s StorageZorluk 1
Bir PersistentVolumeClaim accessModes: ["ReadWriteOnce"] talep ediyor. Bu pratikte ne anlama gelir?
  • aBir Pod içindeki yalnızca tek bir container volume'u mount edebilir
  • bVolume aynı anda yalnızca tek bir node tarafından okuma-yazma olarak mount edilebilir
  • cVolume yalnızca bir kez yazılabilir, sonra salt-okunur olur
  • dYalnızca PVC'yi oluşturan Pod onu bir daha mount edebilir
Açıklama:ReadWriteOnce (RWO), volume'un okuma-yazma olarak mount edilebileceği ama aynı anda yalnızca tek bir node tarafından anlamına gelir — o aynı node'a zamanlanmış birden fazla Pod yine de mount'u paylaşabilir. Farklı node'lardaki birden fazla Pod, bir RWO volume'u aynı anda mount edemez.
K8s StorageZorluk 2
node-1 üzerindeki Pod A, accessModes: ["ReadWriteOnce"] olan bir PVC'yi mount ediyor ve altındaki PV şu anda node-1'e bağlı. Bir Deployment rollout'u, aynı PVC'yi mount eden Pod B'yi node-2'ye zamanlıyor. En muhtemel sonuç nedir?
  • aPod B takılı kalır (ContainerCreating), çünkü RWO iki node'a bağlanamaz
  • bHer iki Pod da hiçbir sorun olmadan volume'u aynı anda mount eder
  • cPod B volume'u bağlayabilsin diye Pod A otomatik olarak tahliye edilir
  • dPVC her iki mount'a izin vermek için sessizce ReadWriteMany'ye geçer
Açıklama:Bir RWO volume aynı anda yalnızca tek bir node'a bağlanabilir. Pod A'nın node'u volume'u hâlâ tutuyorsa, farklı bir node'daki Pod B onu mount edemez ve volume ayrılana kadar (genelde Pod A sonlandıktan sonra) takılı kalır.

3375 soruluk DevOps / Cloud bankasında kendini sına.

Mülakata başla