0Pricing
Kubernetes Basics · Ders

Başlatma Konteynerleri ve Başlangıç Sıralaması

Başlatma konteynerlerinin ana uygulama konteynerleriniz başlamadan önce kurulum görevlerini nasıl yürüttüğünü ve bir Pod içindeki sıralamayı nasıl zorunlu kıldığını öğrenin.

Başlatma Konteynerleri ve Başlangıç Sıralaması, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.

Başlatma Kapsayıcıları Nedir?

Bir başlatma kapsayıcısı, bir Pod'daki ana uygulama kapsayıcıları başlamadan önce tamamlanana kadar çalışan özel bir kapsayıcıdır. Pod'larda bunlardan bir veya daha fazlası bulunabilir.

Bağımlılığı beklemek, yapılandırmayı kopyalamak veya veritabanı geçişi çalıştırmak gibi tek seferlik kurulum görevleri için idealdirler.

Uygulama Kapsayıcılarından Farkları

Başlatma kapsayıcıları her zaman tamamlanana kadar çalışır ve bir sonraki başlamadan önce başarıyla tamamlanmalıdır. Buna karşılık uygulama kapsayıcıları sürekli çalışır.

  • Başlatma kapsayıcıları sırayla, birer birer çalışır
  • Uygulama kapsayıcıları paralel çalışır
  • Bir başlatma kapsayıcısı başarısız olursa Pod, onu yeniden başlatır (restartPolicy uyarınca)

Temel Bir Başlatma Kapsayıcısı Tanımı

Başlatma kapsayıcıları, spec.containers ile aynı düzeyde bulunan spec.initContainers altında yer alır.

apiVersion: v1
kind: Pod
metadata:
  name: app-with-init
spec:
  initContainers:
  - name: wait-for-db
    image: busybox:1.36
    command: ['sh', '-c', 'echo waiting; sleep 5']
  containers:
  - name: app
    image: nginx:1.27

Sıralama Neden Önemlidir?

Kubernetes sıralamayı garanti eder: Her başlatma kapsayıcısı, ana kapsayıcılar başlamadan önce başarıyla tamamlanır.

Bu sayede yeniden deneme döngülerini uygulama görüntüsüne yerleştirmek yerine bağımlılıkları bildirimsel olarak ifade edebilirsiniz.

Bir Hizmeti Bekleme

Yaygın bir yaklaşım, bağımlı bir hizmet yanıt verene kadar başlangıcı engellemektir.

initContainers:
- name: wait-for-api
  image: busybox:1.36
  command:
  - sh
  - -c
  - 'until nslookup api-service; do echo waiting; sleep 2; done'

Birden Çok Başlatma Kapsayıcısı

Birden çok başlatma kapsayıcısını zincirleyebilirsiniz. Bunlar listelenen sırayla çalışır; her biri tamamen tamamlandıktan sonra bir sonraki başlar.

initContainers:
- name: step-1-fetch-config
  image: busybox:1.36
  command: ['sh', '-c', 'echo fetching config']
- name: step-2-migrate
  image: busybox:1.36
  command: ['sh', '-c', 'echo running migration']

emptyDir ile Veri Paylaşma

Başlatma kapsayıcıları, ortak bir emptyDir birimini kullanarak uygulama kapsayıcısı için sık sık dosyalar hazırlar.

volumes:
- name: shared
  emptyDir: {}
initContainers:
- name: setup
  image: busybox:1.36
  command: ['sh', '-c', 'echo hello > /work/index.html']
  volumeMounts:
  - name: shared
    mountPath: /work

Başlatma Durumunu İnceleme

Başlatma kapsayıcıları çalışırken Pod, Init:0/2 gibi bir durum gösterir. İlerlemeyi izlemek için kubectl kullanın.

kubectl get pod app-with-init
kubectl logs app-with-init -c wait-for-db
kubectl describe pod app-with-init

Kaynak Kullanımı Kuralları

Başlatma kapsayıcıları sırayla çalıştığı için Kubernetes, planlama sırasında bunlar arasındaki en yüksek kaynak isteğini veya sınırını kullanır (toplamını değil), ardından bunu uygulama kapsayıcılarının gereksinimleriyle karşılaştırır.

Yaygın Kullanım Alanları

  • Bir veritabanına veya harici uygulama programlama arayüzüne erişilebilir olmasını beklemek
  • Uygulama başlatılmadan önce şema geçişleri çalıştırmak
  • Yapılandırma dosyaları oluşturmak veya indirmek
  • Bağlanmış bir birimde dosya izinlerini ayarlamak
  • Pod'u bir hizmet kayıt sistemine kaydetmek

Hata Davranışı

Bir başlatma kapsayıcısı başarısız olursa ve Pod'un restartPolicy değeri Always veya OnFailure ise Kubernetes, kapsayıcı başarıyla tamamlanana kadar yeniden denemeyi sürdürür. O zamana kadar ana kapsayıcılar başlamaz.

Hızlı Kontrol

Başlatma kapsayıcılarının sıralanışı hakkındaki anlayışınızı sınayın.

Özet

Başlatma kapsayıcılarının, uygulama kapsayıcıları başlamadan önce sırayla ve tamamlanana kadar çalıştığını öğrendiniz. Başlangıç sıralamasını zorunlu kılar, birimler aracılığıyla paylaşılan verileri hazırlar ve geçişler veya bağımlılık kontrolleri gibi tek seferlik kurulumları gerçekleştirirler.

Sonraki adımda, daha gelişmiş Pod başlangıç düzenleri için başlatma kapsayıcılarını yan kapsayıcılarla birleştirebilirsiniz.

Sıkça Sorulan Sorular

“Başlatma Konteynerleri ve Başlangıç Sıralaması” dersi ücretsiz mi?

Evet — “Başlatma Konteynerleri ve Başlangıç Sıralaması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.

“Başlatma Konteynerleri ve Başlangıç Sıralaması” dersinde ne öğreneceğim?

Başlatma konteynerlerinin ana uygulama konteynerleriniz başlamadan önce kurulum görevlerini nasıl yürüttüğünü ve bir Pod içindeki sıralamayı nasıl zorunlu kıldığını öğrenin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Başlatma Konteynerleri ve Başlangıç Sıralaması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Pod'lar: En Küçük Birim
  2. Pod Yaşam Döngüsü ve Durumları
  3. Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)
  4. Başlatma Konteynerleri ve Başlangıç Sıralaması
← Kubernetes Basics Sayfasına Dön