Runtime baru yang ditingkatkan

Pengelola layanan Linux asli untuk Migrate to Containers bergantung pada sysv init dan systemd. Pengelola layanan Linux yang disederhanakan menggantinya dengan alternatif yang disederhanakan dan mudah digunakan untuk container.

Pengelola layanan Linux yang disederhanakan ini menambahkan fungsi yang memungkinkan Anda men-deploy workload container yang dimigrasikan ke:

  • Cluster GKE Autopilot

  • Cloud Run

Pengelola layanan Linux yang disederhanakan juga menyelesaikan masalah kompatibilitas dengan plugin Kubernetes. Misalnya, pengelola layanan Linux yang disederhanakan menghapus persyaratan untuk menentukan hostpath untuk /sys/fs/cgroup dalam file deployment_spec.yaml dan kebutuhan untuk membuat penampung dengan hak istimewa.

Sebelum memulai

  • Migrate to Containers menyediakan alat yang Anda jalankan di workload VM untuk menentukan kesesuaian workload untuk dimigrasikan ke container. Untuk mengetahui informasi selengkapnya, lihat Menggunakan alat penilaian kesesuaian.

Tentang cluster GKE Autopilot

Autopilot adalah mode operasi di Google Kubernetes Engine (GKE). Autopilot dirancang untuk mengurangi biaya operasional pengelolaan cluster, mengoptimalkan cluster untuk produksi, dan menghasilkan ketersediaan workload yang lebih tinggi. Dalam mode Autopilot, GKE menyediakan dan mengelola infrastruktur pokok cluster, termasuk node dan node pool, sehingga memberi Anda cluster yang dioptimalkan dengan pengalaman otomatis.

Lihat Ringkasan Autopilot untuk mengetahui detail selengkapnya.

Tentang Cloud Run

Cloud Run adalah platform komputasi terkelola yang memungkinkan Anda menjalankan container stateless yang dapat dipanggil oleh permintaan web atau peristiwa Pub/Sub. Pengelola layanan Linux yang disederhanakan memungkinkan Anda men-deploy workload container yang dimigrasikan di Cloud Run.

Menggunakan identitas workload dengan Migrate to Containers dan GKE

Migrate to Containers dan GKE memungkinkan Anda men-deploy workload yang dimigrasikan ke Google Distributed Cloud. Terkadang, Anda mungkin menggunakan cluster yang sama sebagai cluster pemrosesan dan cluster deployment. Jika Anda telah mengaktifkan workload identity di cluster deployment, pastikan Anda mengonfigurasi lingkungan deployment untuk mendukung Migrate to Containers dan GKE.

Selain itu, Anda harus memastikan bahwa setiap layanan yang dimulai sebagai bagian dari proses init dikonfigurasi dengan benar untuk identitas beban kerja. Langkah-langkah yang Anda lakukan bergantung pada pengelola layanan untuk cluster Anda. Lihat Men-deploy workload Linux ke cluster target untuk mengetahui langkah-langkah konfigurasi.

Perubahan dari runtime yang ada

Untuk menggunakan pengelola layanan Linux yang disederhanakan, Anda harus mengetahui perubahan dan batasan berikut dari runtime yang ada.

File artefak services-config.yaml baru ditambahkan

Jika Anda mengaktifkan pengelola layanan Linux yang disederhanakan, Migrate to Containers akan membuat file artefak baru, services-config.yaml, saat Anda membuat artefak migrasi. Gunakan file ini untuk mengontrol inisialisasi aplikasi pada penampung yang di-deploy. Lihat Menggunakan services-config.yaml untuk mengetahui informasi selengkapnya.

Pemeriksaan kesiapan

Saat menggunakan runtime saat ini, Migrate to Containers akan menambahkan probe kesiapan dalam file deployment_spec.yaml. Saat Anda mengaktifkan pengelola layanan Linux yang disederhanakan, tidak ada pemeriksaan kesiapan yang ditambahkan.

Jika Anda ingin menambahkan probe kesiapan, sebaiknya gunakan probe kesiapan HTTP. Lihat Menentukan probe kesiapan untuk mengetahui informasi selengkapnya.

        readinessProbe:
          exec:
            command:
            - /.m4a/gamma status

Namun, probe ini mungkin menampilkan hasil negatif palsu.

Dukungan syslog

