Menyimpan diagram Helm di Artifact Registry
Helm adalah pengelola paket untuk Kubernetes. Helm menggunakan chart yang menentukan serangkaian resource Kubernetes untuk di-deploy.
Panduan memulai ini menunjukkan cara:
- Membuat repositori pribadi di Artifact Registry
- Membuat contoh diagram
- Mengautentikasi dengan repositori
- Kirimkan diagram ke repositori
- Menyebarkan diagram
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - Cloud Shell
- Cloud Shell adalah lingkungan shell untuk mengelola resource yang dihosting di Google Cloud. Cloud Shell telah diinstal lebih dulu dengan Docker, Helm, dan Google Cloud CLI, antarmuka command line utama untuk Google Cloud.
- Shell lokal
- Jika lebih suka menggunakan shell lokal, Anda harus menginstal Docker dan gcloud CLI di lingkungan Anda.
Buka Google Cloud console.
Klik tombol Activate Cloud Shell:
.Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol. Anda menggunakan shell ini untuk menjalankan perintah
gcloud.Instal Helm 3.8.0 atau yang lebih baru. Pada versi Helm sebelumnya, dukungan untuk diagram dalam format OCI adalah fitur eksperimental.
Jalankan
helm versionuntuk memverifikasi versi Anda.Instal gcloud CLI. Untuk mengupdate penginstalan yang ada, jalankan perintah
gcloud components update.Instal Helm 3.8.0 atau yang lebih baru. Pada versi Helm sebelumnya, dukungan untuk diagram dalam format OCI adalah fitur eksperimental.
Jalankan
helm versionuntuk memverifikasi versi Anda.Buka halaman Repositori di Google Cloud konsol.
Klik Create Repository.
Tentukan
quickstart-helm-reposebagai nama repositori.Pilih Docker sebagai format.
Di bawah Jenis Lokasi, pilih Region dan kemudian pilih lokasi
us-west1.Klik Buat.
Jalankan perintah berikut untuk membuat repositori Docker baru bernama
quickstart-helm-repodi lokasius-west1dengan deskripsi "docker repository".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=us-west1 --description="Helm repository"Jalankan perintah berikut untuk memverifikasi bahwa repositori Anda telah dibuat.
gcloud artifacts repositories list- Ubah ke direktori tempat Anda ingin membuat diagram.
Jalankan perintah berikut untuk membuat diagram:
helm create hello-chartHelm membuat direktori bernama
hello-chartdengan kumpulan file chart default. Salah satu file-nya adalah Chart.yaml, yang mencakup informasi tentang diagram.Kemas diagram ke dalam arsip.
helm package hello-chart/Helm membuat arsip bernama
hello-chart-0.1.0.tgzmenggunakan nama dan nomor versi diagram diChart.yaml.Dapatkan token akses sebagai kredensial saat Anda mengautentikasi ke Artifact Registry dengan Helm.
Linux / macOS
Jalankan perintah berikut:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://us-west1-docker.pkg.devWindows
Jalankan perintah berikut:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://us-west1-docker.pkg.dev/PROJECT-ID/REPOSITORYDi mana
oauth2accesstokenadalah nama pengguna yang akan digunakan saat melakukan autentikasi dengan token akses.gcloud auth print-access-tokenadalah perintah gcloud untuk mendapatkan token akses. Token akses Anda adalah sandi untuk autentikasi.
- Nama diagram adalah nama gambar:
hello-chart - Versi diagram adalah tag gambar:
0.1.0 Buat cluster bernama
chart-clusteruntuk deployment Anda dengan perintah:gcloud container clusters create --zone us-west1-a chart-clusterSaat cluster dibuat, perintah akan menampilkan ringkasan yang mirip dengan contoh berikut:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: us-west1-a MASTER_VERSION: 1.20.10-gke.1600 MASTER_IP: 34.66.36.211 MACHINE_TYPE: e2-medium NODE_VERSION: 1.20.10-gke.1600 NUM_NODES: 3 STATUS: RUNNINGDapatkan kredensial cluster agar
kubectldapat mengakses cluster:gcloud container clusters get-credentials --zone us-west1-a chart-clusterJalankan perintah berikut untuk men-deploy rilis
hello-chartmenggunakan file diagram yang diekstrak secara lokal:helm install hello-chart oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0Perintah ini akan menampilkan ringkasan deployment:
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1Hapus repositori yang Anda buat dengan perintah berikut:
gcloud artifacts repositories delete quickstart-helm-repo --location=us-west1Hapus cluster yang Anda buat:
gcloud container clusters delete --zone=us-west1-a chart-cluster- Pelajari lebih lanjut cara menggunakan diagram.
- Pelajari Helm lebih lanjut.
- Baca sumber daya kami tentang DevOps dan jelajahi program penelitian kami.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat dan mengelola diagram Helm di repositori paket Docker Artifact Registry,
minta administrator untuk memberi Anda peran IAM
Artifact Registry Administrator (roles/artifactregistry.admin)
di project Anda.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Memilih shell
Untuk menyelesaikan panduan memulai ini, gunakan Cloud Shell atau shell lokal Anda.
Memulai Cloud Shell
Untuk meluncurkan Cloud Shell, lakukan langkah-langkah berikut:
Menyiapkan shell lokal
Untuk menginstal gcloud CLI dan Helm, lakukan langkah-langkah berikut:
Membuat repositori
Buat repositori Docker untuk menyimpan diagram sampel untuk panduan memulai ini.
Konsol
Repositori ditambahkan ke daftar repositori.
gcloud
Untuk mengetahui informasi selengkapnya tentang perintah Artifact Registry, jalankan perintah
gcloud artifacts.
Membuat diagram
Untuk panduan memulai ini, Anda akan membuat diagram contoh bernama
hello-chart.
Mengautentikasi dengan repositori
Sebelum Anda dapat mengirim atau menginstal image, Helm harus melakukan autentikasi ke Artifact Registry.
Helm dapat menggunakan setelan registry yang ada di file konfigurasi Docker. Jika belum mengonfigurasi Docker untuk digunakan dengan Artifact Registry, Anda dapat mengautentikasi dengan token akses untuk panduan memulai ini.
Lihat Menyiapkan autentikasi untuk Helm untuk mengetahui informasi selengkapnya tentang autentikasi.
Melakukan autentikasi dengan konfigurasi Docker Anda
Secara default, Helm mendukung setelan registry dalam file konfigurasi Docker config.json. Helm menemukan setelan registry di lokasi default atau lokasi yang ditentukan oleh variabel lingkungan DOCKER_CONFIG.
Jika Anda mengonfigurasi Docker dengan helper kredensial untuk melakukan autentikasi dengan Artifact Registry, Helm menggunakan konfigurasi yang ada untuk repositori Docker Artifact Registry.
Mengautentikasi dengan token akses
Untuk mengautentikasi dengan token akses:
Helm kini diautentikasi dengan Artifact Registry. Anda siap untuk mengirim diagram ke repositori.
Kirimkan diagram ke Artifact Registry
Setelah membuat arsip diagram dan mengautentikasi ke repositori Artifact Registry, Anda dapat mengirim diagram ke repositori.
Untuk mengirimkan diagram, jalankan perintah berikut:
helm push hello-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Ganti PROJECT dengan Google Cloud project ID Anda.
Helm menggunakan nilai dari Chart.yaml untuk image:
Helm akan menampilkan output yang mirip dengan contoh berikut:
Login Succeeded
Pushed: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Jalankan perintah berikut untuk memverifikasi bahwa diagram kini disimpan di repositori:
gcloud artifacts docker images list us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Output perintah akan terlihat seperti contoh berikut:
Listing items under project my-project, location us-west1, repository quickstart-helm-repo.
IMAGE: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart
DIGEST: sha256:67a72...
CREATE_TIME: 2021-11-08T22:59:57
UPDATE_TIME: 2021-11-08T22:59:57
Sekarang Anda dapat men-deploy rilis menggunakan diagram yang disimpan di Artifact Registry.
Menyebarkan diagram
Di Helm, instance aplikasi Anda yang di-deploy disebut rilis. Setelah menambahkan repositori ke konfigurasi Helm, Anda dapat men-deploy rilis diagram.
Anda telah berhasil men-deploy rilis menggunakan diagram yang Anda buat dan dikirim ke Artifact Registry.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.