Kontena Init dan Susunan Permulaan
Pelajari cara kontena init menjalankan tugas persediaan sebelum kontena aplikasi utama bermula serta cara ia menguatkuasakan susunan dalam Pod.
Kontena Init dan Susunan Permulaan ialah pelajaran Asas Kubernetes percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Asas Kubernetes, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Asas Kubernetes merangkumi sejumlah 4 pelajaran.
Apakah Bekas Permulaan?
Bekas permulaan ialah bekas khas yang berjalan hingga selesai sebelum bekas aplikasi utama dalam pod dimulakan. Pod boleh mempunyai satu atau lebih bekas sedemikian.
Bekas ini sesuai untuk tugas persediaan sekali sahaja: menunggu kebergantungan, mengklon konfigurasi atau menjalankan migrasi pangkalan data.
Perbezaannya daripada Bekas Aplikasi
Bekas permulaan sentiasa berjalan hingga selesai dan mesti berjaya sebelum bekas seterusnya dimulakan. Sebaliknya, bekas aplikasi berjalan secara berterusan.
- Bekas permulaan berjalan mengikut turutan, satu demi satu
- Bekas aplikasi berjalan secara selari
- Jika bekas permulaan gagal, Kubernetes memulakannya semula (mengikut restartPolicy)
Spesifikasi Asas Bekas Permulaan
Bekas permulaan berada di bawah spec.initContainers, iaitu rakan searas spec.containers.
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.27Mengapa Turutan Penting
Kubernetes menjamin turutan ini: setiap bekas permulaan mesti selesai dengan jayanya sebelum bekas utama mula berjalan.
Ini membolehkan Anda menyatakan kebergantungan secara deklaratif dan bukannya memasukkan gelung percubaan semula ke dalam imej aplikasi.
Menunggu Perkhidmatan
Corak yang biasa digunakan ialah menyekat permulaan sehingga perkhidmatan yang diperlukan memberikan respons.
initContainers:
- name: wait-for-api
image: busybox:1.36
command:
- sh
- -c
- 'until nslookup api-service; do echo waiting; sleep 2; done'Berbilang Bekas Permulaan
Anda boleh merangkaikan beberapa bekas permulaan. Bekas tersebut berjalan mengikut turutan yang disenaraikan, setiap satunya mesti selesai sepenuhnya sebelum yang seterusnya bermula.
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']Berkongsi Data dengan emptyDir
Bekas permulaan sering menyediakan fail untuk bekas aplikasi menggunakan volum emptyDir yang dikongsi.
volumes:
- name: shared
emptyDir: {}
initContainers:
- name: setup
image: busybox:1.36
command: ['sh', '-c', 'echo hello > /work/index.html']
volumeMounts:
- name: shared
mountPath: /workMemeriksa Status Permulaan
Semasa bekas permulaan berjalan, pod menunjukkan status seperti Init:0/2. Gunakan kubectl untuk menjejaki kemajuan.
kubectl get pod app-with-init
kubectl logs app-with-init -c wait-for-db
kubectl describe pod app-with-initPeraturan Penggunaan Sumber
Oleh sebab bekas permulaan berjalan secara berurutan, Kubernetes menggunakan permintaan atau had sumber yang tertinggi antaranya (bukan jumlah keseluruhan) semasa menjadualkan, kemudian membandingkannya dengan keperluan bekas aplikasi.
Kes Penggunaan Biasa
- Menunggu pangkalan data atau API luaran boleh dicapai
- Menjalankan migrasi skema sebelum aplikasi dimulakan
- Menjana atau memuat turun fail konfigurasi
- Menetapkan kebenaran fail pada volum yang dipasang
- Mendaftarkan pod dengan daftar perkhidmatan
Tingkah Laku Kegagalan
Jika bekas permulaan gagal dan restartPolicy pod ialah Always atau OnFailure, Kubernetes terus mencubanya semula sehingga berjaya. Bekas utama tidak akan bermula sebelum itu.
Pemeriksaan Pantas
Uji pemahaman Anda tentang turutan bekas permulaan.
Ringkasan
Anda telah mempelajari bahawa bekas permulaan berjalan secara berurutan hingga selesai sebelum bekas aplikasi bermula. Bekas ini menguatkuasakan turutan permulaan, menyediakan data yang dikongsi melalui volum dan mengendalikan persediaan sekali sahaja seperti migrasi atau pemeriksaan kebergantungan.
Seterusnya, Anda boleh menggabungkan bekas permulaan dengan bekas sisi untuk menghasilkan corak permulaan pod yang lebih pelbagai.
Pelajari Asas Kubernetes dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Kontena Init dan Susunan Permulaan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Asas Kubernetes, termasuk “Kontena Init dan Susunan Permulaan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Asas Kubernetes merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Kontena Init dan Susunan Permulaan”?
Pelajari cara kontena init menjalankan tugas persediaan sebelum kontena aplikasi utama bermula serta cara ia menguatkuasakan susunan dalam Pod. Anda berlatih Asas Kubernetes menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Asas Kubernetes?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Asas Kubernetes di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Kontena Init dan Susunan Permulaan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Asas Kubernetes ini?
Ya. Setiap pelajaran Asas Kubernetes menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pod: Unit Terkecil
- Kitar Hayat dan Keadaan Pod
- Pod Berbilang Kontena (Sidecar)
- Kontena Init dan Susunan Permulaan