Menyimpan diagram Helm di Artifact Registry

Helm adalah pengelola paket untuk Kubernetes. Helm menggunakan chart yang menentukan kumpulan resource Kubernetes yang akan di-deploy.

Panduan memulai ini menunjukkan cara:

  • Membuat repositori pribadi di Artifact Registry
  • Membuat contoh diagram
  • Mengautentikasi dengan repositori
  • Mendorong diagram ke repositori
  • Men-deploy diagram

Sebelum memulai

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Google Kubernetes Engine APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry, Google Kubernetes Engine APIs.

    Enable the APIs

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:

  1. Buka Konsol Google Cloud.

    Konsol Google Cloud

  2. Klik tombol Aktifkan Cloud Shell:  .

    Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol. Anda menggunakan shell ini untuk menjalankan perintah gcloud.

  3. Instal Helm 3.8.0 atau yang lebih baru. Di versi Helm sebelumnya, dukungan untuk diagram dalam format OCI adalah fitur eksperimental.

    Jalankan helm version untuk memverifikasi versi Anda.

Menyiapkan shell lokal

Untuk menginstal gcloud CLI dan Helm, lakukan langkah-langkah berikut:

  1. Instal gcloud CLI. Untuk mengupdate penginstalan yang ada, jalankan perintah gcloud components update.

  2. Instal Helm 3.8.0 atau yang lebih baru. Di versi Helm sebelumnya, dukungan untuk diagram dalam format OCI adalah fitur eksperimental.

    Jalankan helm version untuk memverifikasi versi Anda.

Membuat repositori

Buat repositori Docker untuk menyimpan diagram contoh untuk panduan memulai ini.

Konsol

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik Create Repository.

  3. Tentukan quickstart-helm-repo sebagai nama repositori.

  4. Pilih Docker sebagai formatnya.

  5. Di bawah Jenis Lokasi, pilih Region dan kemudian pilih lokasi us-west1.

  6. Klik Buat.

Repositori ditambahkan ke daftar repositori.

gcloud

  1. Jalankan perintah berikut untuk membuat repositori Docker baru bernama quickstart-helm-repo di lokasi us-west1 dengan deskripsi "repositori docker".

    gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \
    --location=us-west1 --description="Helm repository"
    
  2. 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 chart

Untuk panduan memulai ini, Anda akan membuat contoh diagram bernama hello-chart.

  1. Ubah ke direktori tempat Anda ingin membuat diagram.
  2. Jalankan perintah berikut untuk membuat diagram:

    helm create hello-chart
    

    Helm membuat direktori bernama hello-chart dengan kumpulan file diagram default. Salah satu file adalah Chart.yaml, yang menyertakan informasi tentang diagram.

  3. Kemas diagram sebagai arsip.

    helm package hello-chart/
    

    Helm membuat arsip bernama hello-chart-0.1.0.tgz menggunakan nama diagram dan nomor versi di Chart.yaml.

Mengautentikasi dengan repositori

Sebelum Anda dapat mengirim atau menginstal image, Helm harus mengautentikasi ke Artifact Registry.

Helm dapat menggunakan setelan registry yang ada dan 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

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 akan menggunakan konfigurasi yang ada untuk repositori Docker Artifact Registry.

Mengautentikasi dengan token akses

Untuk mengautentikasi dengan token akses:

  1. 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.dev
    

    Windows

    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/REPOSITORY
    

    Dari mana

    • oauth2accesstoken adalah nama pengguna yang akan digunakan saat melakukan autentikasi dengan token akses.
    • gcloud auth print-access-token adalah perintah gcloud untuk mendapatkan token akses. Token akses Anda adalah sandi untuk autentikasi.

Helm kini diautentikasi dengan Artifact Registry. Anda siap mendorong diagram ke repositori.

Mengirim diagram ke Artifact Registry

Setelah membuat arsip diagram dan mengautentikasi ke repositori Artifact Registry, Anda dapat mengirim diagram ke repositori.

Untuk mendorong 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 project ID Google Cloud 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 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 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.

Men-deploy diagram

Di Helm, instance aplikasi yang di-deploy disebut rilis. Setelah menambahkan repositori ke konfigurasi Helm, Anda dapat men-deploy rilis diagram.

  1. Buat cluster bernama chart-cluster untuk deployment Anda dengan perintah:

    gcloud container clusters create --zone us-west1-a chart-cluster
    

    Saat 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: RUNNING
    
  2. Dapatkan kredensial cluster agar kubectl dapat mengakses cluster:

    gcloud container clusters get-credentials --zone us-west1-a chart-cluster
    
  3. Jalankan perintah berikut untuk men-deploy rilis hello-chart menggunakan 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.0
    

    Perintah ini 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 tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Hapus repositori yang Anda buat dengan perintah berikut:

    gcloud artifacts repositories delete quickstart-helm-repo --location=us-west1
    
  2. Hapus cluster yang Anda buat:

    gcloud container clusters delete --zone=us-west1-a chart-cluster
    

Langkah selanjutnya