Penginstalan project tunggal di GKE

Panduan ini menjelaskan cara menginstal, memigrasikan, atau mengupgrade ke Anthos Service Mesh versi 1.10.6 untuk mesh yang berisi satu atau beberapa cluster GKE yang berada dalam project yang sama. Anda menggunakan skrip yang disediakan Google, install_asm, yang mengonfigurasi project dan cluster Anda, lalu menginstal Anthos Service Mesh menggunakan istioctl install.

Anda dapat menggunakan panduan ini dan skrip untuk kasus penggunaan orientasi berikut:

  • Penginstalan baru Anthos Service Mesh 1.10.6.

  • Mengupgrade dari versi apa pun dan rilis patch 1.7 atau yang lebih baru ke Anthos Service Mesh 1.10.6. Upgrade dari versi sebelumnya tidak didukung.

  • Bermigrasi dari Istio open source ke Anthos Service Mesh. Jika menggunakan Istio 1.6 atau yang lebih lama, Anda harus mengupgrade terlebih dahulu sebelum bermigrasi ke Anthos Service Mesh. Jika memiliki Istio 1.7 atau yang lebih baru, Anda mungkin dapat menggunakan Bermigrasi dari Istio 1.7 atau yang lebih baru ke Anthos Service Mesh dan Mesh CA. 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 Anda meninjau Mempersiapkan migrasi dari Istio untuk merencanakan migrasi Anda.

Prasyarat

Panduan ini mengasumsikan bahwa Anda memiliki hal berikut:

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. Skrip ini mengaktifkan semua Google API lain yang diperlukan untuk 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

  • 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 4 vCPU, seperti e2-standard-4. Jika jenis mesin untuk cluster Anda tidak memiliki minimal 4 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 8 vCPU. Jika jenis mesin memiliki 4 vCPU, cluster Anda harus memiliki setidaknya 2 node. Jika jenis mesin memiliki 8 vCPU, cluster hanya memerlukan 1 node. Jika perlu menambahkan node, lihat Mengubah ukuran cluster.

    • Secara default, skrip akan mengaktifkan Workload Identity di cluster Anda. Workload Identity adalah metode yang direkomendasikan untuk memanggil Google API. Mengaktifkan Workload Identity akan mengubah cara pengamanan panggilan dari beban kerja Anda ke Google API, seperti yang dijelaskan dalam Batasan Workload Identity.

      Jika Anda melakukan penginstalan baru dan berencana menggunakan certificate authority Anthos Service Mesh (Mesh CA), Anda dapat menggunakan kumpulan workload identity Fleet sebagai alternatif untuk identitas workload GKE. Untuk menggunakan CA Mesh dengan kumpulan identitas workload fleet (Pratinjau), Anda harus mengikuti langkah-langkah dalam Mendaftarkan cluster sebelum menjalankan skrip atau menyertakan flag --enable_registration saat menjalankan skrip agar skrip mendaftarkan cluster ke project tempat cluster berada. Untuk contoh menjalankan skrip, lihat Mengaktifkan CA Mesh dengan kumpulan workload identity fleet.

    • 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.10.6. Untuk informasi selengkapnya, lihat Lingkungan 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 menginstal Anthos Service Mesh di cluster pribadi, Anda harus membuka port 15017 di firewall agar webhook dapat digunakan untuk injeksi file bantuan otomatis dan validasi konfigurasi agar berfungsi. 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.

  • Untuk migrasi, istiod harus diinstal di namespace istio-system, dan biasanya begitu.

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

  • Jika Anda ingin mengubah batas resource default untuk penampung file bantuan istio-proxy, nilai baru harus lebih besar dari nilai default untuk menghindari peristiwa kehabisan memori (OOM).

  • Untuk workload Windows Server, Istio tidak didukung. Jika cluster Anda memiliki kumpulan node Linux dan Windows Server, Anda masih dapat menginstal Anthos Service Mesh dan menggunakannya di workload Linux.

Menyesuaikan bidang kontrol

Fitur yang didukung Anthos Service Mesh berbeda-beda di setiap platform. Sebaiknya Anda meninjau Fitur yang didukung untuk mempelajari fitur mana yang didukung di GKE di Google Cloud. Beberapa fitur diaktifkan secara default, dan fitur lainnya dapat diaktifkan secara opsional dengan membuat file overlay IstioOperator. Saat menjalankan skrip install_asm, Anda dapat menentukan opsi --custom_overlay dengan file overlay.

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.

Untuk penginstalan baru Anthos Service Mesh, secara default, skrip akan mengaktifkan Mesh CA.