Pengelola layanan Linux yang disederhanakan membuat soket Unix di /dev/log untuk mendukung syslog. Pengelola layanan Linux yang disederhanakan meneruskan pesan log ini ke stdout sehingga direkam oleh Kubernetes sebagai log penampung.

Batasan

Anda harus mengetahui batasan berikut saat menggunakan pengelola layanan Linux yang disederhanakan.

Batasan beban kerja

Pengelola layanan Linux yang disederhanakan berfungsi paling baik dengan jenis beban kerja berikut:

Gambar Sistem operasi Layanan
Compute Engine Ubuntu 12.04 Ubuntu 12.04 apache2
Compute Engine Ubuntu 14.04 Ubuntu 14.04 redis, mysql, apache2
Compute Engine Ubuntu 18.04 Ubuntu 18.04 apache2, mysql, redis-server, tomcat
RHEL SAP 7.4 Red Hat httpd
Bitnami Ubuntu bitnami
Image Memcached Compute Engine Debian 10.9 bitnami
WordPress Compute Engine Marketplace Debian 9.13 apache2, mysql, php
Tomcat Marketplace Compute Engine Debian 9.13 tomcat8
Jenkins Compute Engine Marketplace Debian 10.9 apache2, jenkins
Moodle Marketplace Compute Engine Debian 9.13 apache2, mysql, php7.4 fpm, phpsessionclean
Odoo Compute Engine Marketplace Debian 9.13 odoo, nginx
Opencart Marketplace Compute Engine Debian 9.13 apache2, mysql, php7.0 fpm, supervisor, mariadb
Erpnext Marketplace Compute Engine Debian 10.9 nginx, redis-server, supervisor, mariadb
Wildfly Marketplace Compute Engine Debian 10.10 wildfly, cron

Batasan systemd

Jika Anda menggunakan systemd sebagai sistem init, perhatikan batasan berikut:

  • Jenis layanan systemd dari simple,exec, dan notify diperlakukan sebagai layanan exec. Artinya, layanan dianggap dimulai, saat exec berhasil.

  • Soket notifikasi hanya didukung untuk sd_notify() untuk pesan READY=1.

    Jika diperlukan, Anda dapat memberikan pemeriksaan kesiapan lainnya. Misalnya, pemeriksaan HTTP atau jenis pemeriksaan lainnya.

  • File unit jenis soket tidak didukung. Soket tidak dibuat dan tidak ada variabel lingkungan yang dibuat.

Update untuk versi 1.9.0

Pengelola layanan Linux yang disederhanakan untuk versi 1.9.0 berisi update berikut:

  • Pengelola layanan Linux telah dirilis untuk ketersediaan umum, dan tidak lagi dalam Pratinjau Publik.

  • Prosedur untuk Mengonversi workload penampung yang ada untuk mendukung Autopilot telah diubah. Sekarang Anda perlu mengedit Dockerfile dan file deployment_spec.yaml untuk migrasi yang ada agar dapat mengonversinya.

  • File config.yaml telah diganti namanya menjadi services-config.yaml.

Update untuk versi 1.8.1

Pengelola layanan Linux yang disederhanakan awalnya dirilis dalam Pratinjau Publik sebagai bagian dari Migrasi ke Penampung versi 1.8. Pengelola layanan Linux yang disederhanakan untuk versi 1.8.1 berisi update berikut:

  • Anda tidak lagi menetapkan anotasi dalam rencana migrasi untuk mengaktifkan pengelola layanan Linux yang disederhanakan. Sebagai gantinya, Anda sekarang menetapkan v2kServiceManager. Lihat Men-deploy container ke cluster Autopilot untuk mengetahui informasi selengkapnya.

  • Variabel lingkungan HC_GAMMA_RUNTIME telah diganti namanya menjadi HC_V2K_SERVICE_MANAGER.

  • Entri prestart dan poststart dalam file services-config.yaml kini otomatis diisi. Lihat Menggunakan services-config.yaml untuk mengetahui informasi selengkapnya.

  • Menambahkan dukungan ke file services-config.yaml yang memungkinkan Anda menentukan variabel lingkungan di tingkat global atau di tingkat aplikasi. Lihat Menggunakan services-config.yaml untuk mengetahui informasi selengkapnya.

  • Menambahkan dukungan logging yang memungkinkan Anda menyesuaikan data log yang ditulis ke Cloud Logging. Lihat Menyesuaikan data log yang ditulis ke Cloud Logging untuk mengetahui informasi selengkapnya.

Langkah selanjutnya