Cloud Workstations mengelola Google Cloud resource, seperti VM Compute Engine dan disk persisten (PD), untuk memberi Anda visibilitas dan kontrol yang lebih baik atas resource project Anda. Misalnya, Anda dapat menyiapkan kebijakan snapshot disk terjadwal yang menerapkan kebijakan pencadangan untuk semua PD workstation. Demikian pula, dengan memiliki VM di dalam project, Anda dapat mengakses dan mengelola resource di jaringan VPC dengan lancar.
Diagram berikut mengilustrasikan arsitektur Cloud Workstations.
Workstation cluster
Cluster workstation berisi dan mengelola kumpulan workstation dalam satu region cloud dan jaringan VPC di dalam project Anda. Setiap cluster workstation mencakup dua komponen yang dikelola oleh Google Cloud: pengontrol dan gateway.
Pengontrol: mengelola siklus proses instance VM dan resource workstation lainnya di dalam project Anda.
Pengontrol menggunakan Compute Engine API untuk mengelola siklus proses resource, dan memanfaatkan Private Service Connect untuk merutekan traffic ke VM workstation.
Gateway: menerima traffic dari klien yang ditujukan ke workstation tertentu, dan meneruskan traffic ke instance VM yang sesuai. Setiap cluster workstation memiliki nama domain unik, dan setiap workstation dapat dijangkau di subdomain domain cluster workstation—misalnya,
$WORKSTATION_ID.$CLUSTER_ID.cloudworkstations.dev.
Fitur lain dari cluster workstation adalah sebagai berikut:
Administrator dan tim platform membuat cluster workstation, yang menentukan grup workstation di region tertentu dan jaringan VPC yang terhubung dengannya.
Cluster workstation tidak terkait dengan cluster Google Kubernetes Engine (GKE).
Setiap cluster workstation memiliki pengontrol khusus yang terhubung ke VPC tempat workstation berada dengan Private Service Connect (dan hal ini tidak berdampak pada batas peering VPC). Pengontrol ini mengelola resource workstation sepanjang siklus prosesnya dan menyediakan keluar dan masuk jaringan ke workstation melalui gateway cluster publik.
Setiap region cloud memerlukan setidaknya satu cluster workstation.
Jika perlu, Anda juga dapat mengaktifkan gateway pribadi sepenuhnya, sehingga hanya endpoint di dalam jaringan pribadi Anda yang memiliki akses ke Cloud Workstations.
Jaringan VPC
Saat membuat cluster workstation, Anda menentukan project dan jaringan VPC untuk menghosting resource. Cloud Workstations kemudian menyediakan resource berikut di project Anda:
Private Service Connect: membuat koneksi antara pengontrol Cloud Workstations dan VPC Anda, sehingga memungkinkan pembuatan resource di dalam project Anda.
Instance VM: VM Compute Engine dibuat secara dinamis di dalam project dan VPC Anda setelah workstation dimulai. VM ini akan otomatis dihapus di akhir sesi pengguna atau setelah waktu tunggu sesi yang dapat dikonfigurasi.
Gateway VM: menarik traffic klien dari gateway cluster workstation, mengautentikasi dan mengotorisasinya, lalu meneruskannya ke penampung.
Container: menentukan alat yang telah diinstal sebelumnya di workstation, seperti IDE atau editor kode, dan program atau setelan lain seperti yang ditentukan oleh konfigurasi workstation.
Cloud Workstations menyediakan sejumlah image dasar yang telah dikonfigurasi sebelumnya dengan IDE dan alat bahasa populer. Selain itu, administrator dan tim platform dapat menyesuaikan lingkungan mereka dengan membuat dan menentukan image container kustom yang berisi alat yang diperlukan untuk memenuhi kebutuhan developer mereka. Image container ini dapat memperluas image dasar Cloud Workstations atau dapat berupa image container Linux kustom baru yang dibuat oleh tim platform.
Persistent Disk: persistent disk yang terpasang ke VM workstation yang di-mount ke folder
/home, sehingga data dan file dapat disimpan setelah sesi berakhir.
Siklus proses resource
Cloud Workstations mengelola VM, image container, dan persistent disk untuk digunakan sebagai lingkungan runtime untuk setiap workstation. Konfigurasi spesifikasi untuk resource ini dalam konfigurasi workstation Anda.
Saat workstation dimulai, Cloud Workstations akan melakukan hal berikut:
- Membuat VM.
- Menarik image container workstation ke VM.
- Saat workstation dimulai untuk pertama kalinya, persistent disk akan dibuat untuk bertindak sebagai direktori
/homeworkstation. - Menyambungkan persistent disk ke VM.
- Memulai container di VM dan memasang persistent disk ke
direktori
/homedi container.
Saat sesi berakhir, Cloud Workstations akan menghapus VM, tetapi melepaskan dan mempertahankan persistent disk sehingga dapat digunakan dalam sesi workstation pada masa mendatang. Layanan workstation mempertahankan disk hingga workstation dihapus, dan pada saat itu, persistent disk juga dihapus—kecuali jika dikonfigurasi untuk dipertahankan.
Penampungan resource
Administrator dan tim platform dapat secara opsional mengumpulkan VM dan disk persisten untuk memulai workstation lebih cepat menggunakan opsi konfigurasi workstation ukuran kumpulan. Jika ditentukan, layanan akan mengumpulkan sejumlah persistent disk dan VM yang ditentukan serta melakukan pra-penarikan image container ke VM sebelum penugasan workstation. VM dan disk yang tidak ditetapkan dalam pool akan otomatis dihapus dan dibuat ulang setiap 12 jam. Hal ini memungkinkan waktu mulai workstation yang lebih cepat dengan menghilangkan waktu tunggu untuk membuat VM dan menarik image container ke VM.
Jika penggabungan diaktifkan, Cloud Workstations akan melakukan hal berikut saat memulai workstation:
- Memilih VM dari pool yang telah menarik image container sebelumnya.
- Saat workstation dimulai untuk pertama kalinya, workstation akan memilih disk persisten dari pool.
- Menyambungkan persistent disk ke VM.
- Memulai image container di VM dan memasang persistent disk ke direktori
/homedi image container. - Mengisi ulang pool dengan membuat VM dan persistent disk baru untuk menggantikan VM dan persistent disk yang telah ditetapkan.
Saat sesi berakhir, Cloud Workstations akan menghapus VM, tetapi melepaskan dan mempertahankan persistent disk sehingga dapat digunakan dalam sesi workstation pada masa mendatang. Layanan workstation mempertahankan disk hingga workstation dihapus, dan pada saat itu, persistent disk juga dihapus—kecuali jika dikonfigurasi untuk dipertahankan.
Update image container
Karena image container workstation telah ditarik sebelumnya ke VM gabungan, update pada image container yang dilakukan di repositori image jarak jauh dengan tag image yang sama tidak akan diambil hingga semua VM gabungan telah ditetapkan atau dihapus setelah 12 jam. Pada saat itu, VM baru dibuat untuk mengisi ulang kumpulan dan menarik image container yang diupdate.
Untuk memaksa refresh pool agar segera mengambil update image container,
administrator dapat menyetel pool_size ke 0, lalu menyetelnya kembali ke
pool_size yang diinginkan. Dari konsol Google Cloud , Nonaktifkan fitur
Quick start workstations dalam konfigurasi workstation, simpan
konfigurasi, setel kembali ke jumlah yang diinginkan, lalu simpan lagi.
Atau, administrator dan tim platform dapat memperbarui tag image di kolom
container.image
pada konfigurasi workstation, yang akan memaksa refresh pool untuk
mengambil tag image container baru.
Mengurangi waktu mulai workstation dengan streaming Image
Cloud Workstations mendukung streaming Image, yang memberikan waktu mulai workstation yang lebih cepat dengan mengurangi waktu penarikan image container workstation.
Streaming image di Cloud Workstations biasanya mengurangi waktu penarikan image container dari beberapa menit menjadi beberapa detik, dan container workstation biasanya mulai berjalan tanpa menunggu seluruh image didownload.
Persyaratan
Anda harus memenuhi persyaratan berikut untuk menggunakan streaming Image di Cloud Workstations:
Anda harus mengaktifkan Container File System API di project host workstation.
Mengaktifkan Container File System API
Atau, Anda dapat menjalankan perintah CLI
gcloudberikut untuk mengaktifkan Container File System API di project host workstation:gcloud services enable containerfilesystem.googleapis.com
Image container Anda harus disimpan di Artifact Registry.
Anda harus menentukan akun layanan untuk digunakan dalam konfigurasi workstation.
Jika cluster Anda berada di dalam perimeter Kontrol Layanan VPC, Anda harus menambahkan aturan keluar yang mengizinkan akun layanan Anda mengakses Container File System API di project yang menghosting image container Anda. Jika Anda menggunakan IDE yang telah dikonfigurasi sebelumnya, Anda harus menambahkan project
cloud-workstations-images(nomor project662288601415) ke daftar yang diizinkan.
Batasan
Anda mungkin tidak melihat manfaat streaming Image saat pengambilan pertama image yang memenuhi syarat. Namun, setelah streaming Image men-cache image, image di masa mendatang akan mendapatkan manfaat dari streaming Image di workstation.
Batasan streaming Image GKE lainnya berlaku.
Waktu tunggu tidak ada aktivitas
Anda dapat mengonfigurasi workstation agar otomatis dimatikan setelah
tidak ada aktivitas selama jangka waktu tertentu. Waktu tunggu tidak aktif direset pada setiap permintaan jaringan masuk dan setiap kali panggilan API workstations.Start dikeluarkan. Selain itu, IDE yang telah dikonfigurasi sebelumnya
yang diinstal di image workstation dasar
sudah diinstal sebelumnya dengan plugin untuk mendeteksi interaksi dengan IDE (klik mouse, penekanan tombol, dll.)
dan mereset waktu tunggu tidak ada aktivitas.
Jika Anda memulai proses latar belakang yang berjalan lama dan berhenti berinteraksi dengan
workstation, Anda mungkin mencapai batas waktu tidak ada aktivitas. Tindakan ini akan menyebabkan workstation dimatikan.
Jika workstation harus tetap aktif, Anda dapat menggunakan skrip /google/scripts/keep_alive.sh
yang ada di image workstation dasar untuk mencegah waktu tunggu tidak ada aktivitas. Atau, picu panggilan API workstation.Start di proses latar belakang untuk mencegah penonaktifan saat tidak ada aktivitas. Misalnya, jika Anda menggunakan Google Cloud CLI, Anda dapat melakukannya dengan menjalankan perintah
gcloud workstations start.