Middle
Kubernetes'te init konteyner nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir pod içindəki xüsusi konteyner, podun əsas konteynerləri başlamadan əvvəl işini tamamlar.
Amacı:
- Əsas tətbiqin başlamasından əvvəl mühitin hazırlanması.
- Konfiqurasiyaların və ya skriptlərin yüklənməsi.
- Xarici xidmətlərin (məlumat bazaları, API-lər) hazır olmasını gözləmək.
- Fayl sisteminin və ya icazələrin qurulması.
Əsas xüsusiyyətlər:
- Pod spesifikasiyasında göstərilən ardıcıllıqla icra olunur.
- Hər init-konteyner uğurla tamamlanmalıdır ki, növbəti konteyner başlasın və ya əsas konteynerlər işləməyə başlasın.
- Əgər init-konteyner uğursuz olursa, Kubernetes podu yenidən başlatır, init-konteyner uğurla tamamlanana qədər (podun yenidən başlatma siyasətinə uyğun olaraq).
- Ümumi volume-ə (qovluğa) çıxış imkanı var, bu da əsas konteynerlərə məlumat ötürməyə imkan verir.
YAML spesifikasiyası:
// Init-konteyner ilə pod spesifikasiyasına nümunə
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
initContainers: // Init-konteynerlərin siyahısı
- name: init-myservice // Init-konteynerin adı
image: my-init-image // Init-konteynerin şəkli
command: ["sh", "-c", "echo 'Initializing...' && sleep 5"] // İcra ediləcək əmr
containers: // Əsas konteynerlərin siyahısı
- name: my-app // Əsas konteynerin adı
image: my-app-image // Əsas konteynerin şəkli
ports:
- containerPort: 80