Jika bermigrasi dari Istio, Anda dapat memilih untuk bermigrasi ke Mesh CA atau terus menggunakan Istio CA. Bermigrasi ke Mesh CA dari Istio CA memerlukan migrasi root of trust. Anda memiliki opsi berikut saat bermigrasi ke Mesh CA:

  • Menjadwalkan periode nonaktif untuk migrasi. Secara operasional, ini adalah opsi yang paling mudah, tetapi karena traffic mTLS terganggu selama migrasi, Anda perlu menjadwalkan periode nonaktif. Untuk mengetahui contoh penggunaan skrip dalam kasus ini, lihat Bermigrasi ke Mesh CA dengan periode nonaktif.

  • Distribusikan root kepercayaan baru, lalu migrasikan ke Mesh CA. Dengan pendekatan ini, traffic mTLS tidak terganggu sehingga Anda tidak perlu menjadwalkan periode nonaktif. Namun, proses migrasi memiliki banyak langkah lainnya. Untuk informasi selengkapnya, lihat Bermigrasi ke Mesh CA.

Jika Anda memilih untuk terus menggunakan Istio CA saat bermigrasi ke Anthos Service Mesh, traffic mTLS tidak akan terganggu karena root CA tidak berubah. Meskipun jalur migrasi ini tidak mengganggu workload yang ada, Anda dibatasi untuk menggunakan bidang kontrol dalam cluster. Bidang kontrol yang dikelola Google memerlukan Mesh CA.

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 ke fleet untuk mendapatkan akses ke antarmuka pengguna terpadu di konsol Google Cloud. Armada menyediakan cara terpadu untuk melihat dan mengelola cluster dan beban kerjanya, termasuk cluster di luar Google Cloud.

Anda dapat mengikuti langkah-langkah dalam artikel Mendaftarkan cluster atau menyertakan flag --enable_registration saat menjalankan skrip agar skrip dapat mendaftarkan cluster ke project tempat cluster berada.

Menginstal alat yang diperlukan

Anda dapat menjalankan skrip ini di Cloud Shell atau di mesin lokal yang menjalankan Linux. Cloud Shell menginstal semua alat yang diperlukan.

Cloud Shell

Cloud Shell menyediakan mesin virtual (VM) Compute Engine g1-small yang menjalankan sistem operasi Linux berbasis Debian. Keuntungan menggunakan Cloud Shell adalah:

  • Cloud Shell mencakup gcloud, kubectl, kpt, dan alat command line lain yang Anda butuhkan.

  • Direktori $HOME Cloud Shell Anda memiliki ruang penyimpanan persisten sebesar 5 GB.

  • Anda dapat memilih editor teks:

    • Editor kode, yang dapat Anda akses dengan mengklik di bagian atas jendela Cloud Shell.

    • Emacs, Vim, atau Nano, yang Anda akses dari command line di Cloud Shell.

Untuk menggunakan Cloud Shell:

  1. Buka Konsol Google Cloud.
  2. Pilih project Google Cloud Anda.
  3. Klik tombol Activate Cloud Shell di bagian atas jendela Konsol Google Cloud.

    Konsol Google Cloud Platform

    Sesi Cloud Shell akan terbuka di dalam frame baru di bagian bawah Konsol Google Cloud dan menampilkan prompt command line.

    Sesi Cloud Shell

  4. Update komponen:

    gcloud components update
    

    Perintah ini merespons dengan output yang mirip dengan berikut ini:

    ERROR: (gcloud.components.update)
    You cannot perform this action because the gcloud CLI component manager
    is disabled for this installation. You can run the following command
    to achieve the same result for this installation:
    
    sudo apt-get update && sudo apt-get --only-upgrade install ...
  5. Salin perintah long dan tempel untuk mengupdate komponen.

Komputer Linux lokal

  1. Pastikan Anda telah menginstal alat berikut:

  2. Lakukan autentikasi dengan gcloud CLI:

    gcloud auth login
    
  3. Update komponen:

    gcloud components update
    
  4. Pastikan git berada di jalur Anda sehingga kpt dapat menemukannya.

Mendownload skrip

Bagian ini menjelaskan cara mendownload skrip, menetapkan parameter yang diperlukan dan opsional, serta menjalankan skrip. Untuk penjelasan mendetail tentang fungsi skrip, lihat Memahami skrip.

  1. Download versi skrip yang menginstal Anthos Service Mesh 1.10.6 ke direktori kerja saat ini:

    curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.10 > install_asm
    
  2. Buat agar skrip dapat dieksekusi:

    chmod +x install_asm
    

Langkah selanjutnya