Penginstalan multi-project di GKE

Panduan ini menjelaskan cara menginstal Anthos Service Mesh untuk mesh yang berisi beberapa cluster Google Kubernetes Engine (GKE) yang ada di project Google Cloud yang berbeda.

Anda dapat menggunakan panduan ini untuk kasus penggunaan orientasi berikut:

  • Penginstalan baru Anthos Service Mesh 1.11.8.

  • Mengupgrade dari 1.9 or a 1.10 patch release ke Anthos Service Mesh 1.11.8. Upgrade dari versi sebelumnya tidak didukung.

  • Melakukan migrasi dari Istio open source ke Anthos Service Mesh 1.11.8. Jika memiliki Istio versi sebelumnya, Anda harus mengupgrade terlebih dahulu sebelum bermigrasi ke Anthos Service Mesh. Jika Anda perlu melakukan upgrade, buka halaman Upgrade Istio di versi Istio yang berlaku. Perlu diperhatikan bahwa Mengupgrade Istio di lebih dari satu versi minor (misalnya 1.6.x ke 1.8.x) dalam satu langkah tidak diuji atau direkomendasikan secara resmi. Pastikan untuk meninjau Mempersiapkan migrasi dari Istio untuk merencanakan migrasi Anda.

Tidak semua fitur tersedia untuk mesh layanan dengan cluster dalam project yang berbeda. Secara khusus, dasbor Anthos Service Mesh di konsol Google Cloud saat ini tidak tersedia. Namun, Anda masih dapat melihat log di Cloud Logging dan metrik di Cloud Monitoring untuk setiap project.

Sebelum memulai

Panduan ini mengasumsikan bahwa Anda sudah:

Jika Anda bermigrasi dari Istio, pastikan untuk meninjau Bersiap bermigrasi dari Istio.

Perbedaan Anthos dan Anthos Service Mesh

Anthos Service Mesh tersedia di GKE Enterprise atau sebagai layanan mandiri. Google API digunakan untuk menentukan cara penagihan Anda. Untuk menggunakan Anthos Service Mesh sebagai layanan mandiri, jangan aktifkan GKE Enterprise API di project Anda. Untuk mengetahui informasi tentang harga Anthos Service Mesh, lihat Harga.

  • Pelanggan GKE Enterprise, pastikan untuk mengaktifkan GKE Enterprise API.

    Mengaktifkan API

  • Jika bukan pelanggan GKE Enterprise, Anda masih dapat menginstal Anthos Service Mesh, tetapi elemen dan fitur UI tertentu di Konsol Google Cloud hanya tersedia untuk pelanggan GKE Enterprise. Untuk mengetahui informasi tentang apa yang tersedia bagi pelanggan dan non-pelanggan, lihat perbedaan UI GKE Enterprise dan Anthos Service Mesh.

  • Jika Anda telah mengaktifkan GKE Enterprise API, tetapi ingin menggunakan Anthos Service Mesh sebagai layanan mandiri, nonaktifkan GKE Enterprise API.

