Bersiap untuk bermigrasi dari Istio

Migrasi dari Istio ke Anthos Service Mesh memerlukan beberapa perencanaan. Halaman ini memberikan informasi untuk membantu Anda mempersiapkan migrasi.

Meninjau profil

Profil konfigurasi yang disediakan Anthos Service Mesh berbeda dengan Istio Open Source. Saat menginstal Anthos Service Mesh, Anda menggunakan profil konfigurasi yang sesuai untuk lingkungan Anda:

  • asm-gcp: Gunakan profil ini untuk penginstalan di GKE untuk mesh yang berisi satu atau beberapa cluster yang ada dalam project Google Cloud yang sama.

  • asm-gcp-multiproject beta: Gunakan profil ini untuk penginstalan di GKE dengan cluster di project Google Cloud yang berbeda.

  • asm-multicloud: Gunakan profil ini untuk penginstalan di lingkungan berikut:

    • GKE on VMware
    • GKE on AWS
    • Layanan Amazon Elastic Kubernetes (Amazon EKS)
    • Layanan Microsoft Azure Kubernetes (Microsoft AKS)

Fitur Anthos Service Mesh yang didukung berbeda di setiap profil. Tinjau Fitur yang didukung untuk profil yang tepat untuk konfigurasi Anda.

Bandingkan profil

Anda dapat membandingkan profil konfigurasi yang digunakan untuk menginstal Istio dengan profil Anthos Service Mesh yang akan digunakan:

  1. Ikuti langkah-langkah di Mendownload file penginstalan untuk mendownload file penginstalan dan tanda tangan, mengekstrak konten, dan menetapkan jalur untuk menggunakan versi istioctl dari file download.

  2. Buat manifes untuk profil Anthos Service Mesh yang akan Anda gunakan:

    istioctl manifest generate -f manifests/profiles/ASM_PROFLE > a.yaml
  3. Temukan profil yang Anda gunakan untuk menginstal Istio. Karena profil dapat berubah antar-versi Istio, Anda memerlukan profil dari paket penginstalan yang cocok dengan versi Istio Anda.

  4. Buat manifes untuk profil yang Anda gunakan untuk menginstal Istio:

    istioctl manifest generate -f ISTIO_PROFILE > b.yaml
  5. Bandingkan manifes:

    istioctl manifest diff a.yaml b.yaml
    

Menyiapkan file konfigurasi

Jika menyesuaikan penginstalan Istio, Anda memerlukan penyesuaian yang sama saat bermigrasi ke Anthos Service Mesh. Jika Anda menyesuaikan penginstalan dengan menambahkan tanda --set values, sebaiknya tambahkan setelan tersebut ke file konfigurasi IstioOperator. Anda menentukan file konfigurasi menggunakan flag -f dengan file konfigurasi saat menjalankan perintah istioctl install.

Memilih certificate authority

Anda dapat terus menggunakan Citadel (kini tergabung di istiod) sebagai certificate authority (CA) untuk menerbitkan sertifikat mutual TLS (mTLS), atau Anda dapat memilih untuk bermigrasi ke certificate authority Anthos Service Mesh (Mesh CA).

Sebaiknya gunakan Mesh CA karena alasan berikut:

  • Mesh CA adalah layanan yang sangat andal dan skalabel yang dioptimalkan untuk workload yang diskalakan secara dinamis di Google Cloud.
  • Dengan Mesh CA, Google mengelola keamanan dan ketersediaan backend CA.
  • Mesh CA memungkinkan Anda mengandalkan satu root kepercayaan di seluruh cluster.

Namun, ada beberapa kasus saat Anda mungkin ingin mempertimbangkan untuk menggunakan Citadel, seperti berikut:

  • Jika Anda memiliki CA kustom.
  • Anda tidak dapat menjadwalkan periode nonaktif untuk migrasi ke Mesh CA. Meskipun kami merekomendasikan penggunaan Mesh CA, Anda perlu menjadwalkan periode nonaktif untuk migrasi karena traffic mTLS akan gagal sebelum Anda memulai ulang semua Pod di semua namespace.

Meninjau proses migrasi

Untuk bermigrasi dari Istio, Anda harus mengikuti proses upgrade bidang kontrol ganda (disebut sebagai upgrade canary dalam dokumentasi Istio). Dengan upgrade bidang kontrol ganda, Anda menginstal versi baru bidang kontrol bersama dengan bidang kontrol yang ada. Saat menginstal versi baru, Anda menyertakan label revision yang mengidentifikasi versi bidang kontrol baru. Setiap revisi merupakan implementasi penuh bidang kontrol Anthos Service Mesh dengan Deployment dan Service-nya sendiri.

Kemudian, migrasikan ke versi baru dengan menetapkan label revision yang sama pada beban kerja agar mengarah ke bidang kontrol baru dan melakukan mulai ulang berkelanjutan untuk memasukkan ulang proxy dengan versi Anthos Service Mesh yang baru. Dengan pendekatan ini, Anda dapat memantau efek upgrade pada sebagian kecil beban kerja Anda. Setelah menguji aplikasi, Anda dapat memigrasikan semua traffic ke versi baru. Pendekatan ini jauh lebih aman daripada melakukan upgrade langsung, karena bidang kontrol baru langsung menggantikan versi bidang kontrol sebelumnya.

Kecuali jika Anda memiliki load balancer atau penyiapan router untuk deployment blue-green, sebaiknya uji migrasi dan mulai ulang Pod di lingkungan staging untuk memverifikasi bahwa layanan Anda dapat menangani potensi gangguan traffic.