Panduan ini menjelaskan cara menginstal, memigrasikan, atau mengupgrade ke Anthos Service Mesh versi 1.7.8 untuk mesh yang berisi satu atau beberapa cluster GKE yang berada dalam project yang sama. Anda menggunakan skrip yang disediakan Google, yang mengonfigurasi project dan cluster Anda, lalu menginstal Anthos Service Mesh.
Anda dapat menggunakan panduan ini dan skrip untuk kasus penggunaan berikut:
Penginstalan baru Anthos Service Mesh.
Mengupgrade dari Anthos Service Mesh versi patch 1.6 atau 1.7. Upgrade dari versi sebelumnya tidak didukung.
Bermigrasi dari Istio 1.6 atau 1.7 open source ke Anthos Service Mesh. Migrasi dari Istio versi sebelumnya tidak didukung.
Melakukan migrasi dari add-on Istio versi 1.6 di GKE ke Anthos Service Mesh. Sebelum dapat melakukan migrasi ke Anthos Service Mesh, Anda harus Mengupgrade ke Istio 1.6 dengan Operator. Untuk mengetahui langkah-langkah migrasi lengkap dari add-on ini, lihat Bermigrasi ke Anthos Service Mesh dalam dokumentasi Istio di GKE.
Untuk mesh multi-cluster tempat cluster berada di project yang berbeda, lihat Penginstalan dan migrasi multi-cluster/multi-project untuk GKE.
Sebelum memulai
Tutorial ini mengasumsikan bahwa Anda memiliki hal berikut:
- Project Google Cloud
- Akun Penagihan Cloud
- Cluster GKE yang memenuhi persyaratan.
Jika Anda bermigrasi dari Istio, pastikan untuk meninjau Bersiap bermigrasi dari Istio.
Perbedaan Anthos dan Anthos Service Mesh
Pelanggan GKE Enterprise, pastikan untuk mengaktifkan GKE Enterprise API.
Jika bukan pelanggan GKE Enterprise, Anda masih dapat menginstal Anthos Service Mesh, tetapi fitur dan elemen UI tertentu di Google Cloud Console hanya tersedia untuk pelanggan GKE Enterprise. Untuk mengetahui informasi tentang hal yang tersedia bagi pelanggan dan non-pelanggan, lihat perbedaan UI GKE Enterprise dan Anthos Service Mesh. Untuk mengetahui informasi tentang harga Anthos Service Mesh bagi non-pelanggan, lihat Harga.
Skrip ini memungkinkan semua Google API yang diperlukan lainnya untuk Anda.
Persyaratan
Cluster GKE Anda harus memenuhi persyaratan berikut:
Jenis mesin yang memiliki minimal empat vCPU, seperti
e2-standard-4
. Jika jenis mesin untuk cluster Anda tidak memiliki minimal empat vCPU, ubah jenis mesin seperti yang dijelaskan dalam Memigrasikan workload ke berbagai jenis mesin.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 Anda perlu menambahkan node, lihat Mengubah ukuran cluster.
Skrip ini akan mengaktifkan Workload Identity di cluster Anda. Workload Identity adalah metode panggilan yang direkomendasikan untuk memanggil Google API. Jika Workload Identity diaktifkan, panggilan dari workload Anda ke Google API akan diamankan, seperti yang dijelaskan dalam Batasan Workload Identity.
Opsional, tetapi direkomendasikan, daftarkan cluster di saluran rilis. Sebaiknya Anda mendaftar ke saluran rilis reguler karena saluran lainnya mungkin didasarkan pada versi GKE yang tidak didukung dengan Anthos Service Mesh 1.7.8. Untuk mengetahui informasi selengkapnya, lihat Lingkungan yang didukung. Ikuti petunjuk dalam Mendaftarkan cluster yang ada di saluran rilis jika Anda memiliki versi GKE statis.
Agar 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 hubung. Untuk informasi selengkapnya, lihat Penamaan port layanan.Jika 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 mengetahui 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 CA Mesh ke perimeter layanan untuk mengetahui informasi selengkapnya.
Untuk migrasi,
istiod
harus diinstal di namespaceistio-system
, yang biasanya seperti itu.
Pembatasan
Project Google Cloud hanya dapat memiliki satu mesh yang terkait dengannya.
Memilih certificate authority
Untuk penginstalan dan migrasi baru, Anda dapat menggunakan
certificate authority Anthos Service Mesh (Mesh CA) atau
Citadel
(kini tergabung dalam istiod
) sebagai certificate authority (CA) untuk menerbitkan
sertifikat TLS (mTLS).
Kami biasanya merekomendasikan penggunaan 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 kasus saat Anda mungkin ingin mempertimbangkan untuk menggunakan Citadel, seperti berikut:
- Jika Anda memiliki CA kustom.
Jika Anda bermigrasi dari Istio.
Jika Anda memilih Citadel, periode nonaktif tidak akan terjadi 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 of trust 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 menyertakan data berikut tentang layanan aplikasi Anda:
- Project ID Google Cloud
- Namespace GKE
- Nama akun layanan GKE
Mempersiapkan migrasi atau upgrade
Jika Anda bermigrasi dari Istio, pastikan untuk meninjau Bersiap bermigrasi dari Istio.
Jika menyesuaikan penginstalan sebelumnya, Anda memerlukan penyesuaian yang sama saat melakukan migrasi atau mengupgrade 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 --custom_overlay
dengan file konfigurasi saat menjalankan skrip.
Menginstal alat yang diperlukan
Anda dapat menjalankan skrip ini di Cloud Shell atau di mesin lokal yang menjalankan Linux.
Untuk menjalankan skrip secara lokal:
Pastikan Anda telah menginstal alat berikut:
- Google Cloud CLI
- Alat command line standar:
awk
,curl
,grep
,sed
,sha256sum
, dantr
- git
- kubectl
- jq
Autentikasi dengan gcloud CLI:
gcloud auth login
Update komponen:
gcloud components update
Pastikan
git
ada di jalur Anda agarkpt
dapat menemukannya.
Menjalankan skrip
Bagian ini menjelaskan cara mendownload skrip, menetapkan parameter yang diperlukan dan opsional, serta menjalankan skrip. Untuk mendapatkan penjelasan mendetail tentang fungsi skrip, lihat Memahami skrip.
Download versi skrip yang menginstal Anthos Service Mesh 1.7.8 ke direktori kerja saat ini:
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.7 > install_asm
Meskipun Anda mendownload skrip dari lokasi Cloud Source Repositories yang aman, skrip tersebut juga tersedia di GitHub di repositori anthos-service-mesh-packages sehingga Anda dapat melihat fungsinya sebelum mendownloadnya. Versi skrip
install_asm
di cabangrelease-1.7-asm
menginstal Anthos Service Mesh 1.7.8.Download file SHA-256 ke direktori kerja saat ini:
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.7.sha256 > install_asm.sha256
Dengan kedua file berada dalam direktori yang sama, verifikasi download:
sha256sum -c --ignore-missing install_asm.sha256
Jika verifikasi berhasil, perintah akan menghasilkan:
install_asm: OK
Untuk kompatibilitas, file
install_asm.sha256
menyertakan checksum dua kali untuk memungkinkan nama versi skrip apa pun diganti menjadiinstall_asm
. Jika Anda mendapatkan error bahwa--ignore-missing
tidak ada, jalankan kembali perintah sebelumnya tanpa flag--ignore-missing
.Jadikan skrip dapat dieksekusi:
chmod +x install_asm
Tetapkan opsi dan tentukan tanda untuk menjalankan skrip. Anda selalu menyertakan opsi berikut:
project_id
,cluster_name
,cluster_location
, danmode
. Bergantung padamode
, Anda mungkin perlu menyertakan opsica
.- Opsi
project_id
,cluster_name
, dancluster_location
mengidentifikasi cluster tempat untuk menginstal Anthos Service Mesh. mode
adalahinstall
,migrate
, atauupgrade
.ca
menentukan Certificate Authority kemesh_ca
ataucitadel
.
Bagian berikut memberikan contoh umum untuk menjalankan skrip. Untuk deskripsi lengkap tentang argumen skrip, lihat Opsi dan flag.
- Opsi
Untuk menyelesaikan penyiapan Anthos Service Mesh, Anda harus mengaktifkan injeksi file bantuan otomatis dan men-deploy atau men-deploy ulang workload.
Contoh
Bagian ini menunjukkan contoh menjalankan skrip di setiap mode
dan beberapa argumen tambahan yang mungkin berguna bagi Anda. Lihat menu navigasi di sebelah kanan
untuk melihat daftar contoh.
Hanya validasi
Contoh berikut menunjukkan cara menjalankan skrip dengan opsi --only_validate
. Dengan opsi ini, skrip tidak membuat perubahan apa pun pada cluster Anda, dan tidak menginstal Anthos Service Mesh. Skrip ini memvalidasi bahwa:
- Lingkungan Anda memiliki alat yang diperlukan.
- Anda memiliki izin yang diperlukan pada project yang ditentukan.
- Cluster memenuhi persyaratan minimum.
- Project ini telah mengaktifkan semua Google API yang diperlukan.
Secara default, skrip akan mendownload dan mengekstrak file penginstalan serta
mendownload paket konfigurasi
asm
dari GitHub ke direktori sementara. Sebelum keluar, skrip akan menghasilkan pesan yang memberikan nama direktori sementara.
Anda dapat menentukan direktori yang sudah ada untuk download dengan opsi --output_dir DIR_PATH
. Opsi --output_dir
memudahkan Anda menggunakan alat command line istioctl
jika memerlukannya. Selain itu, file konfigurasi untuk mengaktifkan fitur opsional disertakan dalam direktori asm/istio/options
.
Jalankan perintah berikut untuk memvalidasi konfigurasi Anda serta mendownload file penginstalan dan paket asm
ke direktori OUTPUT_DIR
:
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode install \ --output_dir DIR_PATH \ --only_validate
Jika berhasil, skrip akan menghasilkan output berikut:
./install_asm \ install_asm: Setting up necessary files... install_asm: Creating temp directory... install_asm: Generating a new kubeconfig... install_asm: Checking installation tool dependencies... install_asm: Downloading ASM.. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 57.0M 100 57.0M 0 0 30.6M 0 0:00:01 0:00:01 --:--:-- 30.6M install_asm: Downloading ASM kpt package... fetching package /asm from https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages to asm install_asm: Checking for project PROJECT_ID... install_asm: Confirming cluster information... install_asm: Confirming node pool requirements... install_asm: Fetching/writing GCP credentials to kubeconfig file... Fetching cluster endpoint and auth data. kubeconfig entry generated for cluster-1. install_asm: Checking Istio installations... install_asm: Checking required APIs... install_asm: Successfully validated all requirements to install ASM from this computer.
Jika salah satu pengujian gagal dalam validasi, skrip akan menampilkan pesan error. Misalnya, jika project Anda belum mengaktifkan semua Google API yang diperlukan, Anda akan melihat error berikut:
ERROR: One or more APIs are not enabled. Please enable them and retry, or re-run the script with the '--enable_apis' flag to allow the script to enable them on your behalf.
Penginstalan
Perintah berikut menjalankan skrip untuk penginstalan baru, mengaktifkan
Mesh CA (CA default untuk penginstalan baru, sehingga Anda tidak memerlukan
opsi ca
dalam kasus ini), dan mengizinkan skrip untuk mengaktifkan Google API
yang diperlukan.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode install \ --enable_apis
Penginstalan dengan Citadel sebagai CA
Bagian ini menjelaskan cara:
- Buat sertifikat dan kunci yang digunakan Anthos Service Mesh untuk menandatangani workload Anda.
- Jalankan skrip untuk penginstalan dan aktifkan Citadel sebagai CA.
Sebaiknya Anda menggunakan Citadel sebagai CA hanya jika Anda memerlukan CA kustom.
Untuk keamanan terbaik, sebaiknya pertahankan root CA offline dan gunakan CA subordinate untuk menerbitkan CA bagi setiap cluster. Untuk informasi selengkapnya, lihat Mencolokkan Sertifikat CA. Dalam konfigurasi ini, semua beban kerja di mesh layanan menggunakan CA root yang sama. Setiap CA Anthos Service Mesh menggunakan kunci dan sertifikat penandatanganan CA perantara, yang ditandatangani oleh root CA. Jika beberapa CA berada dalam mesh, hal ini akan menetapkan hierarki kepercayaan di antara CA. Anda dapat mengulangi langkah-langkah ini untuk menyediakan sertifikat dan kunci untuk sejumlah otoritas sertifikat.
Buat direktori untuk sertifikat dan kunci:
mkdir -p certs && \ pushd certs
Buat root certificate dan kunci:
make -f ../tools/certs/Makefile.selfsigned.mk root-ca
Tindakan ini menghasilkan file berikut:
- root-cert.pem: root certificate
- root-key.pem: kunci root
- root-ca.conf: konfigurasi untuk openssl guna membuat root certificate
- root-cert.csr: CSR untuk root certificate
Buat kunci dan sertifikat perantara:
make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts
Tindakan ini menghasilkan file ini dalam direktori bernama
cluster1
:- ca-cert.pem: sertifikat perantara
- ca-key.pem: kunci perantara
- cert-chain.pem: rantai sertifikat yang digunakan istiod
- root-cert.pem: root certificate
Jika Anda melakukan langkah-langkah ini menggunakan komputer offline, salin direktori yang dihasilkan ke komputer tempat Anda menjalankan skrip.
Jalankan skrip dan sertakan file yang Anda buat sebelumnya untuk sertifikat dan kunci.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode install \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH \ --enable_all
Penginstalan dengan file overlay
File overlay adalah file YAML yang berisi resource kustom (CR) IstioOperator
yang Anda teruskan ke install_asm
untuk mengonfigurasi bidang kontrol. Anda dapat mengganti konfigurasi bidang kontrol default dan mengaktifkan fitur opsional dengan meneruskan file YAML ke install_asm
. Anda dapat menambahkan lapisan pada lebih banyak overlay, dan setiap file overlay mengganti konfigurasi pada lapisan sebelumnya.
Jika Anda menentukan lebih dari satu CR dalam file YAML, install_asm
akan membagi file tersebut menjadi beberapa file YAML sementara, satu untuk setiap CR. Skrip ini membagi CR menjadi beberapa file terpisah karena istioctl install
hanya menerapkan CR pertama dalam file YAML yang berisi lebih dari satu CR.
Contoh berikut melakukan penginstalan dan menyertakan file overlay untuk
menyesuaikan konfigurasi bidang kontrol. Pada perintah berikut, ubah OVERLAY_FILE
menjadi nama file YAML.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode install \ --enable_apis \ --custom_overlay OVERLAY_FILE
Penginstalan dengan opsi
Contoh berikut melakukan penginstalan dan menyertakan file egressgateways.yaml
dari paket asm
, yang mengaktifkan gateway keluar. Perhatikan bahwa Anda tidak menyertakan ekstensi .yaml
. Skrip ini akan mengambil file sehingga Anda tidak perlu
mendownload paket asm
terlebih dahulu.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode install \ --enable_apis \ --option egressgateways
Anda dapat menggunakan --option
untuk mengaktifkan fitur opsional. Jika Anda
perlu memodifikasi salah satu file dalam direktori asm/istio/options
dalam paket asm
, download paket asm
, buat perubahan,
dan sertakan file tersebut menggunakan --custom_overlay
.
Untuk mendownload paket asm
ke direktori kerja saat ini sehingga Anda dapat
melakukan modifikasi pada file:
kpt pkg get \
https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.7-asm asm
Jika Anda menjalankan contoh Only validation tempat Anda menetapkan
opsi --output_dir
, file konfigurasi akan berada di direktori output
yang ditentukan di bagian asm/istio/options
.
Migrasi dari Istio
Jika bermigrasi dari Istio dengan Citadel sebagai CA, Anda dapat terus menggunakan Citadel setelah bermigrasi ke Anthos Service Mesh. Perintah berikut menjalankan skrip untuk migrasi dan mengaktifkan Citadel sebagai CA. Migrasi ini hanya men-deploy bidang kontrol. Hal ini tidak mengubah CA root dan tidak mengganggu beban kerja Anda yang ada.
./install_asm \ -p PROJECT_ID \ -n CLUSTER_NAME \ -l CLUSTER_LOCATION \ -m migrate \ -c citadel \ --enable_apis
Bermigrasi dengan file overlay
File overlay adalah file YAML yang berisi resource kustom (CR) IstioOperator
yang Anda teruskan ke install_asm
untuk mengonfigurasi bidang kontrol. Anda dapat mengganti konfigurasi bidang kontrol default dan mengaktifkan fitur opsional dengan meneruskan file YAML ke install_asm
. Anda dapat menambahkan lapisan pada lebih banyak overlay, dan setiap file overlay mengganti konfigurasi pada lapisan sebelumnya.
Jika Anda menentukan lebih dari satu CR dalam file YAML, install_asm
akan membagi file tersebut menjadi beberapa file YAML sementara, satu untuk setiap CR. Skrip ini membagi CR menjadi beberapa file terpisah karena istioctl install
hanya menerapkan CR pertama dalam file YAML yang berisi lebih dari satu CR.
Contoh berikut melakukan migrasi dan menyertakan file overlay untuk menyesuaikan
konfigurasi bidang kontrol. Pada perintah berikut, ubah OVERLAY_FILE
menjadi nama file YAML.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode migrate \ --ca citadel \ --enable_all \ --custom_overlay OVERLAY_FILE
Mengupgrade
Perintah berikut menjalankan skrip untuk melakukan upgrade. Skrip ini tidak memungkinkan
Anda beralih ke CA lain, jadi Anda tidak perlu menyertakan opsi ca
.
./install_asm \ -p PROJECT_ID \ -n CLUSTER_NAME \ -l CLUSTER_LOCATION \ -m upgrade \ --enable_apis
Meningkatkan versi dengan file overlay
File overlay adalah file YAML yang berisi resource kustom (CR) IstioOperator
yang Anda teruskan ke install_asm
untuk mengonfigurasi bidang kontrol. Anda dapat mengganti konfigurasi bidang kontrol default dan mengaktifkan fitur opsional dengan meneruskan file YAML ke install_asm
. Anda dapat menambahkan lapisan pada lebih banyak overlay, dan setiap file overlay mengganti konfigurasi pada lapisan sebelumnya.
Jika Anda menentukan lebih dari satu CR dalam file YAML, install_asm
akan membagi file tersebut menjadi beberapa file YAML sementara, satu untuk setiap CR. Skrip ini membagi CR menjadi beberapa file terpisah karena istioctl install
hanya menerapkan CR pertama dalam file YAML yang berisi lebih dari satu CR.
Contoh berikut melakukan upgrade dan menyertakan file overlay untuk menyesuaikan konfigurasi bidang kontrol. Pada perintah berikut, ubah OVERLAY_FILE
menjadi nama file YAML.
./install_asm \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --mode upgrade \ --enable_all \ --custom_overlay OVERLAY_FILE
Opsi dan tanda
Bagian ini menjelaskan argumen yang tersedia untuk skrip.
Opsi
-p|--project_id CLUSTER_PROJECT_ID
- Project ID tempat cluster dibuat.
-n|--cluster_name CLUSTER_NAME
- Nama cluster.
-l|--cluster_location CLUSTER_LOCATION
- Zona (untuk cluster zona tunggal) atau region (untuk cluster regional) tempat cluster dibuat.
-m|--mode {install|migrate|upgrade}
- Masukkan
install
jika Anda akan menginstal Anthos Service Mesh. Masukkanmigrate
jika Anda bermigrasi dari Istio. Masukkanupgrade
untuk mengupgrade penginstalan Anthos Service Mesh yang sudah ada ke versi baru. -c|--ca {mesh_ca|citadel}
- Untuk penginstalan, jika ingin menggunakan Mesh CA, Anda
tidak perlu menyertakan opsi ini karena skrip ditetapkan secara default ke
Mesh CA. Untuk upgrade, Anda tidak perlu menyertakan opsi ini
karena skrip tidak mengizinkan Anda mengubah CA. Untuk migrasi, tentukan
citadel
ataumesh_ca
. Jika Anda dapat menjadwalkan periode nonaktif untuk migrasi, sebaiknya gunakanmesh_ca
. Untuk mengetahui informasi selengkapnya tentang CA yang akan digunakan, lihat Memilih certificate authority. Untuk opsi tambahan yang harus Anda tentukan saat menggunakan Citadel, lihat Opsi untuk sertifikat kustom untuk Citadel. --co|--custom_overlay YAML_FILE
- Nama file YAML resource kustom (CR)
IstioOperator
untuk mengaktifkan fitur yang tidak diaktifkan secara default. Skrip harus dapat menemukan file YAML, sehingga file tersebut harus berada di direktori yang sama dengan skrip, atau Anda dapat menentukan jalur relatif. Untuk menambahkan beberapa file, tentukan--co|--custom_overlay
dan nama file, misalnya:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml
-o|--option OPTION_FILE
- Nama file YAML dari paket
anthos-service-mesh
yang berisi CRIstioOperator
untuk mengaktifkan fitur opsional. Saat menyertakan salah satu file ini, Anda tidak perlu mendownload paketanthos-service-mesh
terlebih dahulu, dan tidak menetapkan ekstensi.yaml
. Jika Anda perlu mengubah salah satu file, download paketanthos-service-mesh
, buat perubahan, dan gunakan opsi--custom_overlay
. Untuk menambahkan beberapa file, tentukan-o|--option
dan nama file, misalnya:-o option_file1 -o option_file2 -o option_file3
-s|--service_account ACCOUNT
- Nama akun layanan yang digunakan untuk menginstal Anthos Service Mesh. Jika tidak
ditentukan, akun pengguna aktif dalam konfigurasi
gcloud
saat ini akan digunakan. Jika Anda perlu mengubah akun pengguna aktif, jalankan gcloud auth login. -k|--key_file FILE_PATH
- File kunci untuk akun layanan. Hapus opsi ini jika Anda tidak menggunakan akun layanan.
-D|--output_dir DIR_PATH
- Jika tidak ditentukan, skrip akan membuat direktori sementara tempat
mendownload file dan konfigurasi yang diperlukan untuk menginstal Anthos Service Mesh.
Tentukan flag
--output-dir
untuk menentukan direktori yang sudah ada yang akan digunakan. Setelah selesai, direktori yang ditentukan akan berisiasm
dan subdirektoriistio-1.7.8-asm.10
. Direktoriasm
berisi konfigurasi untuk penginstalan. Direktoriistio-1.7.8-asm.10
berisi konten yang diekstrak dari file penginstalan, yang berisiistioctl
, sampel, dan manifes.
Flag
-e|--enable_apis
- Izinkan skrip untuk mengaktifkan Google API yang diperlukan Anthos Service Mesh. Tanpa flag ini, skrip akan keluar jika API yang diperlukan belum diaktifkan. Untuk daftar API yang diaktifkan skrip, lihat set_up_project.
-v|--verbose
- Mencetak perintah sebelum dan sesudah eksekusi.
--dry_run
- Mencetak perintah, tetapi tidak menjalankannya.
--only_validate
- Jalankan validasi, tetapi jangan instal Anthos Service Mesh.
--print_config
- Alih-alih menginstal Anthos Service Mesh, cetak semua YAML yang telah dikompilasi ke output standar (stdout). Semua output lainnya ditulis ke error standar (stderr), meskipun biasanya diteruskan ke stdout. Skrip ini melewati semua validasi dan penyiapan saat Anda menentukan flag ini.
--disable_canonical_service
- Secara default, skrip men-deploy pengontrol Layanan Kanonis ke cluster Anda. Jika Anda tidak ingin skrip men-deploy pengontrol,
tentukan
--disable_canonical_service
. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonis. -h|--help
- Tampilkan pesan bantuan yang menjelaskan opsi serta tanda, lalu keluar.
--version
- Cetak versi
install_asm
dan keluar. Jika perintah tidak menghasilkan versi, download versi terbaruinstall_asm_1.7
.
Opsi untuk sertifikat kustom untuk Citadel
Jika Anda menentukan citadel
dan menggunakan CA kustom, sertakan opsi
berikut:
--ca_cert FILE_PATH
: Intermediate certificate--ca_key FILE_PATH
: Kunci untuk intermediate certificate--root_cert FILE_PATH
: Root certificate--cert_chain FILE_PATH
: Rantai sertifikat
Untuk informasi selengkapnya, lihat Menambahkan Sertifikat CA yang sudah ada.
Men-deploy dan men-deploy ulang workload
Penginstalan belum selesai sampai Anda mengaktifkan injeksi proxy sidecar otomatis (injeksi otomatis).
Untuk penginstalan baru, Anda harus mengaktifkan injeksi otomatis dan memulai ulang Pod untuk workload apa pun yang sedang berjalan di cluster sebelum Anda menginstal Anthos Service Mesh.
Migrasi dan upgrade mengikuti proses upgrade bidang kontrol ganda (disebut sebagai "upgrade canary" dalam dokumentasi Istio). Dengan upgrade bidang kontrol ganda, skrip menginstal versi baru
istiod
bersama denganistiod
yang ada. Kemudian, Anda memindahkan beberapa beban kerja ke versi baru. Proses ini memungkinkan Anda memantau efek versi baru dengan sebagian kecil beban kerja sebelum memigrasikan semua traffic ke versi baru.Sebelum men-deploy workload baru, pastikan untuk mengaktifkan injeksi otomatis agar Anthos Service Mesh dapat memantau dan mengamankan traffic.
Untuk mengaktifkan injeksi otomatis, dapatkan label revisi yang telah diterapkan skrip ke
istiod
dan beri label namespace Anda dengan label revisi. Bagian berikut
memberikan detailnya.
Mendapatkan label revisi
Skrip ini menambahkan label revisi dalam format istio.io/rev=asm-178-10
ke istiod
. Untuk mengaktifkan injeksi otomatis, tambahkan label revisi yang cocok ke namespace Anda. Label revisi digunakan oleh webhook injektor file bantuan untuk
mengaitkan file bantuan yang dimasukkan dengan revisi istiod
tertentu. Setelah menambahkan
label, semua Pod yang ada dalam namespace harus dimulai ulang agar file bantuan
dapat dimasukkan.
Setel konteks saat ini untuk
kubectl
:gcloud container clusters get-credentials CLUSTER_NAME \ --project=PROJECT_ID
Tampilkan label di
istiod
untuk mendapatkan label revisi yang ditetapkan oleh skrip:kubectl -n istio-system get pods -l app=istiod --show-labels
Output dari perintah ini mirip dengan berikut ini. Perhatikan bahwa output untuk penginstalan, migrasi, dan upgrade baru sedikit berbeda. Contoh output berikut adalah dari migrasi.
NAME READY STATUS RESTARTS AGE LABELS istiod-7744bc8dd7-qhlss 1/1 Running 0 49m app=istiod,istio.io/rev=default,istio=pilot,pod-template-hash=7744bc8dd7 istiod-asm-178-10-85d86774f7-flrt2 1/1 Running 0 26m app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=85d86774f7 istiod-asm-178-10-85d86774f7-tcwtn 1/1 Running 0 26m app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=85d86774f7
Pada output, di bawah kolom
LABELS
, catat nilai label revisiistiod
, yang mengikuti awalanistio.io/rev=
. Dalam contoh ini, nilainya adalah asm-178-10, tetapi Anda mungkin memiliki nilai yang berbeda.Untuk upgrade dan migrasi, catat juga nilai dalam label revisi untuk versi
istiod
lama. Anda memerlukan metode ini untuk menghapus versi lamaistiod
saat menyelesaikan migrasi atau upgrade. Dalam contoh output, nilai dalam label revisi untukistiod
versi lama adalahdefault
, tetapi Anda mungkin memiliki nilai yang berbeda.
Mengaktifkan injeksi otomatis
Ikuti langkah-langkah berikut untuk penginstalan, migrasi, dan upgrade baru guna mengaktifkan injeksi otomatis.
Dapatkan nilai di label revisi untuk
istiod
.Tambahkan label revisi ke namespace dan hapus label
istio-injection
. Dalam perintah berikut, ubahREVISION
menjadi nilai yang cocok dengan revisi padaistiod
.kubectl label namespace NAMESPACE istio.io/rev=REVISION istio-injection- --overwrite
Mulai ulang Pod untuk memicu injeksi ulang.
kubectl rollout restart deployment -n NAMESPACE
Pastikan Pod Anda dikonfigurasi untuk mengarah ke versi baru
istiod
.kubectl get pods -n NAMESPACE -l istio.io/rev=REVISION
Uji aplikasi Anda untuk memverifikasi bahwa beban kerja berfungsi dengan benar.
Jika Anda memiliki workload di namespace lain, ulangi langkah-langkah untuk memberi label namespace dan memulai ulang Pod.
Untuk migrasi dan upgrade:
Jika Anda yakin aplikasi Anda berfungsi seperti yang diharapkan, lanjutkan ke bagian berikutnya untuk menyelesaikan transisi ke versi baru
istiod
.Jika ada masalah dengan aplikasi Anda, ikuti langkah-langkah dalam rollback ke versi sebelumnya.
Selesaikan transisi
Untuk migrasi dan upgrade, Anda harus menghapus istiod
versi lama. Jika
Anda yakin aplikasi Anda berfungsi seperti yang diharapkan, hapus bidang kontrol
lama untuk menyelesaikan transisi ke versi baru.
Dapatkan nilai di label revisi untuk
istiod
versi lama.Hapus versi lama
istiod
. Dalam perintah berikut, gantiOLD_REVISION
dengan revisi dari langkah sebelumnya.kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-OLD_REVISION -n istio-system --ignore-not-found=true
Rollback ke versi sebelumnya
Untuk migrasi dan upgrade, jika Anda mengalami masalah saat menguji
aplikasi dengan versi baru istiod
, ikuti langkah-langkah berikut untuk melakukan rollback ke
versi sebelumnya:
Beri label ulang namespace Anda untuk mengaktifkan injeksi otomatis dengan versi
istiod
sebelumnya. Perintah yang digunakan bergantung pada apakah Anda menggunakan label revisi atauistio-injection=enabled
dengan versi sebelumnya.Jika Anda menggunakan label revisi untuk injeksi otomatis:
kubectl label namespace NAMESPACE istio.io/rev=OLD_REVISION --overwrite
Jika Anda menggunakan
istio-injection=enabled
:kubectl label namespace NAMESPACE istio.io/rev- istio-injection=enabled --overwrite
Mulai ulang Pod untuk memicu injeksi ulang sehingga proxy memiliki versi sebelumnya:
kubectl rollout restart deployment -n NAMESPACE
Deploy ulang
istio-ingressgateway
versi sebelumnya:kubectl -n istio-system rollout undo deploy istio-ingressgateway
Hapus
istiod
baru:kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-REVISION -n istio-system --ignore-not-found=true
Jika Anda tidak menyertakan flag
--disable_canonical_service
, skrip akan mengaktifkan pengontrol Layanan Kanonis. Ikuti langkah-langkah di bagian Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonis untuk menonaktifkannya.
Menginstal ulang versi yang sama
Skrip install_asm
memanggil istioctl install
guna men-deploy komponen bidang kontrol Anthos Service Mesh (istiod
dan istio-ingressgateway
) untuk penginstalan, upgrade, dan migrasi Istio. Karena skrip menggunakan istioctl install
, jika
Anda perlu menyesuaikan Anthos Service Mesh untuk
mengaktifkan fitur opsional, Anda
harus menginstal ulang bidang kontrol dengan konfigurasi baru.
Perubahan telah dilakukan pada skrip install_asm
sehingga Anda dapat menginstal ulang
versi Anthos Service Mesh yang sama. Saat Anda menginstal ulang versi yang sama untuk mengaktifkan
fitur opsional, konfigurasi bidang kontrol yang ada akan ditimpa.
Oleh karena itu, jika menyesuaikan penginstalan yang ada, Anda harus
menyertakan opsi --option
dan/atau --custom_overlay
yang sama
dari penginstalan sebelumnya serta opsi --option
dan/atau --custom_overlay
untuk fitur baru yang ingin diaktifkan.
Perhatikan bahwa jika Anda mengaktifkan Cloud Trace atau mengubah setelan pelacakan, Anda juga perlu men-deploy ulang beban kerja sehingga proxy file bantuan dimasukkan ulang dengan konfigurasi bidang kontrol yang diperbarui.
Saat menginstal ulang versi yang sama, Anda akan menentukan --mode install
seperti untuk
penginstalan. Untuk mengetahui informasi tentang penginstalan menggunakan skrip, lihat
Menginstal Anthos Service Mesh.
Jika Anda menentukan lebih dari satu resource kustom (CR) IstioOperator
dalam file YAML, install_asm
akan membagi file tersebut menjadi beberapa file YAML sementara, satu untuk setiap CR. Skrip ini membagi CR menjadi beberapa file terpisah karena istioctl install
hanya menerapkan CR pertama dalam file YAML yang berisi lebih dari satu CR.
Melihat dasbor Anthos Service Mesh
Setelah workload Anda di-deploy di cluster dengan proxy file bantuan dimasukkan, Anda dapat menjelajahi halaman Anthos Service Mesh di Konsol Google Cloud untuk melihat semua fitur kemampuan observasi yang ditawarkan Anthos Service Mesh. Perlu diperhatikan bahwa perlu waktu sekitar satu atau dua menit agar data telemetri ditampilkan di Konsol Google Cloud setelah Anda men-deploy workload.
Akses ke Anthos Service Mesh di Konsol Google Cloud dikontrol oleh Identity and Access Management (IAM). Untuk mengakses halaman Anthos Service Mesh, Project Owner harus memberi pengguna peran Project Editor atau Viewer, atau peran yang lebih ketat seperti yang dijelaskan dalam Mengontrol akses ke Anthos Service Mesh di Konsol Google Cloud.
Di konsol Google Cloud, buka Anthos Service Mesh.
Pilih project Google Cloud dari menu drop-down di panel menu.
Jika Anda memiliki lebih dari satu mesh layanan, pilih mesh tersebut dari menu drop-down Service Mesh.
Untuk mempelajari lebih lanjut, lihat Menjelajahi Anthos Service Mesh di Konsol Google Cloud.
Selain halaman Anthos Service Mesh, metrik yang terkait dengan layanan Anda (seperti jumlah permintaan yang diterima oleh layanan tertentu) dikirim ke Cloud Monitoring, tempat metrik tersebut muncul di Metrics Explorer.
Untuk melihat metrik:
Di konsol Google Cloud, buka halaman Monitoring:
Pilih Resource > Metrics Explorer.
Untuk mengetahui daftar lengkap metrik, lihat metrik Istio dalam dokumentasi Cloud Monitoring.
Mendaftarkan cluster Anda
Anda harus mendaftarkan cluster ke fleet project untuk mendapatkan akses ke antarmuka pengguna terpadu di Konsol Google Cloud. Armada menyediakan cara terpadu untuk melihat dan mengelola cluster serta workload-nya, termasuk cluster di luar Google Cloud.
Baca bagian Mendaftarkan cluster ke fleet untuk mengetahui informasi tentang cara mendaftarkan cluster Anda.
Memahami skrip
Meskipun Anda mendownload skrip dari lokasi Cloud Source Repositories yang aman, skrip tersebut juga tersedia di GitHub, sehingga Anda dapat melihat fungsinya sebelum mendownloadnya. Skrip ini memvalidasi bahwa cluster Anda memenuhi persyaratan, dan mengotomatiskan semua langkah yang akan Anda lakukan secara manual di Menginstal Anthos Service Mesh di GKE.
Dengan Anthos Service Mesh 1.7.8, Anda menggunakan versi skrip install_asm
di cabang release-1.7-asm
. Untuk mengetahui penjelasan
tentang proses pembuatan versi dan rilis, lihat
Pembuatan Versi/Rilis.
validate_args
dan validate_dependencies
Fungsi validate_args
dan validate_dependencies
:
- Pastikan semua alat yang diperlukan telah diinstal.
- Pastikan project ID, nama cluster, dan lokasi cluster yang Anda masukkan sebagai parameter value valid.
- Memastikan cluster memenuhi jenis mesin minimum yang diperlukan dan jumlah node.
set_up_project
Jika Anda menyertakan flag --enable_apis
, fungsi set_up_project
akan mengaktifkan
API yang diperlukan:
set_up_cluster
Fungsi set_up_cluster
akan melakukan update berikut pada cluster Anda:
Mengaktifkan Workload Identity, yang merupakan cara yang direkomendasikan untuk mengakses layanan Google Cloud dengan aman dari aplikasi GKE.
Mengaktifkan Cloud Monitoring dan Cloud Logging di GKE.
Menetapkan label
mesh_id
pada cluster, yang diperlukan agar metrik dapat ditampilkan di halaman Anthos Service Mesh di konsol Google Cloud.Menetapkan label seperti
asmv=asm-178-10
sehingga Anda dapat mengetahui bahwa cluster telah dimodifikasi oleh skrip.Mengikat pengguna GCP atau akun layanan yang menjalankan skrip ke peran admin cluster di cluster Anda.
install_asm
Fungsi install_asm
:
- Download paket
kpt
ke direktori sementara. - Menjalankan penyetel
kpt
untuk mengonfigurasi fileistio-operator.yaml
. - Menginstal Anthos Service Mesh.