Kem Intensif DevOps · Pelajaran

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.

Pelajaran 4 daripada 413 langkah

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 carta
  • values.yaml — konfigurasi lalai
  • templates/ — 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.yaml

Pemplatan 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 production

Pemasangan 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.yaml

Pengembalian 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 3

Pembungkusan 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/charts

Kerja 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 }} \
        --wait

Semakan 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 --install ialah 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.

Percuma untuk bermula

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

  1. Membina Imej Docker dengan Actions
  2. Menolak Imej ke Pendaftaran
  3. Menggunakan ke Kubernetes dengan Actions
  4. Carta Helm dan Manifes Kubernetes dalam CI/CD
← Kembali ke Kem Intensif DevOps