Helm 3 mendukung format artefak Open Container Initiative (OCI) untuk pengemasan dan distribusi Helm chart. Topik ini memandu Anda melalui proses otentikasi dengan Container Registry, mendorong chart sebagai artefak OCI, serta menginstalnya ke kluster Kubernetes.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Helm 3.8 atau versi yang lebih baru. Jalankan
helm versionuntuk memeriksa. Dukungan OCI tersedia secara umum mulai Helm 3.8.Instans Container Registry dengan setidaknya satu namespace yang telah dibuat.
Docker atau klien kompatibel OCI lainnya yang telah diinstal dan dikonfigurasi.
Kredensial (username dan password, atau token akses) untuk registri tersebut.
Otentikasi dengan Container Registry
Sebelum mendorong atau menarik artefak OCI, masuk ke registri menggunakan klien Helm.
helm registry login <registry-domain> \
--username <username> \
--password <password>
Ganti placeholder dengan detail registri Anda:
|
Placeholder |
Deskripsi |
Contoh |
|
|
Titik akhir Container Registry Anda |
|
|
|
Username Akun Alibaba Cloud atau RAM user Anda |
|
|
|
Password akun atau token akses Anda |
— |
Output yang diharapkan:
Login Succeeded
Jika Anda menggunakan token akses sementara, token tersebut hanya berlaku dalam periode terbatas. Perbarui token sebelum masa berlakunya habis untuk menghindari kegagalan otentikasi dalam pipeline otomatis.
Memaketkan Helm chart
Kemas Helm chart lokal Anda ke dalam arsip .tgz sebelum mendorongnya ke registri.
helm package <chart-directory>
Output yang diharapkan:
Successfully packaged chart and saved it to: /path/to/<chart-name>-<version>.tgz
Sebagai contoh, jika direktori chart Anda adalah my-chart pada versi 0.1.0, file output-nya adalah my-chart-0.1.0.tgz.
Dorong chart ke registri
Dorong chart yang telah dikemas ke namespace Container Registry Anda.
helm push <chart-name>-<version>.tgz oci://<registry-domain>/<namespace>
Output yang diharapkan:
Pushed: <registry-domain>/<namespace>/<chart-name>:<version>
Digest: sha256:<digest-hash>
Catat nilai digest tersebut. Anda dapat menggunakannya nanti untuk menginstal chart berdasarkan digest guna mendapatkan jaminan integritas yang lebih kuat.
Format URL registri OCI
Host registri OCI harus ditentukan tanpa skema URL atau path. Tabel berikut menunjukkan format yang valid dan tidak valid:
|
Format |
Valid |
Catatan |
|
|
Ya |
Hanya hostname |
|
|
Ya |
Hostname dengan port |
|
|
Tidak |
Skema tidak diperbolehkan |
|
|
Tidak |
Path tidak diperbolehkan dalam host |
Selalu tambahkan awalan oci:// pada referensi OCI lengkap saat menggunakannya dalam perintah Helm:
oci://registry.cn-hangzhou.aliyuncs.com/my-namespace/my-chart
Tarik chart dari registri
Unduh chart dari registri ke mesin lokal Anda.
helm pull oci://<registry-domain>/<namespace>/<chart-name> --version <version>
Jika arsip dengan nama yang sama sudah ada di direktori saat ini, helm pull akan menimpanya tanpa peringatan.
Instal chart dari registri
Instal berdasarkan tag
helm install <release-name> oci://<registry-domain>/<namespace>/<chart-name> \
--version <version>
Instal berdasarkan digest
Instalasi berbasis digest lebih aman dibandingkan instalasi berbasis tag karena digest bersifat immutable—artefak yang dirujuk tidak dapat diganti secara diam-diam.
helm install <release-name> \
oci://<registry-domain>/<namespace>/<chart-name>@sha256:<digest-hash>
Gunakan digest yang ditampilkan saat Anda mendorong chart tersebut.
Langkah selanjutnya
Untuk mengotomatiskan proses dorong chart dalam pipeline CI/CD, integrasikan perintah
helm registry logindanhelm pushke dalam alur kerja build Anda.Untuk mempelajari lebih lanjut tentang pengelolaan Helm chart dan artefak OCI di Container Registry, lihat dokumentasi Container Registry.
Untuk membuat dan mengembangkan Helm chart Anda sendiri, lihat Helm chart template guide.