Cloud Workstations memungkinkan Anda menjalankan skrip startup kustom di VM workstation host sebelum container workstation Anda dimulai. Hal ini berguna untuk melakukan konfigurasi tingkat VM atau menginstal software tambahan yang perlu dijalankan di luar container workstation utama.
Sebelum memulai
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus
login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus
login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Siapkan skrip startup Anda
Buat skrip startup yang ingin Anda jalankan di VM workstation host. Saat menulis skrip, patuhi pedoman berikut:
- Cloud Workstations menjalankan container workstation yang Anda tentukan serta
beberapa container sistem di VM workstation host untuk memastikan
workstation Anda berfungsi dengan baik. Semua penampung berjalan menggunakan runtime
containerddan kliencrictl. - Jalankan semua container tambahan yang diluncurkan oleh skrip startup Anda menggunakan
containerd. Docker dinonaktifkan di VM host untuk mencegah gangguan pada daemon Docker yang berjalan di dalam container workstation Anda. - Container tingkat host yang diluncurkan oleh skrip startup Anda tidak dapat berinteraksi dengan container workstation utama. Interaksi langsung ini tidak didukung karena melewati pemeriksaan Identity and Access Management (IAM).
Menyimpan skrip startup di Cloud Storage
Upload skrip Anda ke bucket Cloud Storage dan pastikan skrip dapat diakses oleh akun layanan yang terkait dengan workstation Anda.
Upload skrip Anda ke bucket:
gcloud storage cp LOCAL_SCRIPT_PATH gs://BUCKET_NAME/SCRIPT_NAMEGanti kode berikut:
LOCAL_SCRIPT_PATH: jalur lokal ke file skrip startup Anda.BUCKET_NAME: nama bucket Cloud Storage Anda.SCRIPT_NAME: nama yang ingin Anda berikan pada file skrip di bucket.
Pastikan akun layanan yang digunakan oleh konfigurasi workstation Anda memiliki izin untuk mengakses bucket dan file skrip. Atau, skrip dapat diakses secara publik.
Membuat konfigurasi workstation
Untuk menggunakan skrip startup kustom, buat konfigurasi workstation dan tetapkan kolom
startupScriptUri dalam pesan host.gceInstance ke
URI Cloud Storage skrip Anda.
Buat konfigurasi workstation menggunakan REST API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"host": {
"gceInstance": {
"poolSize": 1,
"startupScriptUri": "gs://BUCKET_NAME/SCRIPT_NAME",
"serviceAccount": "SERVICE_ACCOUNT"
}
}
}' \
https://workstations.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/workstationClusters/CLUSTER_ID/workstationConfigs?workstation_config_id=CONFIG_ID
Ganti kode berikut:
SERVICE_ACCOUNT: alamat email akun layanan yang terkait dengan konfigurasi workstation.PROJECT_ID: Google Cloud Project ID Anda.LOCATION: region tempat cluster workstation Anda berada.CLUSTER_ID: ID cluster workstation Anda.CONFIG_ID: ID yang ingin Anda tetapkan ke konfigurasi workstation baru.
Memverifikasi eksekusi skrip
Untuk memverifikasi bahwa skrip Anda berjalan dengan benar, gunakan salah satu metode berikut:
- Log output port serial 3: log output yang dihasilkan oleh skrip Anda akan otomatis dikirim ke output port serial 3. Untuk menemukan nama VM yang ditetapkan ke workstation Anda, lihat log platform.
- SSH ke VM Anda: Anda dapat SSH ke VM workstation Anda untuk men-debug skrip lebih lanjut jika diperlukan.
- Pemeriksaan kesiapan: skrip startup adalah upaya terbaik dan tidak menghalangi workstation Anda untuk dimulai. Jika skrip Anda membutuhkan waktu lama untuk dijalankan atau gagal, workstation mungkin masih ditandai sebagai siap. Untuk memastikan workstation tidak ditandai siap hingga skrip Anda selesai, pertimbangkan untuk menerapkan pemeriksaan kesiapan.
Langkah berikutnya
- Pelajari pencatatan log platform lebih lanjut.
- Menyesuaikan lingkungan pengembangan Anda.
- Memecahkan masalah workstation.