Memigrasikan container yang di-deploy di VM selama pembuatan VM


Agen startup container di Compute Engine tidak digunakan lagi. Agen ini memungkinkan Anda men-deploy container di instance Compute Engine saat membuat VM.

Dokumen ini menjelaskan cara memigrasikan container yang ada yang dibuat oleh agen startup di VM atau grup instance terkelola (MIG) ke layananGoogle Cloud lain.

Berdasarkan persyaratan Anda, pilih salah satu opsi berikut untuk memigrasikan container yang di-deploy di VM menggunakan metode yang tidak digunakan lagi:

  • Jika Anda ingin terus menjalankan container di VM dan MIG individual, gunakan skrip startup atau cloud-init.
  • Jika Anda memiliki aplikasi container stateless dan tugas berukuran kecil hingga sedang, gunakan Cloud Run.
  • Jika penampung Anda adalah tugas batch yang memiliki status akhir yang pasti dan memerlukan resource komputasi tambahan, gunakan Batch.
  • Jika Anda memerlukan kontrol dan skalabilitas tingkat lanjut atau jika Anda tidak dapat memenuhi persyaratan dengan opsi lain, gunakan GKE di Google Cloud.

Untuk kasus penggunaan dan solusi alternatif lainnya, lihat Membandingkan opsi deployment container.

Opsi yang tidak digunakan lagi untuk mengonfigurasi container di VM

Saat Anda mengonfigurasi penampung di VM selama pembuatan VM, Compute Engine menggunakan agen startup penampung untuk membuat kunci metadata gce-container-declaration untuk instance. Kunci ini menyimpan informasi penampung. Karena agen startup penampung tidak digunakan lagi, Anda tidak dapat lagi menyimpan informasi penampung di kunci metadata gce-container-declaration.

Opsi berikut untuk men-deploy container di VM atau MIG menggunakan agen startup container untuk mengonfigurasi container di VM.

Konsol

Opsi Deploy container di halaman Create an instance tidak digunakan lagi:

Opsi Deploy container.

gcloud

Perintah gcloud berikut yang mengonfigurasi container di VM atau template instance tidak digunakan lagi:

Terraform

Modul Terraform gce-container dan kunci metadata gce-container-declaration untuk mengonfigurasi container tidak digunakan lagi.

Mengidentifikasi instance yang menggunakan metadata container yang tidak digunakan lagi

Untuk menentukan apakah ada instance dalam project Anda yang menggunakan metadata container yang tidak digunakan lagi, jalankan perintah Google Cloud CLI berikut yang mencantumkan instance dengan kunci dan nilai metadata gce-container-declaration:

gcloud compute instances list --filter="metadata.items.key:gce-container-declaration"

Perintah ini akan memberikan daftar semua instance VM dalam project yang dikonfigurasi yang berisi kunci metadata gce-container-declaration. Kunci metadata secara unik mengidentifikasi VM yang berada dalam cakupan penghentian penggunaan. Jika Anda menggunakan beberapa project, jalankan perintah ini di semua project aktif.

Jika Anda memiliki instance tertentu yang ingin divalidasi, jalankan perintah Google Cloud CLI berikut:

  gcloud compute instances describe VM_NAME --format="(metadata.items)"

Ganti VM_NAME dengan nama instance VM yang ingin Anda validasi.

Untuk mengetahui informasi selengkapnya tentang cara melihat metadata, lihat Melihat dan membuat kueri metadata.

Membandingkan opsi deployment container

Tabel berikut merangkum kasus penggunaan untuk menjalankan container di VM dan merekomendasikan solusi container alternatif untuk memigrasikan workload Anda:

Kasus penggunaan Jenis penggantian Biaya Solusi yang direkomendasikan
  • Terus jalankan container di VM atau MIG.
  • Kurang memahami solusi serverless atau terkelola.
  • Jalankan container untuk pengujian dan pengembangan.
  • Workload Anda terdiri dari satu VM.
  • Jalankan container dalam mode istimewa.
  • Penggantian langsung Tanpa biaya tambahan Gunakan skrip startup untuk membuat VM.
  • Terus jalankan container di VM atau MIG.
  • Menjalankan beberapa container di satu VM.
  • Konfigurasi skenario lanjutan pada container atau VM.
    Misalnya, membuat pengguna, mengimpor file, memasang disk, atau menggunakan mode istimewa.
  • Workload Anda terdiri dari beberapa VM atau MIG.
  • Penggantian langsung Tanpa biaya tambahan Gunakan cloud-init untuk menjalankan tugas selama siklus proses VM.
    Menjalankan tugas batch yang memiliki status akhir yang pasti dan memerlukan resource komputasi tambahan. Layanan terkelola Bergantung pada karakteristik workload dan kompleksitas konfigurasi penampung Anda. Batch
  • Jalankan aplikasi stateless.
  • Menjalankan tugas berukuran kecil hingga sedang.
  • Layanan terkelola Solusi tanpa biaya hingga biaya rendah untuk workload yang lebih kecil. Cloud Run
  • Anda sudah memiliki cluster GKE.
  • Anda memerlukan kontrol dan skalabilitas lanjutan.
  • Layanan terkelola Bergantung pada karakteristik workload dan kompleksitas konfigurasi container. Google Kubernetes Engine

    Saat Anda beralih dari agen startup container Compute Engine ke solusi alternatif, pertimbangkan perubahan yang diperlukan berikut dan potensi upaya untuk menerapkannya:

    • VM yang menjalankan Container-Optimized OS: Mengambil kepemilikan penuh atas penyiapan, konfigurasi, keamanan, dan pemeliharaan runtime VM dan container, yang sering kali melibatkan pembuatan skrip dengan skrip startup atau cloud-init.
    • Cloud Run atau Batch: Pastikan aplikasi Anda tidak memiliki status dan sesuai dengan model eksekusi berbasis permintaan atau berbasis tugas. Pendekatan ini mungkin melibatkan penyesuaian aplikasi agar dapat berfungsi dengan layanan pengelolaan status eksternal.
    • GKE: Terapkan prinsip Kubernetes, tentukan beban kerja menggunakan file manifes Kubernetes, dan kelola resource cluster.

    Menggunakan skrip startup untuk men-deploy container di VM

    Anda dapat menjalankan container dasar di VM menggunakan skrip startup.

    Pertimbangkan poin-poin berikut saat Anda menggunakan skrip startup untuk mengonfigurasi container:

    • Anda dapat menggunakan skrip startup untuk skenario dasar. Untuk konfigurasi lanjutan, pertimbangkan penggunaan cloud-init.
    • Karena Anda membuat VM baru dengan container yang dikonfigurasi menggunakan skrip startup, Anda harus merencanakan transisi workload apa pun yang di-deploy di VM yang ada.
    • Uji dan pastikan semuanya berfungsi seperti yang diharapkan sebelum Anda merutekan traffic ke VM yang baru dibuat dengan container.

    Untuk membuat VM dan men-deploy container di VM atau MIG, lakukan hal berikut:

    1. Memetakan container saat ini di metadata VM ke perintah skrip startup
    2. Membuat skrip startup berdasarkan konfigurasi metadata yang ada
    3. Buat VM menggunakan skrip startup atau Buat MIG menggunakan skrip startup.

    Memetakan metadata container Anda ke perintah docker run

    Anda dapat memetakan metadata VM atau flag gcloud ke argumen docker run dan menyertakannya dalam skrip startup untuk membuat VM.

    Beberapa tanda gcloud diterjemahkan langsung ke metadata VM. Flag ini juga diterjemahkan langsung ke flag docker run. Jika memiliki penampung yang ada di VM, Anda dapat membaca konfigurasi metadata VM dan membuat skrip startup menggunakan perintah docker run yang setara.

      # Get your existing VM instance configuration in yaml format
      gcloud compute instances describe VM_NAME --format="(metadata.items)"
    

    Outputnya mirip dengan hal berikut ini:

      metadata:
        items:
        - key: gce-container-declaration
          value: |
            spec:
              containers:
              - args:
                - '"hello world!"'
                command:
                - echo
                env:
                - name: ONE
                  value: '1'
                image: docker.io/library/busybox
                name: my-instance
                securityContext:
                  privileged: true
                stdin: true
                tty: true
              restartPolicy: Always
        - key: google-logging-enabled
          value: 'true'
    

    Gunakan tabel berikut untuk memetakan spesifikasi yang ada ke perintah docker run:

    Flag Google Cloud CLI Kunci metadata VM Perintah Docker run
    --container-image containers.image Tentukan sebagai argumen tanpa flag apa pun.
    Contoh:
    docker run gcr.io/google-containers/busybox
    --container-command command Tentukan sebagai argumen tanpa flag apa pun, setelah nama image container.
    Contoh:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-arg args Tentukan sebagai argumen tanpa flag apa pun, setelah perintah.
    Contoh:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-env containers.env array --env KEY=VALUE [--env KEY=VALUE ...]
    --container-restart-policy restartPolicy --restart
    Nilai yang mungkin adalah no, on-failure, dan always. Default-nya adalah no.
    --container-stdin containers.stdin -i
    Flag boolean, benar jika ada, salah secara default.
    --container-tty containers.tty -t
    Flag boolean, benar jika ada, salah secara default.
    --container-privileged containers.securityContext.privileged --privileged
    Flag boolean, benar jika ada, salah secara default.
    --container-mount-disk - Tidak ada perintah docker run yang setara.
    Anda dapat memasang disk secara terpisah.

    Contoh skrip startup

    Contoh berikut menunjukkan cara menyertakan perintah docker dalam skrip startup Anda:

    • Contoh 1: menjalankan container mandiri di VM berdasarkan Container-Optimized OS.
    • Contoh 2: menjalankan container server web di VM berdasarkan Container-Optimized OS.

    Contoh 1

    Jalankan container mandiri di VM berdasarkan Container-Optimized OS:

    #!/bin/bash
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Run docker container from image in docker hub
    docker run \
      docker.io/library/busybox \
      echo "hello world!"
    

    Contoh 2

    Jalankan penampung server web di VM berdasarkan Container-Optimized OS:

    #!/bin/bash
    
    # Enable incoming traffic for TCP protocol
    sudo iptables -A "INPUT" -p "tcp" -j "ACCEPT"
    sudo iptables -A "FORWARD" -p "tcp" -j "ACCEPT"
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Run docker container from image in docker hub
    docker run \
      --name=$CONTAINER_NAME \
      --privileged \
      --restart=always \
      --tty \
      --detached \
      --network="host" \
      nginx:1.29.0
    

    Opsi konfigurasi tambahan untuk deployment container

    Bagian ini menjelaskan parameter konfigurasi tambahan untuk men-deploy container di VM Anda.

    Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Mengonfigurasi opsi untuk menjalankan container.

    Akses ke image Artifact Registry

    Jika Anda memerlukan akses ke image container dari gcr.io atau pkg.dev, gunakan alat docker-credential-gcr, yang sudah diinstal sebelumnya di Container-Optimized OS, dan konfigurasi autentikasi ke Artifact Registry untuk Docker. Jalankan perintah berikut sebelum Anda menjalankan container:

      # Set home directory to save docker credentials
      HOME=/home/appuser
    
      # Configure docker with credentials for gcr.io and pkg.dev
      docker-credential-gcr configure-docker
    

    Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi autentikasi ke Artifact Registry untuk Docker.

    Mengonfigurasi logging

    Sebaiknya gunakan Cloud Logging dengan mengaktifkan agen logging di VM.

    Atau, jika ingin mengubah driver logging, Anda dapat menyertakan parameter --log-driver dengan perintah docker run:

      # Enable Cloud Logging
      --log-driver=gcplogs
    

    Untuk mengetahui informasi selengkapnya, lihat Menggunakan Cloud Logging dengan Container-Optimized OS

    Mengonfigurasi firewall internal

    Container-Optimized OS menolak traffic masuk secara default, jadi Anda harus menambahkan aturan iptables untuk mengizinkan traffic tersebut. Perhatikan bahwa perintah ini mengonfigurasi firewall internal sistem operasi host. Selain itu, Anda harus mengonfigurasi firewall Virtual Private Cloud untuk mengizinkan traffic tersebut ke VM baru

    Untuk mengetahui informasi selengkapnya, lihat Menggunakan aturan firewall VPC.

      # Enable all incoming traffic for TCP protocol
      iptables -A "INPUT" -p "tcp" -j "ACCEPT"
      iptables -A "FORWARD" -p "tcp" -j "ACCEPT"
    
      # Enable all incoming traffic for UDP protocol
      iptables -A "INPUT" -p "udp" -j "ACCEPT"
      iptables -A "FORWARD" -p "udp" -j "ACCEPT"
    
      # Enable all incoming traffic for ICMP protocol
      iptables -A "INPUT" -p "icmp" -j "ACCEPT"
      iptables -A "FORWARD" -p "icmp" -j "ACCEPT"
    

    Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi firewall host.

    Melampirkan volume ke container

    Jika volume dilampirkan ke penampung, metadata penampung mencakup entri volumes dan array volumeMounts. name dari entri di volumes sesuai dengan nama entri di volumeMounts, dan sebaliknya. Untuk setiap volume yang Anda kumpulkan, kumpulkan informasi yang diperlukan baik dari volumes maupun dari entri volumeMounts.

    Jika tidak ada volume yang terpasang ke container, Anda dapat melewati bagian ini dan langsung membuat VM menggunakan skrip startup.

    Pasang sistem file tmpfs
      # generic command
      --tmpfs <mount-path>[:opts]
    
      # for our example
      --tmpfs tmpfs-mount-path
    
    Pemasangan jalur host atau direktori
      # generic command
      --mount type=bind,source=HOSTPATH,target=MOUNTPATH[,readonly]
    
      # for our example
      --mount type=bind,source=directory-host-path,target=directory-mount-path,readonly
    
    Pasang persistent disk ke container

    Memasang disk ke container memerlukan langkah tambahan. Untuk memasang disk, pasang terlebih dahulu di VM, lalu pasang disk tersebut ke container:

    1. Untuk memasang disk ke VM, jalankan perintah berikut:

      #!/bin/bash
      
      DISK_DEVICE_NAME="my-persistent-disk" # This name MUST match the 'device-name' in the gcloud --disk flag
      DISK_BY_ID_PATH="/dev/disk/by-id/google-${DISK_DEVICE_NAME}"
      HOST_MOUNT_POINT="/mnt/disks/my-persistent-data" # This is where the disk will be mounted on the VM
      
      # format a disk as an ext4 filesystem, if it doesn't already contain one
      file -sL $DISK_BY_ID_PATH | grep -q filesystem || \
              mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard $DISK_BY_ID_PATH
      
      # create a directory for mounting point
      sudo mkdir -p "${HOST_MOUNT_POINT}"
      
      # mount a disk to the VM
      sudo mount -o defaults,discard "${DISK_BY_ID_PATH}" "${HOST_MOUNT_POINT}"
      
    2. Setelah memasang disk ke VM, tambahkan flag --mount dengan perintah docker run untuk memasang disk ke container:

      --mount type=bind,source="${HOST_MOUNT_POINT}",target=/disk,readonly
      

    Buat VM menggunakan skrip startup

    Setelah membuat skrip startup dengan konfigurasi penampung, gunakan skrip startup ini untuk membuat VM.

    Untuk mengetahui informasi selengkapnya tentang penggunaan skrip startup, lihat Menggunakan skrip startup di VM Linux.

    Konsol

    1. Di konsol Google Cloud , buka halaman Create an instance.

      Buka halaman Buat instance

      Jika diminta, pilih project Anda, lalu klik Lanjutkan. Halaman Create an instance akan muncul dan menampilkan panel Machine configuration.

    2. Di panel Konfigurasi mesin, pilih kelompok mesin dan jenis mesin untuk VM Anda.

    3. Di menu navigasi, klik OS dan penyimpanan. Di panel Operating system and storage yang muncul, konfigurasi disk boot dengan melakukan hal berikut:

      1. Klik Ubah. Panel Boot disk akan muncul dan menampilkan tab Public images.
      2. Di daftar Operating system, pilih Container Optimized OS.
      3. Dalam daftar Version, pilih versi OS.
      4. Pada daftar Boot disk type, pilih jenis boot disk.
      5. (Opsional) Jika Anda memerlukan disk tambahan, tambahkan disk di bagian Additional disks.
      6. Klik Pilih.
    4. Di menu navigasi, klik Lanjutan.

      1. Di bagian Automation, tempel skrip startup yang Anda buat untuk deployment penampung Anda.
    5. Untuk membuat dan memulai VM, klik Create.

    gcloud

    Saat menggunakan Google Cloud CLI, simpan skrip startup dalam file terpisah. Untuk mengetahui informasi selengkapnya, lihat Menggunakan skrip startup di VM Linux dan Membuat instance dari image publik.

    1. Untuk membuat VM dari skrip startup bernama startup.sh, jalankan perintah berikut:
        gcloud compute instances create VM_NAME \
            --zone=ZONE \
            [--image=IMAGE | --image-family=IMAGE_FAMILY] \
            --image-project=IMAGE_PROJECT \
            IMAGE_FLAG \
            --machine-type=MACHINE_TYPE \
            --metadata-from-file=startup-script=STARTUP_SCRIPT_FILE
    

    Ganti kode berikut:

    • VM_NAME: name VM baru
    • ZONE: zona untuk membuat instance
    • IMAGE_PROJECT: project image Container-Optimized OS yang berisi image
    • IMAGE_FLAG: image atau kelompok image Container-Optimized OS
    • MACHINE_TYPE: jenis mesin untuk VM baru, yang dapat berupa jenis mesin bawaan atau jenis mesin kustom.
    • STARTUP_SCRIPT_FILE: jalur relatif ke file skrip startup yang berisi perintah docker run untuk mengonfigurasi dan menjalankan penampung Anda.

    Contoh:

      # Configuration Variables
      PROJECT_ID="my_project_id"
      REGION="us-central1"
      ZONE="us-central1-c"
      INSTANCE_NAME="instance-startup-script"
      STARTUP_SCRIPT_PATH="./startup.sh"
    
      # Disk and Policy Configuration
      RESOURCE_POLICY_NAME="disk-resource-policy"
      DISK_DEVICE_NAME="my-persistent-disk"
    
      # Derived Variables (do not change)
      RESOURCE_POLICY_PATH="projects/${PROJECT_ID}/regions/${REGION}/resourcePolicies/${RESOURCE_POLICY_NAME}"
    
      # Create the VM instance, attach the boot disk with a resource policy,
      # Attach a secondary read-only disk, and runs a startup script.
      gcloud compute instances create "${INSTANCE_NAME}" \
        --project="${PROJECT_ID}" \
        --zone="${ZONE}" \
        --machine-type="e2-medium" \
        --scopes=devstorage.read_only,logging.write,monitoring.write,servicecontrol \
        --image-family="cos-stable" \
        --image-project="cos-cloud" \
        --metadata-from-file=startup-script="${STARTUP_SCRIPT_PATH}" \
        --create-disk=boot=yes,disk-resource-policy="${RESOURCE_POLICY_PATH}" \
        --disk=name="${DISK_DEVICE_NAME}",mode=ro
     
    1. Pastikan Compute Engine membuat VM dengan menjalankan perintah berikut:

      gcloud compute instances describe VM_NAME
      

      Ganti VM_NAME dengan nama VM yang Anda buat.

    Terraform

    Untuk membuat VM, Anda dapat menggunakan resource google_compute_instance.

    Contoh berikut menunjukkan cara menggunakan skrip startup untuk mengonfigurasi dan menjalankan container:

    resource "google_compute_instance" "my_container_vm" {
      name         = "my-container-vm-startup"
      machine_type = "e2-medium"
      zone         = "us-central1-a"
    
      boot_disk {
        initialize_params {
          image = "cos-cloud/cos-stable"
        }
      }
      attached_disk {
        device_name = "my-persistent-disk"
        mode = "READ_WRITE"
      }
      network_interface {
        network = "default"
      }
    
      metadata_startup_script = <<EOF
    #!/bin/bash
    docker pull docker.io/nginx:latest
    docker rm -f my-nginx || true
    docker run -d -p 80:80 --name my-nginx docker.io/nginx:latest
    EOF
    }
    

    Membuat MIG menggunakan skrip startup

    Setelah membuat template instance menggunakan skrip startup, gunakan salah satu metode berikut untuk membuat MIG.

    Untuk mengetahui informasi selengkapnya tentang cara membuat MIG, lihat Membuat grup instance terkelola.

    Konsol

    1. Buat template instance yang didasarkan pada skrip startup yang Anda buat di bagian sebelumnya.

      1. Di bagian Sistem operasi, pilih Container Optimized OS dan versinya.
      2. Di bagian Automation, tempel skrip startup yang Anda buat untuk deployment container.
    2. Buat MIG menggunakan template instance yang dibuat pada langkah sebelumnya.

    gcloud

    1. Buat template instance menggunakan perintah instance-templates create.

      Anda harus menggunakan image Container-Optimized OS untuk VM. Anda dapat menentukan jalur relatif ke file skrip startup dalam tanda --metadata-from-file.

    2. Buat MIG menggunakan template instance yang dibuat pada langkah sebelumnya.

    Contoh:

      # Create the persistent disk
      gcloud compute disks create my-persistent-disk \
        --region=us-central1 \
        --replica-zones=us-central1-a,us-central1-b \
        --size=20GB
    
      # Create the instance template that uses a startup script
      gcloud compute instance-templates create startup-template \
          --machine-type=e2-medium \
          --image-family=cos-stable \
          --image-project=cos-cloud \
          --disk=name=my-persistent-disk,device-name=my-persistent-disk,mode=rw,boot=no \
          --metadata-from-file=startup-script=startup_script.sh
    
      # Create the managed instance group
        gcloud compute instance-groups managed create startup-mig \
          --template=startup-template \
          --size=2 \
          --zone=us-central1-a
    

    Terraform

    Gunakan resource google_compute_instance_template dan google_compute_instance_group_manager untuk membuat template instance dan MIG, seperti yang ditunjukkan dalam contoh berikut:

    Contoh:

    resource "google_compute_instance_template" "startup_template" {
    name_prefix = "startup-template-"
    machine_type = "e2-medium"
    disk {
      source_image = "cos-cloud/cos-stable"
      auto_delete  = true
      boot         = true
    }
    disk {
      source_image = ""
      auto_delete  = false
      boot = false
      device_name = "my-persistent-disk"
      disk_size_gb = 20
    }
    network_interface {
      network = "default"
    }
    metadata_startup_script = <<EOF
      #!/bin/bash
      docker pull docker.io/nginx:latest
      docker rm -f my-nginx || true
      docker run -d -p 80:80 --name my-nginx docker.io/nginx:latest
      EOF
    lifecycle {
      create_before_destroy = true
    }
    }
    resource "google_compute_region_disk" "my_persistent_disk" {
    name = "my-persistent-disk"
    region = "us-central1"
    replica_zones = ["us-central1-a", "us-central1-b"]
    size = 20
    }
    
    resource "google_compute_instance_group_manager" "startup_mig" {
    name               = "startup-mig"
    base_instance_name = "startup-vm"
    zone               = "us-central1-a"
    version {
      instance_template = google_compute_instance_template.startup_template.id
    }
    target_size = 2
    }
    

    Menonaktifkan VM container menggunakan skrip penonaktifan

    Anda dapat menyiapkan skrip penonaktifan untuk menonaktifkan container dengan benar. Misalnya, untuk menghentikan container Docker, tambahkan skrip penonaktifan yang mirip dengan berikut:

         #!/bin/sh
         docker stop my_container
       

    Menguji dan menghapus

    Setelah berhasil membuat VM atau MIG, validasi bahwa aplikasi Anda berjalan di container dan berfungsi seperti yang diharapkan. Untuk memperbaiki masalah, lihat Pemecahan masalah.

    Jika aplikasi berhasil berjalan di VM baru yang dibuat menggunakan skrip startup, Anda dapat menghapus VM dan MIG yang menggunakan metode deployment container yang tidak digunakan lagi.

    Pemecahan masalah

    Untuk memecahkan masalah yang mungkin terjadi selama migrasi penampung, lihat dokumen berikut:

    Menggunakan cloud-init dengan Container-Optimized OS

    Anda dapat menggunakan cloud-init, solusi lintas platform dan standar industri, untuk men-deploy container di VM yang menjalankan Container-Optimized OS. Alat ini memungkinkan Anda menjalankan konfigurasi kustom selama pembuatan atau startup VM. Untuk mengetahui informasi selengkapnya, lihat Menggunakan cloud-init dengan format konfigurasi Cloud.

    Menggunakan layanan terkelola untuk deployment container

    Bagian ini menjelaskan layanan terkelola yang disediakan oleh Google Cloud yang dapat Anda gunakan untuk men-deploy container.

    Cloud Run

    Cloud Run adalah opsi yang bagus untuk aplikasi container stateless dan tugas kecil hingga sedang.

    Fitur utama Cloud Run meliputi hal berikut:

    • Anda dapat memilih untuk hanya mengalokasikan CPU selama pemrosesan permintaan, atau selalu mengalokasikan CPU.
    • Anda dapat menjalankan aplikasi container stateless atau menjalankan tugas sekaligus, sesuai jadwal, atau sebagai bagian dari alur kerja.
    • Anda dapat mengonfigurasi waktu tunggu untuk setiap permintaan atau tugas.
    • Sangat skalabel dan aman.
    • Layanan ini memiliki load balancing dan penskalaan otomatis terintegrasi.

    Untuk mengetahui informasi selengkapnya tentang cara men-deploy container di Cloud Run, lihat Men-deploy image container ke Cloud Run

    Batch

    Batch adalah layanan terkelola sepenuhnya yang memungkinkan Anda menjadwalkan, memasukkan dalam antrean, dan menjalankan beban kerja batch processing pada Google Cloud resource. Dirancang untuk menjalankan workload gaya batch yang dapat diparalelkan, termasuk yang dikemas dalam container.

    Untuk mengetahui informasi selengkapnya tentang men-deploy container di Batch, lihat dokumen berikut:

    Google Kubernetes Engine

    Jika Anda menjalankan aplikasi kompleks, microservice, operasi berkelanjutan, dan memerlukan kontrol serta skalabilitas terperinci, Google Kubernetes Engine (GKE) adalah penawaran yang paling sesuai. Untuk mengetahui informasi selengkapnya tentang men-deploy container di GKE, lihat dokumen berikut:

    Mendapatkan dukungan

    Jika ada pertanyaan tentang proses migrasi atau jika Anda memerlukan bantuan, tinjau FAQ atau hubungi Google Cloud Dukungan.