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
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
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.
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 cara memberikan 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.
- Cloud Shell
- Cloud Shell adalah lingkungan shell untuk mengelola resource yang dihosting di Google Cloud. Cloud Shell telah diinstal 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.
Memulai Cloud Shell
Untuk meluncurkan Cloud Shell, lakukan langkah-langkah berikut:
Buka konsol Google Cloud .
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.
Menyiapkan shell lokal
Untuk menginstal gcloud CLI dan Helm, lakukan langkah-langkah berikut:
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.
Membuat repositori
Buat repositori Docker untuk menyimpan diagram sampel untuk panduan memulai ini.
Konsol
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.
Repositori ditambahkan ke daftar repositori.
gcloud
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
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.
- 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.
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:
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.
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:
- Nama diagram adalah nama gambar:
hello-chart - Versi diagram adalah tag gambar:
0.1.0
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.
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: 1
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.
Hapus 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
Langkah berikutnya
- Pelajari lebih lanjut cara menggunakan diagram.
- Pelajari Helm lebih lanjut.
- Baca sumber daya kami tentang DevOps dan jelajahi program penelitian kami.