Lingkungan eksekusi Cloud Deploy adalah lingkungan tempat Cloud Deploy menjalankan operasi render, pra-deployment, deployment, verifikasi, dan post-deployment. Lingkungan eksekusi terdiri dari komponen berikut:
Kumpulan pekerja Cloud Build (default atau pribadi) tempat Cloud Deploy menjalankan operasi render, pre-deployment, deployment, verifikasi, dan post-deployment
Akun layanan (default atau alternatif) yang memanggil Cloud Deploy untuk melakukan tindakan ini
Lokasi penyimpanan (default atau alternatif) untuk manifes yang dirender di Cloud Storage
Waktu tunggu Cloud Build untuk operasi (default atau kustom)
Artikel ini menjelaskan lingkungan eksekusi, akun layanan, dan penyimpanan default untuk Cloud Deploy, serta alasan dan cara mengubah default ini.
Default
Berikut adalah setelan default yang digunakan Cloud Deploy untuk dijalankan, untuk menjalankan rendering dan deployment, serta untuk menyimpan aset seperti manifes yang dirender:
Kumpulan pekerja default
Secara default, Cloud Deploy berjalan di kumpulan pekerja Cloud Build default. Namun, Anda dapat mengonfigurasi Cloud Deploy untuk menggunakan kumpulan pekerja pribadi Cloud Build.
Untuk mengetahui detail selengkapnya tentang kumpulan pekerja, lihat Ringkasan kumpulan default dan kumpulan pribadi Cloud Build.
Akun layanan eksekusi default
Secara default, Cloud Deploy menggunakan akun layanan Compute Engine default.
Lokasi penyimpanan Cloud Deploy default
Nilai ini adalah bucket Cloud Storage tempat Cloud Deploy menyimpan manifes yang dirender. Secara default, Cloud Deploy membuat bucket Cloud Storage, di region yang sama dengan resource Cloud Deploy, dengan bentuk berikut:
<location>.deploy-artifacts.<project ID>.appspot.com
Waktu tunggu Cloud Build default
Secara default, Cloud Build memiliki waktu tunggu 1 jam pada operasi yang dilakukannya untuk Cloud Deploy. Anda dapat mengubah waktu tunggu tersebut di spesifikasi lingkungan eksekusi di konfigurasi target.
Panjang teks default untuk Skaffold, gcloud CLI, dan kubectl
Secara default, level log untuk alat ini ditetapkan ke setelan defaultnya masing-masing, biasanya
warn
atau yang setara. Anda dapat mengubahnya menjadidebug
atau yang setara.
Bagian berikut menjelaskan situasi saat Anda akan mengubah salah satu nilai ini, dan link ke petunjuk untuk melakukannya.
Tentang kumpulan pekerja Cloud Build
Lingkungan eksekusi Cloud Deploy dapat menggunakan salah satu dari hal berikut:
-
Kumpulan pekerja default adalah lingkungan terhosting dan aman dengan akses ke internet publik. Operasi render, deployment, pra-deployment, pasca-deployment, dan verifikasi dijalankan di kumpulan tersebut, yang diisolasi dari beban kerja lain.
Kumpulan pribadi
Kumpulan pekerja pribadi adalah kumpulan khusus dan pribadi yang dapat disesuaikan lebih dari kumpulan pekerja default. Penyesuaian tersebut dapat mencakup kemampuan untuk mengakses resource di jaringan pribadi. Seperti kumpulan pekerja default, kumpulan pekerja pribadi dihosting dan dikelola sepenuhnya oleh Cloud Build. Kumpulan ini dapat ditingkatkan atau diturunkan skalanya hingga nol, tanpa infrastruktur untuk disiapkan, diupgrade, atau diskalakan.
Ringkasan kumpulan pribadi Cloud Build menjelaskan kumpulan pekerja default dan kumpulan pekerja pribadi secara lebih menyeluruh, termasuk tabel yang membandingkan fiturnya.
Mengubah lingkungan eksekusi Cloud Deploy
Anda dapat mengubah lingkungan eksekusi Cloud Deploy dalam keadaan berikut:
Anda ingin men-deploy ke cluster Google Kubernetes Engine pribadi
Anda ingin merender, men-deploy, melakukan pra-deployment, pasca-deployment, atau memverifikasi operasi, atau kombinasi dari kelimanya, yang dilakukan di lingkungan yang terisolasi dari organisasi lain.
Anda ingin operasi ini dilakukan di lingkungan yang tidak terhubung ke internet publik.
Anda menginginkan lingkungan terpisah untuk rendering dan deployment.
Anda ingin menggunakan akun layanan khusus dengan izin yang lebih spesifik untuk penggunaan Anda daripada izin yang tersedia di akun layanan default.
Anda ingin menyimpan manifes yang dirender di lokasi yang berbeda dengan bucket Cloud Storage default.
Konfigurasi ketiga bagian lingkungan eksekusi (kumpulan pekerja, akun layanan, dan penyimpanan) dilakukan per target, dalam konfigurasi YAML setiap target.
Beralih dari kumpulan default ke kumpulan pribadi
Anda mengonfigurasi kumpulan pekerja per target,
sehingga kumpulan tersebut digunakan untuk RENDER
, DEPLOY
, PREDEPLOY
, POSTDEPLOY
, atau
VERIFY
(atau kombinasi dari kelimanya) hanya untuk target tersebut.
Untuk menggunakan kumpulan pekerja default untuk operasi rendering dan deployment, Anda tidak perlu melakukan apa pun.
Berikut adalah contoh konfigurasi target yang menentukan kumpulan pekerja
pribadi untuk DEPLOY
, dan kumpulan pekerja default untuk RENDER
, PREDEPLOY
,
POSTDEPLOY
, dan VERIFY
:
executionConfigs:
- usages:
- DEPLOY
privatePool:
workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
- usages:
- RENDER
- PREDEPLOY
- VERIFY
- POSTDEPLOY
Untuk informasi selengkapnya tentang cara mengonfigurasi kumpulan pribadi untuk target, lihat Dokumentasi konfigurasi pipeline pengiriman.
Beralih dari akun layanan eksekusi default ke kustom
Seperti kumpulan pekerja, Anda dapat menentukan akun layanan alternatif yang akan digunakan untuk
merender atau men-deploy (atau keduanya) per target. Untuk melakukannya, tambahkan baris berikut ke
konfigurasi target, setelah elemen workerPool
:
serviceAccount: "[name]@[project_name].iam.gserviceaccount.com"
Akun layanan yang ditentukan harus menyertakan peran clouddeploy.jobRunner
, seperti yang dijelaskan dalam dokumen Akun layanan Cloud Deploy.
Lihat Definisi target untuk mengetahui detail selengkapnya tentang konfigurasi ini.
Mengubah lokasi penyimpanan
Untuk mengubah bucket penyimpanan dari default Cloud Deploy, tambahkan baris berikut ke definisi target dalam stanza workerPool
:
artifactStorage: "gs://[bucket_name]/[dir]"
Konfigurasi ini mengubah tempat manifes yang dirender disimpan, tetapi tidak memengaruhi tempat sumber rendering disimpan.
Mengubah level log untuk Skaffold, gcloud CLI, dan kubectl
Untuk mengubah level log untuk Skaffold, gcloud CLI, dan kubectl, dari
default masing-masing ke debug
(atau yang setara), tetapkan verbose
ke
true
dalam konfigurasi eksekusi. Berikut contohnya:
executionConfigs:
- usages:
- [RENDER | PREDEPLOY| DEPLOY | VERIFY | POSTDEPLOY]
workerPool:
serviceAccount:
artifactStorage:
executionTimeout:
verbose: true
Menggunakan Cloud Deploy di perimeter Kontrol Layanan VPC
Cloud Deploy mendukung Kontrol Layanan VPC.
Anda dapat mengikuti panduan memulai Kontrol Layanan VPC untuk menyiapkan perimeter layanan.
Batasan
Anda harus menggunakan kumpulan pekerja pribadi Cloud Build untuk lingkungan eksekusi target, bukan kumpulan pekerja default.
Project yang berisi kumpulan pekerja dan project yang berisi resource Cloud Deploy Anda harus tetap berada dalam perimeter keamanan Kontrol Layanan VPC yang sama.
Setiap cluster GKE yang Anda deploy di perimeter Kontrol Layanan VPC harus berupa cluster pribadi.
Untuk menyiapkan kumpulan pribadi bagi cluster pribadi, lihat tutorial ini.
Langkah selanjutnya
Cari tahu lebih lanjut konfigurasi target Cloud Deploy.
Baca tentang kumpulan pribadi Cloud Build.
Pelajari cara Cloud Deploy menggunakan akun layanan.
Mengakses cluster GKE pribadi dengan kumpulan pribadi Cloud Build.