Menyimpan diagram Helm di Artifact Registry

Helm adalah pengelola paket untuk Kubernetes. Framework ini menggunakan diagram yang menentukan sekumpulan resource Kubernetes yang akan di-deploy.

Panduan memulai ini menunjukkan cara:

  • Membuat repositori pribadi di Artifact Registry
  • Membuat contoh diagram
  • Melakukan autentikasi dengan repositori
  • Mengirim 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. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  4. Aktifkan API Artifact Registry, Google Kubernetes Engine.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  7. Aktifkan API Artifact Registry, Google Kubernetes Engine.

    Mengaktifkan API

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. Aplikasi ini telah diinstal sebelumnya 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.

    Google Cloud console

  2. 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.

  3. Menginstal Helm 3.8.0 atau yang lebih baru. Pada Helm versi sebelumnya, dukungan untuk diagram dalam format OCI merupakan 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 sudah ada, jalankan perintah gcloud components update.

  2. Menginstal Helm 3.8.0 atau yang lebih baru. Pada Helm versi sebelumnya, dukungan untuk diagram dalam format OCI merupakan 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 format.

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

  6. Klik Create.

Repositori ditambahkan ke daftar repositori.

gcloud

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

    gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \
    --location=us-central1 --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 diagram

Untuk panduan memulai ini, Anda akan membuat diagram contoh 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 filenya adalah Chart.yaml, yang menyertakan informasi tentang diagram.

  3. Kemas diagram menjadi arsip.

    helm package hello-chart/
    

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

Melakukan autentikasi dengan repositori

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

Helm dapat menggunakan file konfigurasi Docker pada setelan registry yang ada. 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 di 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 melakukan autentikasi ke Artifact Registry dengan Helm.

    Linux / Mac

    Jalankan perintah berikut:

    gcloud auth print-access-token | helm registry login -u oauth2accesstoken \
    --password-stdin https://us-central1-docker.pkg.dev
    

    Windows

    Jalankan perintah berikut:

    gcloud auth print-access-token
    ya29.8QEQIfY_...
    
    helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \
    https://us-central1-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 kata sandi untuk autentikasi.

Helm sekarang diautentikasi dengan Artifact Registry. Anda siap push 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 mengirim diagram, jalankan perintah berikut:

helm push hello-chart-0.1.0.tgz oci://us-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo

Ganti PROJECT dengan project ID Google Cloud Anda.

Helm menggunakan nilai dari Chart.yaml untuk gambar:

  • 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-central1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...

Jalankan perintah berikut untuk memverifikasi bahwa diagram sekarang disimpan di repositori:

gcloud artifacts docker images list us-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo

Output perintah terlihat mirip dengan contoh berikut:

Listing items under project my-project, location us-central1, repository quickstart-helm-repo.

IMAGE: us-central1-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-central1-a chart-cluster
    

    Saat cluster dibuat, perintah ini akan menampilkan ringkasan yang mirip dengan contoh berikut:

    kubeconfig entry generated for chart-cluster.
    NAME: chart-cluster
    LOCATION: us-central1-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-central1-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-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
    

    Perintah tersebut 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 dikenakan biaya 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-central1
    
  2. Hapus cluster yang Anda buat:

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

Langkah selanjutnya