Halaman ini menjelaskan cara men-deploy image container ke cluster Google Kubernetes Engine (GKE) atau cluster GKE yang mengaktifkan Otorisasi Biner. Perintah kubectl
yang Anda gunakan untuk men-deploy image sama dengan perintah yang Anda gunakan untuk men-deploy image ke cluster yang tidak menggunakan Otorisasi Biner.
Sebelum memulai
Pastikan Anda telah mengaktifkan Binary Authorization API di project dan cluster GKE dengan Otorisasi Biner aktif. Lihat bagian menyiapkan di Google Kubernetes Engine atau menyiapkan cluster GKE.
Instal kubectl
untuk berinteraksi dengan GKE.
Konfigurasi kubectl
Anda harus mengupdate file kubeconfig
lokal untuk penginstalan kubectl
.
Langkah ini memberikan kredensial dan informasi endpoint yang diperlukan untuk mengakses cluster di cluster GKE atau GKE.
Untuk mengonfigurasi kubectl
, jalankan perintah gcloud
berikut:
GKE
gcloud container clusters get-credentials \ --zone ZONE \ CLUSTER_NAME
Ganti kode berikut:
- ZONE: nama zona GKE tempat cluster dijalankan, misalnya,
us-central1-a
- CLUSTER_NAME: nama cluster
Cluster GKE
gcloud container fleet memberships get-credentials \ --location LOCATION \ MEMBERSHIP_NAME
Ganti kode berikut:
- LOCATION: lokasi keanggotaan fleet cluster GKE, misalnya,
global
- MEMBERSHIP_NAME: nama keanggotaan fleet cluster GKE
Men-deploy image container
Deploy image container Anda sebagai berikut:
Konfigurasi variabel lingkungan:
POD_NAME=POD_NAME IMAGE_PATH=IMAGE_PATH IMAGE_DIGEST=IMAGE_DIGEST
Ganti kode berikut:
- POD_NAME: nama yang ingin Anda gunakan untuk beban kerja GKE
- IMAGE_PATH: jalur image di Artifact Registry, Container Registry, atau registry lainnya.
IMAGE_DIGEST: ringkasan manifes gambar. Contohnya adalah sebagai berikut:
- Artifact Registry:
- Jalur:
us-docker.pkg.dev/google-samples/containers/gke/hello-app
- Ringkasan:
sha256:37e5287945774f27b418ce567cd77f4bbc9ef44a1bcd1a2312369f31f9cce567
- Jalur:
- Container Registry:
- Jalur:
gcr.io/google-samples/hello-app
- Ringkasan:
sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4
- Jalur:
Untuk mempelajari cara mendapatkan ringkasan image di Artifact Registry, lihat Mengelola image; untuk image di Container Registry, lihat Mencantumkan versi image.
- Artifact Registry:
Deploy image Anda menggunakan perintah
kubectl run
.Anda harus men-deploy image menggunakan digest, bukan tag seperti
1.0
ataulatest
, karena Binary Authorization menggunakan jalur image dan digest untuk mencari attestations.Untuk men-deploy image, jalankan perintah
kubectl
berikut:kubectl run ${POD_NAME} \ --image ${IMAGE_PATH}@${IMAGE_DIGEST}
Sekarang, verifikasi bahwa deployment diblokir oleh Otorisasi Biner:
kubectl get pods
Anda akan melihat Pod Anda tercantum.
Fail open
Proses penerapan gagal terbuka jika cluster GKE atau GKE tidak dapat menjangkau server Otorisasi Biner karena alasan apa pun. Misalnya, jika Anda men-deploy image container dan pemberlakuan Otorisasi Biner tidak dapat dijangkau karena pemadaman jaringan, image akan di-deploy, meskipun pemberlakuan akan memblokirnya. Jika Cloud Audit Logs diaktifkan, entri log akan menunjukkan image yang di-deploy dengan kondisi gagal dibuka.
Men-deploy image yang melanggar kebijakan
Otorisasi Biner mendukung fitur yang dikenal sebagai pemecahan masalah yang memungkinkan image di-deploy, meskipun melanggar kebijakan.
Untuk informasi selengkapnya, lihat Menggunakan akses darurat
Pembersihan
Untuk membersihkan, hapus Pod dengan menjalankan perintah berikut:
kubectl delete pod ${POD_NAME}
Langkah selanjutnya
- Pelajari mode uji coba.
- Pelajari cara menggunakan Validasi Berkelanjutan.
- Pelajari cara menggunakan ringkasan gambar dalam manifes Kubernetes.