Dokumen ini menjelaskan cara men-deploy aplikasi Anda ke cluster Google Kubernetes Engine.
Cloud Deploy memungkinkan Anda men-deploy beban kerja berbasis container ke cluster Google Kubernetes Engine mana pun. Semua fitur Cloud Deploy didukung saat Anda men-deploy ke target GKE.
Sebelum memulai
Memiliki satu atau beberapa cluster GKE untuk di-deploy.
Jika tidak memiliki cluster GKE untuk men-deploy, Anda dapat membuatnya.
Pastikan akun layanan eksekusi Anda memiliki peran dan izin yang diperlukan.
Dalam file skaffold.yaml ini, stanza deploy mencakup kubectl, yang menunjukkan bahwa Skaffold merender dan men-deploy ke Kubernetes (GKE). Selain itu, manifes yang Anda gunakan untuk aplikasi ini tercantum di sana.
Buat konfigurasi target
Setiap target dapat dikonfigurasi di YAML pipeline pengiriman Anda, atau dapat berada di
file terpisah. Selain itu, Anda dapat mengonfigurasi lebih dari satu target dalam file yang sama,
tetapi target tersebut harus berada dalam stanza kind: Target yang berbeda.
Target harus ditentukan dalam project dan region yang sama dengan pipeline pengiriman. Namun, cluster tempat target di-deploy dapat berada di project dan region yang berbeda, selama akun layanan memiliki akses ke project tersebut.
Dalam definisi target, buat stanza gke untuk mengarah ke
cluster GKE:
gke:
cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]
ID resource GKE ini menggunakan elemen berikut:
[
project_name] adalah nama project Google Cloud tempat Anda menjalankan cluster ini.Cluster tempat Anda men-deploy tidak perlu berada dalam project yang sama dengan pipeline pengiriman Anda.
[
location] adalah region tempat cluster dibuat.[
cluster_name] adalah nama yang diberikan ke cluster saat dibuat.Anda dapat menemukan nama ini di daftar cluster untuk project Anda, di konsolGoogle Cloud .

