Carta Helm dan Manifes Kubernetes dalam CI/CD
Pakejkan dan buat versi penggunaan Kubernetes dengan carta Helm, templatkan konfigurasi mengikut persekitaran dan automatikkan keluaran carta daripada GitHub Actions.
Carta Helm dan Manifes Kubernetes dalam CI/CD ialah pelajaran Kem Intensif DevOps 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 Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Masalah Lambakan Manifes
Penerapan ke Kubernetes bermakna menulis banyak manifes YAML: Penerapan, Perkhidmatan, ConfigMaps dan Ingress. Menyalinnya untuk setiap persekitaran dengan cepat menjadi sukar diurus.
Helm menyelesaikan masalah ini dengan membungkus manifes ke dalam carta yang boleh digunakan semula dan mempunyai versi.
Apakah Helm
Helm ialah pengurus pakej untuk Kubernetes. Carta ialah himpunan manifes bertemplat bersama nilai lalai.
Chart.yaml— metadata dan versi cartavalues.yaml— konfigurasi lalaitemplates/— templat manifes
Struktur Carta
Direktori carta biasa kelihatan seperti ini. Helm menghasilkan manifes menggunakan templat dan nilai untuk menghasilkan YAML Kubernetes akhir.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yamlPemplatan dengan Nilai
Templat menggunakan ruang letak yang mengambil data daripada values.yaml. Ini membolehkan satu templat digunakan untuk banyak persekitaran.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}Nilai Mengikut Persekitaran
Simpan satu fail nilai yang berasingan bagi setiap persekitaran dan hantarkannya semasa pemasangan. Pementasan mungkin menjalankan 1 replika, manakala pengeluaran menjalankan 5 replika.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace productionPemasangan berbanding Naik Taraf
Perintah helm upgrade --install bersifat idempoten: perintah ini memasang keluaran jika keluaran tersebut belum wujud, atau menaik tarafnya jika sudah wujud.
Perintah tunggal ini sesuai untuk CI/CD kerana ia berfungsi pada penerapan pertama dan penerapan seterusnya.
Menetapkan Teg Imej dalam CI
Dalam CI, anda biasanya memasukkan teg imej yang baru dibina, selalunya SHA komit, menggunakan --set.
Ini mengikat keluaran Kubernetes kepada artifak tepat yang baru dihasilkan oleh saluran paip anda.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}Memeriksa Carta
Sebelum menerapkan, sahkan carta dengan helm lint dan hasilkannya dengan helm template untuk mengesan ralat YAML atau pemplatan lebih awal.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlPengembalian dengan Helm
Helm menjejaki setiap keluaran sebagai semakan bernombor. Jika pelancaran gagal, anda boleh mengembalikannya serta-merta.
Ini sesuai digandingkan dengan amalan pemulihan bencana kerana prosesnya pantas dan tidak berubah-ubah.
helm history myapp
helm rollback myapp 3Pembungkusan dan Penerbitan
Carta boleh dibungkus menjadi arkib berversi dan dihantar ke repositori carta atau pendaftaran OCI, sama seperti imej bekas.
Ini membolehkan pasukan lain menggunakan carta anda mengikut versinya.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsKerja Pelancaran Helm
Menggabungkan semuanya: sahkan identiti kepada kluster, sediakan Helm, kemudian naik taraf. Tindakan Azure setup-helm memasang CLI pada pelaksana.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--waitSemakan Pantas
Uji pemahaman anda tentang Helm dalam CI/CD.
Ringkasan
Anda telah mempelajari cara melancarkan aplikasi Kubernetes dengan Helm.
- Carta membungkus manifes bertemplat bersama
values.yaml - Fail nilai mengikut persekitaran mengkonfigurasi persekitaran pementasan berbanding pengeluaran
helm upgrade --installialah perintah pelancaran CI idempoten- Semakan membolehkan pengembalian serta-merta, dan carta boleh diterbitkan seperti imej
Helm menukarkan manifes mentah kepada keluaran berversi yang boleh digunakan semula.
Pelajari Kem Intensif DevOps 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
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Carta Helm dan Manifes Kubernetes dalam CI/CD” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Carta Helm dan Manifes Kubernetes dalam CI/CD”, 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 Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Carta Helm dan Manifes Kubernetes dalam CI/CD”?
Pakejkan dan buat versi penggunaan Kubernetes dengan carta Helm, templatkan konfigurasi mengikut persekitaran dan automatikkan keluaran carta daripada GitHub Actions. Anda berlatih Kem Intensif DevOps 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 Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps 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 “Carta Helm dan Manifes Kubernetes dalam CI/CD” 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 Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps 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
- Membina Imej Docker dengan Actions
- Menolak Imej ke Pendaftaran
- Menggunakan ke Kubernetes dengan Actions
- Carta Helm dan Manifes Kubernetes dalam CI/CD