Referensi asmcli
Ringkasan
asmcli adalah alat yang disediakan Google yang dapat Anda gunakan untuk menginstal atau
mengupgrade Cloud Service Mesh. Jika Anda mengizinkannya, asmcli akan mengonfigurasi project dan cluster Anda sebagai berikut:
- Memberi Anda izin Identity and Access Management (IAM) yang diperlukan di projectGoogle Cloud .
- Aktifkan Google API yang diperlukan di project Google Cloud Anda.
- Tetapkan label pada cluster yang mengidentifikasi mesh.
- Buat akun layanan yang memungkinkan komponen bidang data, seperti proxy sidecar, mengakses data dan resource project Anda dengan aman.
- Daftarkan cluster ke fleet jika belum terdaftar.
Cukup sertakan flag --enable_all saat Anda menjalankan asmcli agar dapat mengonfigurasi project dan cluster Anda. Untuk mengetahui informasi selengkapnya tentang opsi dan flag asmcli,
lihat referensi asmcli.
Selanjutnya, asmcli akan mengonfigurasi file YAML dengan informasi project dan cluster Anda.
File konfigurasi ini diperlukan untuk menginstal platform kontrol Cloud Service Mesh.
Jika Anda baru menggunakan Cloud Service Mesh dan Istio, lanjutkan ke Platform yang didukung. Bagian berikutnya ditujukan untuk membantu Cloud Service Mesh yang ada diupgrade ke 1.21.
Bertransisi ke asmcli
asmcli menggantikan istioctl install dan install_asm. Meskipun
Anda masih dapat menggunakan alat lama di Cloud Service Mesh 1.11, kami tidak lagi menggunakannya
dan alat tersebut tidak akan didukung lagi di Cloud Service Mesh 1.12 dan yang lebih baru.
Update skrip dan alat Anda untuk menggunakan asmcli.
Semua cluster harus terdaftar ke fleet. Lihat Persyaratan armada untuk mengetahui detailnya.
Bertransisi dari install_asm
Jika Anda sudah terbiasa dengan install_asm, asmcli serupa, tetapi dengan
perbedaan penting berikut:
Anda menggunakan
asmcli installuntuk penginstalan dan upgrade baru. Tidak ada opsi--modeseperti denganinstall_asm. Saat Anda menjalankanasmcli install,asmcli installakan memeriksa apakah ada panel kontrol yang ada di cluster. Jika tidak ada bidang kontrol yang ada,asmcliakan menginstal Cloud Service Mesh. Jika cluster memiliki bidang kontrol yang ada (baik bidang kontrol Cloud Service Mesh maupun bidang kontrol Istio open source):Jika label revisi di panel kontrol yang ada tidak cocok dengan label revisi untuk panel kontrol baru,
asmcliakan melakukan upgrade canary.Jika label revisi bidang kontrol sama,
asmcliakan melakukan upgrade di tempat.
Sebagian besar opsi dan tanda
asmcliberperilaku sama dengan yang ada untukinstall_asm.
Bertransisi dari istioctl install
Jika Anda sudah terbiasa dengan istioctl install, jika biasanya Anda meneruskan file YAML IstioOperator melalui argumen command line -f untuk mengonfigurasi platform kontrol, Anda dapat meneruskan file ke asmcli menggunakan opsi --custom_overlay. Dalam dokumentasi Cloud Service Mesh, kami menyebut file ini sebagai
file overlay.
Platform yang didukung
Penginstalan Cloud Service Mesh dalam daftar Platform yang didukung dapat dikonfigurasi atau diupgrade oleh asmcli.
Namun, tidak semua fitur tersedia di platform di luar Google Cloud. Untuk mengetahui detailnya, lihat Fitur yang didukung di bidang kontrol dalam cluster.
Referensi asmcli
Bagian ini menjelaskan argumen yang tersedia untuk asmcli.
Opsi
Mengidentifikasi cluster Anda memiliki opsi berikut untuk mengidentifikasi cluster:
Khusus GKE
-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.
Semua platform
--kubeconfig KUBECONFIG_FILE
Jalur lengkap ke file kubeconfig. Variabel lingkungan
$PWD tidak berfungsi di sini.
--ctx|--context KUBE_CONTEXT
Konteks kubeconfig yang akan digunakan. Jika tidak ditentukan,
asmcli akan menggunakan konteks default.
-c|--ca {mesh_ca|gcp_cas|citadel}Otoritas sertifikasi (CA) yang akan digunakan untuk mengelola sertifikat TLS timbal balik. Tentukan
mesh_cauntuk menggunakan otoritas sertifikasi Cloud Service Mesh (otoritas sertifikasi Cloud Service Mesh),gcp_casuntuk menggunakan Certificate Authority Service, ataucitadeluntuk menggunakan CA Istio. Cloud Service Mesh Terkelola tidak mendukung CA Istio. Lihat informasi tambahan di bawah:--channel CLOUD_SERVICE_MESH_CHANNELGunakan
--channeldengan saluran rilis Cloud Service Mesh tertentu untuk menyediakan revisi Bidang Kontrol yang terkait dengan saluran rilis tersebut. Misalnya,--channel rapid,--channel regular, dan--channel stable. Flag ini diperlukan saat mengonfigurasi fitur Cloud Service Mesh tertentu di cluster GKE Autopilot.
Opsi --channel tidak lagi didukung untuk Managed Cloud Service Mesh seperti
yang disebutkan dalam Catatan Rilis CSM.
Saluran rilis ditentukan berdasarkan saluran rilis cluster GKE Anda.
Untuk mengetahui informasi selengkapnya, lihat Saluran rilis Managed Cloud Service Mesh.
--co|--custom_overlay OVERLAY_FILE- Gunakan
--custom_overlydengan nama file YAML (disebut sebagai file overlay) yang berisi resource kustomIstioOperatoruntuk mengonfigurasi platform kontrol dalam cluster. Anda menentukan file overlay untuk mengaktifkan fitur yang tidak diaktifkan secara default. Cloud Service Mesh terkelola tidak mendukungIstioOperatorAPI, sehingga Anda tidak dapat menggunakan--custom_overlayuntuk mengonfigurasi bidang kontrol terkelola.asmcliharus dapat menemukan file overlay, sehingga harus berada di direktori yang sama denganasmcli, atau Anda dapat menentukan jalur relatif. Untuk menambahkan beberapa file, tentukan--co|--custom_overlaydan nama file, misalnya:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml --hub-registration-extra-flags HUB_REGISTRATION_EXTRA_FLAGS- Jika menggunakan cluster Amazon EKS yang terpasang, gunakan
--hub-registration-extra-flagsuntuk mendaftarkan cluster ke fleet jika belum terdaftar. -k|--key_file FILE_PATH- File kunci untuk akun layanan. Hapus opsi ini jika Anda tidak menggunakan akun layanan.
--network_id NETWORK_ID- Gunakan
--network_iduntuk menetapkan labeltopology.istio.io/networkyang diterapkan ke namespaceistio-system. Untuk GKE,--network_idsecara default menggunakan nama jaringan untuk cluster. Untuk lingkungan lain,defaultakan digunakan. -o|--option OVERLAY_FILENama file overlay (tanpa ekstensi
.yaml) yang didownloadasmclidari repositorianthos-service-meshuntuk mengaktifkan fitur opsional. Anda memerlukan konektivitas internet untuk menggunakan--option. Opsi--optiondan--custom_overlayserupa, tetapi memiliki perilaku yang sedikit berbeda:Gunakan
--custom_overlaysaat Anda perlu mengubah setelan dalam file overlay.Gunakan
--optionuntuk mengaktifkan fitur yang tidak memerlukan perubahan pada file overlay, misalnya, untuk mengonfigurasi kebijakan audit untuk layanan Anda.
Untuk menambahkan beberapa file, tentukan
-o|--optiondan nama file, misalnya:-o option_file1 -o option_file2 -o option_file3-D|--output_dir DIR_PATHJika tidak ditentukan,
asmcliakan membuat direktori sementara tempat file dan konfigurasi yang diperlukan untuk menginstal Cloud Service Mesh didownload. Tentukan flag--output-diruntuk menentukan jalur relatif ke direktori yang akan digunakan. Setelah selesai, direktori yang ditentukan akan berisi subdirektoriasmdanistio-1.21.5-asm.34. Direktoriasmberisi konfigurasi untuk penginstalan. Direktoriistio-1.21.5-asm.34berisi konten yang diekstrak dari file penginstalan, yang berisiistioctl, contoh, dan manifes. Jika Anda menentukan--output-dirdan direktori sudah berisi file yang diperlukan,asmcliakan menggunakan file tersebut, bukan mendownloadnya lagi.--platform PLATFORM {gcp|multicloud}Platform atau penyedia cluster Kubernetes. Default-nya adalah
gcp(untuk cluster GKE). Untuk semua platform lainnya, gunakanmulticloud.-r|--revision_name REVISION NAMELabel revisi adalah pasangan nilai kunci yang ditetapkan di bidang kontrol. Kunci label revisi selalu
istio.io/rev. Secara default,asmclimenetapkan nilai untuk label revisi berdasarkan versi Cloud Service Mesh, misalnya:asm-1215-34. Sertakan opsi ini jika Anda ingin mengganti nilai default dan menentukan nilai Anda sendiri. ArgumenREVISION NAMEharus berupa label DNS-1035. Artinya, nama harus:- berisi maksimal 63 karakter
- hanya berisi karakter alfanumerik huruf kecil atau '-'
- diawali dengan karakter abjad
- diakhiri dengan karakter alfanumerik
Regex yang digunakan untuk validasi adalah: '[a-z]([-a-z0-9]*[a-z0-9])?'
-s|--service_account ACCOUNT- Nama akun layanan yang digunakan untuk menginstal Cloud Service Mesh. Jika tidak ditentukan, akun pengguna aktif dalam konfigurasi
gcloudsaat ini akan digunakan. Jika Anda perlu mengubah akun pengguna aktif, jalankan gcloud auth login.
Opsi untuk sertifikat kustom CA Istio
Jika Anda menentukan --ca citadel dan menggunakan CA kustom, sertakan
opsi berikut:
--ca_cert FILE_PATH: Sertifikat perantara--ca_key FILE_PATH: Kunci untuk sertifikat perantara--root_cert FILE_PATH: Root certificate--cert_chain FILE_PATH: Rantai sertifikat
Untuk mengetahui informasi selengkapnya, lihat Menyambungkan Sertifikat CA yang ada.
Flag pengaktifan
Flag yang dimulai dengan --enable memungkinkan asmcli mengaktifkan Google API yang diperlukan, menetapkan izin Identity and Access Management (IAM) yang diperlukan, dan mengupdate cluster Anda. Jika mau, Anda dapat
mengupdate project dan cluster sendiri
sebelum menjalankan asmcli. Semua tanda pengaktifan tidak kompatibel dengan
asmcli validate. Jika Anda menentukan tanda pengaktifan saat menjalankan
asmcli validate, perintah akan dihentikan dengan error.
-e|--enable_all- Izinkan
asmcliuntuk melakukan semua tindakan pengaktifan individual yang dijelaskan di bawah. --enable_cluster_roles- Izinkan
asmcliuntuk mencoba mengikat akun pengguna atau layanan yang menjalankanasmclike perancluster-admindi cluster Anda. Google Cloudasmclimenentukan akun pengguna dari perintahgcloud config get core/account. Jika Anda menjalankanasmclisecara lokal dengan akun pengguna, pastikan Anda memanggil perintahgcloud auth loginsebelum menjalankanasmcli. Jika Anda perlu mengubah akun pengguna, jalankan perintahgcloud config set core/account GCP_EMAIL_ADDRESSdengan GCP_EMAIL_ADDRESS adalah akun yang Anda gunakan untuk login ke Google Cloud. --enable_cluster_labels- Izinkan
asmclimenetapkan label cluster yang diperlukan. --enable_gcp_componentsIzinkan
asmclimengaktifkan layanan dan komponen Google Cloud terkelola yang diperlukan berikut:Workload Identity, yang memungkinkan aplikasi GKE mengakses layanan Google Cloud dengan aman.
--enable_gcp_apisIzinkan
asmcliuntuk mengaktifkan semua Google API yang diperlukan.--enable_gcp_iam_rolesIzinkan
asmclimenetapkan izin IAM yang diperlukan.--enable_meshconfig_initIzinkan skrip untuk menginisialisasi endpoint meshconfig atas nama Anda. Disimpulkan oleh
--enable_gcp_componentsdan--managed.--enable_namespace_creationIzinkan
asmclimembuat namespaceistio-systemroot.--enable_registrationIzinkan
asmclimendaftarkan cluster ke project tempat cluster berada. Jika Anda tidak menyertakan flag ini, ikuti langkah-langkah di Mendaftarkan cluster untuk mendaftarkan cluster secara manual. Perhatikan bahwa tidak seperti flag pengaktifan lainnya,--enable_registrationhanya disertakan dalam--enable_allsaat Anda menentukan opsi (seperti--option hub-meshca) yang memerlukan pendaftaran cluster. Jika tidak, Anda harus menentukan flag ini secara terpisah.
Flag lainnya
--dry_run- Mencetak perintah, tetapi tidak menjalankannya.
--fleet_id- Mendaftarkan cluster ke fleet menggunakan project ID host fleet. Flag ini
diperlukan untuk cluster non-Google Cloud . Jika tidak disediakan untuk
clusterGoogle Cloud , project ID cluster akan ditetapkan secara default. Anda dapat
menjalankan
asmcli installbersama dengan--fleet_idsebelum penginstalan, atau sebagai bagian dari penginstalan dengan meneruskan flag--enable-registrationdan--fleet-id. Setelan ini tidak dapat diubah setelah dikonfigurasi. --managed- Tidak digunakan lagi. Sediakan bidang kontrol terkelola jarak jauh, bukan menginstal satu bidang kontrol dalam cluster.
--offline- Lakukan penginstalan offline menggunakan paket yang telah didownload sebelumnya di direktori output. Jika direktori tidak ditentukan atau tidak berisi file yang diperlukan, skrip akan keluar dengan error.
--only_enable- Melakukan langkah-langkah yang ditentukan untuk menyiapkan pengguna/cluster saat ini, tetapi tidak menginstal apa pun.
--only_validate- Jalankan validasi, tetapi jangan update project atau cluster dan jangan instal
Cloud Service Mesh. Flag ini tidak kompatibel dengan
flag pengaktifan.
asmcliakan dihentikan dengan error jika Anda menentukan--only_validatedengan flag pengaktifan apa pun. --print_config- Daripada menginstal Cloud Service Mesh, cetak semua YAML yang dikompilasi ke
output standar (stdout). Semua output lainnya ditulis ke error standar
(stderr), meskipun biasanya akan masuk ke stdout.
asmcliakan melewati semua validasi dan penyiapan saat Anda menentukan tanda ini. --disable_canonical_service- Secara default,
asmclimen-deploy pengontrol Layanan Kanonik ke cluster Anda. Jika Anda tidak inginasmclimen-deploy pengontrol, tentukan--disable_canonical_service. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonik. -h|--help- Menampilkan pesan bantuan yang menjelaskan opsi dan tanda, lalu keluar.
--use_managed_cni- Gunakan CNI terkelola. Jika flag ini
tidak diteruskan,
asmcliakan menerapkan manifes CNI statis. --use_vpcsc- Jika organisasi Anda menerapkan
Kontrol Layanan VPC untuk project, Anda harus
mengonfigurasi Cloud Service Mesh terkelola dengan tanda
--use_vpcsc. Jika tidak, penginstalan akan gagal dalam mengontrol keamanan. -v|--verbose- Saat berjalan,
asmcliakan mencetak perintah yang akan dijalankan berikutnya. Dengan flag--verbose,asmclijuga akan mencetak perintah setelah dieksekusi. --version- Cetak versi
asmclidan keluar. Jika tidak memiliki versi terbaru, Anda dapat mendownloadasmcli_1.21versi terbaru.