Berikut adalah contoh konfigurasi target, yang mengarah ke cluster GKE:
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
name: dev
description: development cluster
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
Buat konfigurasi Skaffold Anda
Bagian ini memberikan dan menjelaskan contoh konfigurasi Skaffold sederhana yang akan digunakan saat men-deploy ke cluster GKE.
Berikut adalah contoh file skaffold.yaml untuk deployment ke cluster GKE:
apiVersion: skaffold/v4beta7
kind: Config
metadata:
name: gke-application
manifests:
rawYaml:
- deployment.yaml
deploy:
kubectl: {}
Menggunakan Skaffold dengan Cloud Deploy menjelaskan secara lebih mendetail cara menggunakan Skaffold dengan pipeline pengiriman Anda.
Menyiapkan manifes Kubernetes
Untuk men-deploy aplikasi ke GKE, Anda memberikan satu atau beberapa manifes Kubernetes ke Cloud Deploy, yang kemudian dirender dan diterapkan ke cluster target untuk men-deploy aplikasi Anda.
Jika Anda tidak memiliki manifes tersebut, buat manifes sebelum mencoba men-deploy menggunakan pipeline pengiriman Cloud Deploy.
Anda dapat menggunakan Kustomize atau Helm untuk membantu Anda membuat manifes. Anda juga dapat menggunakan Kustomize atau Helm jika manifes Anda menggunakan template dan perlu dirender.
Menggabungkan semuanya
Setelah memiliki manifes Kubernetes, konfigurasi skaffold.yaml, dan definisi target Cloud Deploy, serta telah mendaftarkan target sebagai resource Cloud Deploy, Anda kini dapat memanggil pipeline pengiriman untuk membuat rilis dan memprosesnya melalui progres target yang ditentukan dalam pipeline.
Men-deploy menggunakan proxy
Anda dapat menentukan proxy untuk cluster GKE target. Opsi ini ditujukan bagi organisasi yang disiapkan untuk mengakses cluster melalui proxy HTTP saja.
Untuk melakukannya, tambahkan properti proxyUrl ke stanza gke dalam konfigurasi target:
gke:
cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster
proxyUrl: [URL]
Dengan URL adalah URL proxy.
Men-deploy ke cluster pribadi
Anda dapat men-deploy aplikasi ke cluster GKE pribadi, menggunakan salah satu dari tiga opsi:
Menggunakan endpoint DNS
Ini adalah cara paling sederhana untuk terhubung ke cluster pribadi.
Tetapkan
dnsEndpointketruedi bagiangkedalam konfigurasi target.Jika cluster Anda tidak memiliki endpoint berbasis IP yang dikonfigurasi, Anda dapat melewati langkah ini; Cloud Deploy akan terhubung ke endpoint DNS secara default karena endpoint tersebut adalah satu-satunya endpoint bidang kontrol.
Menggunakan jaringan Virtual Private Cloud
Anda dapat mengonfigurasi target untuk men-deploy ke cluster GKE pribadi yang terhubung ke jaringan Virtual Private Cloud:
-
Cluster pribadi adalah cluster VPC native yang node dan Pod-nya diisolasi secara default dari internet publik.
Jika Anda berencana menggunakan IP internal target cluster pribadi, tetapkan
internalIpketruedi bagiangkedalam konfigurasi target. Di Cloud Build, buat pool worker pribadi yang dapat Anda gunakan untuk men-deploy ke cluster pribadi ini.
Konfigurasi lingkungan eksekusi untuk menggunakan pool pribadi tersebut.
Anda harus menggunakan pool ini untuk
RENDER. Anda juga dapat menggunakannya untukDEPLOYdan untukVERIFY. Berikut adalah contoh yang menggunakanRENDERdanDEPLOY:executionConfigs: - usages: - RENDER - DEPLOY workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
Lihat Mengakses cluster GKE pribadi dari kumpulan pribadi Cloud Build menggunakan Identity Service for GKE dan Mengakses cluster GKE pribadi dengan kumpulan pribadi Cloud Build untuk mengetahui informasi selengkapnya.
Pertimbangan project dan izin
Anda dapat mengonfigurasi target untuk menggunakan kumpulan pekerja pribadi yang dapat men-deploy ke cluster pribadi. Namun, ada beberapa hal yang perlu diperhatikan jika resource berada di project yang berbeda.
- Saat Cloud Deploy dan pool worker berada di project terpisah
Untuk berkomunikasi dengan kumpulan pribadi yang memiliki akses ke VPC dan berada di project yang berbeda dari target Anda, agen layanan Cloud Deploy memerlukan izin yang memadai untuk berkomunikasi dengan project tersebut.
Akun layanan eksekusi juga memerlukan izin untuk mengakses bucket Cloud Storage.
- Saat kumpulan pekerja dan cluster berada di project terpisah
Jika cluster GKE pribadi berada dalam project yang berbeda dengan pool worker pribadi, maka akun layanan eksekusi memerlukan izin yang memadai untuk berkomunikasi dengan project tempat cluster berada.
Menggunakan target cluster terpasang GKE dan gateway koneksi
Anda dapat mengonfigurasi target untuk men-deploy ke cluster GKE pribadi dengan target yang menggunakan cluster terlampir GKE dan gateway koneksi.
Pendekatan ini tidak mengharuskan Anda menggunakan koneksi Virtual Private Cloud atau virtual private network.
Langkah berikutnya
Panggil pipeline pengiriman Anda untuk membuat rilis
Pelajari lebih lanjut cara mengonfigurasi target Cloud Deploy
Pelajari lebih lanjut cara menggunakan Skaffold dengan Cloud Deploy
Pelajari lingkungan eksekusi Cloud Deploy.
Pelajari GKE lebih lanjut