Men-deploy container ke Cloud Run
Jika menggunakan pengelola layanan Linux yang ditingkatkan yang ditawarkan secara default untuk memigrasikan workload container, Anda dapat men-deploy container di Cloud Run tanpa harus melakukan perubahan tambahan pada container.
Untuk men-deploy container di Cloud Run:
Tambahkan sumber migrasi dan buat migrasi seperti yang Anda lakukan saat ini dengan runtime yang ada.
Sesuaikan rencana migrasi sesuai kebutuhan.
Download paket migrasi. Rencana migrasi diwakili oleh AppXGenerateArtifactsFlow.
Misalnya, untuk migrasi bernama "my-migration":
migctl migration get my-migration
Buka rencana migrasi yang didownload,
my-migration.yaml, di editor teks.Verifikasi pengelola layanan Linux yang ditingkatkan. Flag
v2kServiceManagerditetapkan ketruesecara default. Namun, jika Migrate to Containers mendeteksi layanan sistem yang tidak didukung oleh pengelola layanan, Anda akan diberi tahu dan tandav2kServiceManagerakan ditetapkan kefalse. Jika flag-nya adalahfalse, migrasi akan menggunakan runtime lama yang mendukung layanan Anda.Pemberitahuan berikut diberikan bersama layanan yang tidak didukung:
Service is not supported by v2k service manager, therefore legacy runtime will be used instead of v2k service manager, and migrated workload would not fit running on Autopilot clusters of Cloudrun.
Jika layanan yang tidak didukung ditemukan, Anda juga dapat memilih untuk menetapkan tanda ke
truesecara manual. Dalam hal ini, Anda dapat memilih untuk mempertahankan layanan yang tidak didukung pada image yang dihasilkan yang mungkin tidak berjalan atau Anda dapat mengecualikan layanan dengan menghapusnya dari rencana migrasi.Untuk mengaktifkan pengelola layanan baru, reset flag ke
true:v2kServiceManager: true
Lakukan penyesuaian lain yang diperlukan untuk migrasi Anda seperti yang dijelaskan dalam Menyesuaikan rencana migrasi.
Setelah selesai mengedit, simpan file yang diedit.
Upload paket migrasi yang telah diedit:
migctl migration update my-migration --main-config my-migration.yaml
Buat dan tinjau artefak migrasi seperti yang Anda lakukan saat ini dengan runtime yang ada.
Edit file
services-config.yamlbaru untuk mengonfigurasi properti inisialisasi penampung. Simpan file dan build ulang image penampung untuk menerapkan perubahan.Lihat Menggunakan services-config.yaml untuk mengetahui informasi selengkapnya tentang cara mengedit file
services.yaml.Setelah membuat artefak migrasi, buka file
deployment_spec.yamldi editor untuk menentukan lokasi image penampung. Misalnya, Anda akan melihat sesuatu yang mirip dengan berikut ini:spec: containers: - image: gcr.io/PROJECT_NAME/IMAGE_NAME:LABEL
Dengan
gcr.io/PROJECT_NAME/IMAGE_NAME:LABELmenentukan lokasi image container.Gunakan perintah berikut untuk men-deploy container di Cloud Run:
gcloud run deploy my-runtime --image gcr.io/PROJECT_NAME/IMAGE_NAME:LABEL --region REGION --platform managed --set-env-vars=HC_V2K_SERVICE_MANAGER=true --port PORTProperti
--set-env-varsmenetapkan variabel lingkunganHC_V2K_SERVICE_MANAGERketrueuntuk mengaktifkan pengelola layanan Linux yang ditingkatkan.Properti
--portmenentukan port tempat permintaan dikirim ke penampung. Port default-nya adalah 8080.
Contoh: Men-deploy container Panduan Memulai di Cloud Run
Gunakan panduan Panduan memulai saat ini untuk memigrasikan penampung yang berisi server web sederhana, lalu men-deploynya di Cloud Run. Satu-satunya perubahan yang harus Anda lakukan pada proses Mulai Cepat adalah:
Pada Langkah 3 Memigrasikan VM, tempat Anda meninjau rencana migrasi, tetapkan
v2kServiceManagerketruedalam rencana migrasi, lalu simpan rencana:v2kServiceManager: true
Setelah migrasi selesai, buka file
deployment_spec.yamldi editor untuk menentukan lokasi penampung. Misalnya, Anda akan melihat sesuatu yang mirip dengan berikut ini:spec: containers: - image: gcr.io/PROJECT_NAME/quickstart-instance:LABEL
Di bagian Men-deploy beban kerja yang dimigrasikan, deploy image container ke Cloud Run menggunakan perintah:
gcloud run deploy my-runtime --image gcr.io/PROJECT_NAME/quickstart-instance:LABEL --region REGION --platform managed --set-env-vars=HC_V2K_SERVICE_MANAGER=true --port 80Server web di penampung yang dimigrasikan memproses permintaan di port 80, jadi pastikan untuk menentukan port tersebut saat men-deploy penampung.
Anda akan melihat respons berikut, yang menyertakan URL layanan Cloud Run:
Allow unauthenticated invocations to [my-runtime] (y/N)? y Deploying container to Cloud Run service [my-runtime] in project [PROJECT_NAME] region [REGION] Deploying new service... Done. ✓ Creating Revision… ✓ Routing traffic… Setting IAM Policy… Done. Service [my-runtime] revision [my-runtime-00001-sas] has been deployed and is serving 100 percent of traffic. Service URL: https://my-runtime-s5ahdq-uc.a.run.app
Dari Cloud Shell, buat permintaan ke penampung menggunakan URL layanannya, dengan meneruskan kredensial Anda:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" https://my-runtime-s5ahdq-uc.a.run.app
Halaman "Hello World!" akan muncul.
Langkah selanjutnya
- Pelajari cara menggunakan services-config.yaml.