Persyaratan

  • Karena cluster Anda berada di project yang berbeda, cluster tersebut harus berada di Shared Virtual Private Cloud (VPC). Untuk mengetahui informasi tentang cara mengonfigurasi cluster, lihat Menyiapkan cluster dengan VPC Bersama.

  • Cluster GKE Anda harus memenuhi persyaratan berikut:

    • Cluster GKE harus berupa Standar, karena cluster Autopilot memiliki batasan Webhook yang tidak mengizinkan MutatingWebhookConfiguration untuk istio-sidecar-injector.

    • Jenis mesin yang memiliki minimal empat vCPU, seperti e2-standard-4. Jika jenis mesin untuk cluster Anda tidak memiliki setidaknya empat vCPU, ubah jenis mesin seperti yang dijelaskan dalam Memigrasikan beban kerja ke jenis mesin yang berbeda.

    • Jumlah minimum node bergantung pada jenis mesin Anda. Anthos Service Mesh memerlukan setidaknya delapan vCPU. Jika jenis mesin memiliki empat vCPU, cluster Anda harus memiliki setidaknya dua node. Jika jenis mesin memiliki delapan vCPU, cluster hanya memerlukan satu node. Jika perlu menambahkan node, lihat Mengubah ukuran cluster.

    • Untuk menyiapkan cluster sebelum menginstal Anthos Service Mesh, aktifkan Workload Identity. Workload Identity adalah metode panggilan Google API yang direkomendasikan. Mengaktifkan Workload Identity akan mengubah cara pengamanan panggilan dari beban kerja Anda ke Google API, seperti yang dijelaskan dalam Batasan Workload Identity.

    • Secara opsional, tetapi direkomendasikan, daftarkan cluster di saluran rilis. Sebaiknya Anda mendaftar ke saluran Rilis reguler karena saluran lain mungkin didasarkan pada versi GKE yang tidak didukung dengan Anthos Service Mesh 1.11.8. Untuk mengetahui informasi selengkapnya, lihat Platform yang didukung. Ikuti petunjuk dalam Mendaftarkan cluster yang ada di saluran rilis jika Anda memiliki versi GKE statis.

  • Agar dapat disertakan dalam mesh layanan, port layanan harus diberi nama, dan namanya harus menyertakan protokol port dalam sintaksis berikut: name: protocol[-suffix] dengan tanda kurung siku menunjukkan akhiran opsional yang harus diawali dengan tanda pisah. Untuk mengetahui informasi selengkapnya, lihat Penamaan port layanan.

  • Jika Anda menginstal Anthos Service Mesh di cluster pribadi, Anda harus membuka port 15017 di firewall agar webhook digunakan dengan injeksi file bantuan otomatis agar berfungsi dengan benar. Untuk informasi selengkapnya, lihat Membuka port di cluster pribadi.

  • Jika telah membuat perimeter layanan di organisasi, Anda mungkin perlu menambahkan layanan Mesh CA ke perimeter. Lihat Menambahkan Mesh CA ke perimeter layanan untuk mengetahui informasi selengkapnya.

  • Project Google Cloud hanya dapat memiliki satu mesh yang terkait dengannya.

  • Jika Anda ingin menurunkan batas resource default untuk penampung file bantuan istio-proxy, batas baru Anda harus memungkinkan cukup memori untuk menghindari peristiwa kehabisan memori (OOM).

Memilih certificate authority

Untuk penginstalan dan migrasi baru dari Istio, Anda dapat menggunakan certificate authority Anthos Service Mesh (Mesh CA) atau Citadel Istio sebagai certificate authority (CA) untuk menerbitkan sertifikat TLS (mTLS) bersama.

Kecuali Anda memerlukan CA kustom, seperti HashiCorp Vault, sebaiknya gunakan Mesh CA untuk 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.

Jika bermigrasi dari Istio, Anda dapat memilih untuk bermigrasi ke Mesh CA atau terus menggunakan Citadel CA Istio. Jika Anda memilih Citadel, akan ada sedikit periode nonaktif karena traffic mTLS tidak terganggu selama migrasi. Jika memilih Mesh CA, Anda harus menjadwalkan periode nonaktif untuk migrasi karena root kepercayaan berubah dari Citadel ke Mesh CA. Untuk menyelesaikan migrasi ke root kepercayaan CA Mesh, Anda harus memulai ulang semua Pod di semua namespace. Selama proses ini, Pod lama tidak dapat membuat koneksi mTLS dengan Pod baru.

Sertifikat dari Mesh CA mencakup data berikut tentang layanan aplikasi Anda:

  • Project ID Google Cloud
  • Namespace GKE
  • Nama akun layanan GKE

Mendaftarkan cluster Anda

Anda harus mendaftarkan cluster di fleet project Anda (sebelumnya dikenal sebagai environ). Armada memungkinkan Anda mengatur cluster untuk mempermudah pengelolaan multi-cluster. Dengan mendaftarkan cluster di suatu fleet, Anda dapat mengelompokkan layanan dan infrastruktur lainnya sesuai kebutuhan untuk menerapkan kebijakan yang konsisten. Jika memiliki cluster di project yang berbeda, Anda harus mendaftarkan cluster dengan project host armada, bukan project tempat cluster dibuat. Untuk mengetahui detail tentang cara mendaftarkan cluster, lihat Mendaftarkan cluster ke fleet.

Konsep project host fleet bersifat penting saat Anda menyiapkan cluster untuk mengaktifkan opsi yang diperlukan Anthos Service Mesh. Mesh layanan untuk cluster Anda diidentifikasi dengan nilai yang didasarkan pada nomor project. Saat menyiapkan cluster dari project yang berbeda, Anda harus menggunakan nomor project untuk project host fleet.