referensi asmcli
Ringkasan
asmcli
adalah alat yang disediakan Google yang
dapat Anda gunakan untuk menginstal atau
upgrade Cloud Service Mesh. Jika Anda mengizinkannya, asmcli
akan mengonfigurasi
project dan cluster sebagai berikut:
- Memberi Anda izin Identity and Access Management (IAM) yang diperlukan pada project Google Cloud Anda.
- Aktifkan Google API yang diperlukan di project Google Cloud Anda.
- Berikan label pada cluster yang mengidentifikasi mesh.
- Buat akun layanan yang memungkinkan komponen bidang data, seperti sebagai proxy file bantuan, akses data dan resource project Anda dengan aman.
- Mendaftarkan cluster ke armada jika belum terdaftar.
Cukup sertakan flag --enable_all
saat Anda menjalankan asmcli
untuk memungkinkan konfigurasi
project dan cluster Anda. Untuk mengetahui informasi selengkapnya tentang opsi dan tanda asmcli
,
lihat referensi asmcli
.
Selanjutnya, asmcli
mengonfigurasi file YAML dengan informasi project dan cluster Anda.
File konfigurasi ini diperlukan untuk menginstal Cloud Service Mesh
bidang kontrol.
Jika Anda baru menggunakan Cloud Service Mesh dan Istio, lanjutkan ke Platform yang didukung. Bagian selanjutnya dimaksudkan untuk membantu Cloud Service Mesh yang ada untuk mengupgrade ke 1.20.
Transisi ke asmcli
asmcli
menggantikan istioctl install
dan install_asm
. Meskipun
Anda masih dapat menggunakan alat lama di Cloud Service Mesh 1.11, kami menghentikan
dan tidak akan didukung lagi
di Cloud Service Mesh 1.12 dan yang lebih baru.
Harap update skrip dan alat Anda untuk menggunakan asmcli
.
Semua cluster harus terdaftar di fleet. Lihat Persyaratan perangkat untuk mengetahui detailnya.
Bertransisi dari install_asm
Jika Anda sudah terbiasa dengan install_asm
, asmcli
serupa, tetapi dengan
perbedaan penting berikut:
Anda menggunakan
asmcli install
untuk penginstalan dan upgrade baru. Tidak ada Opsi--mode
seperti diinstall_asm
. Saat Anda menjalankanasmcli install
, sistem akan memeriksa apakah terdapat bidang kontrol yang ada di cluster. Jika tidak ada bidang kontrol,asmcli
menginstal Cloud Service Mesh. Jika cluster memiliki bidang kontrol yang ada (baik bidang kontrol Cloud Service Mesh maupun bidang Bidang kontrol Istio):Jika label revisi pada bidang kontrol tidak sesuai dengan label revisi untuk bidang kontrol baru,
asmcli
melakukan upgrade canary.Jika label revisi bidang kontrol sama,
asmcli
akan melakukan upgrade yang diterapkan.
Sebagian besar
asmcli
opsi dan flag berperilaku sama seperti yang digunakan untukinstall_asm
.
Bertransisi dari istioctl install
Jika Anda sudah terbiasa dengan istioctl install
, jika Anda biasanya meneruskan
File YAML IstioOperator
melalui argumen command line -f
untuk mengonfigurasi
bidang kontrol, Anda dapat meneruskan file ke asmcli
menggunakan --custom_overlay
sebelumnya. Dalam dokumentasi Cloud Service Mesh, kami menyebut file ini sebagai
file overlay.
Platform yang didukung
Penginstalan Cloud Service Mesh pada daftar
Platform yang didukung dapat dikonfigurasi
atau diupgrade oleh asmcli
.
Namun, tidak semua fitur tersedia pada platform di luar Google Cloud. Untuk mengetahui detailnya, lihat Fitur yang didukung 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 satu zona) atau region (untuk regional cluster) tempat cluster dibuat.
Semua platform
--kubeconfig KUBECONFIG_FILE
Jalur lengkap ke file kubeconfig. Lingkungan
variabel $PWD
tidak berfungsi di sini.
--ctx|--context KUBE_CONTEXT
Konteks kubeconfig yang akan digunakan. Jika tidak ditentukan,
asmcli
menggunakan konteks default.
-c|--ca {mesh_ca|gcp_cas|citadel}
{i>Certificate authority <i}(CA) yang akan digunakan untuk mengelola TLS bersama. Menentukan
mesh_ca
untuk menggunakan certificate authority Cloud Service Mesh (certificate authority Cloud Service Mesh),gcp_cas
untuk menggunakan Certificate Authority Service, ataucitadel
untuk menggunakan Istio CA. Mesh Layanan Cloud Terkelola tidak mendukung Istio Kanada. Lihat informasi tambahan berikut:--channel CLOUD_SERVICE_MESH_CHANNEL
Menggunakan
--channel
dengan Saluran rilis Cloud Service Mesh untuk menyediakan revisi Bidang Kontrol yang terkait dengan saluran rilis tersebut. Misalnya,--channel rapid
,--channel regular
, dan--channel stable
. Tanda ini diperlukan saat mengonfigurasi fitur Cloud Service Mesh tertentu pada Cluster Autopilot GKE.
Opsi --channel
tidak lagi didukung untuk Managed Cloud Service Mesh karena
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_overly
dengan nama file YAML (disebut sebagai file overlay) yang berisi resource khususIstioOperator
yang akan dikonfigurasi bidang kontrol dalam cluster. Anda menetapkan file overlay untuk mengaktifkan fitur yang tidak diaktifkan secara {i>default<i}. Mesh Layanan Cloud Terkelola tidak mendukungIstioOperator
API, sehingga Anda tidak dapat menggunakan--custom_overlay
untuk mengonfigurasi dalam bidang kontrol terkelola.asmcli
harus 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_overlay
dan 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 terlampir, gunakan
--hub-registration-extra-flags
untuk mendaftarkan cluster ke fleet jika belum terdaftar. -k|--key_file FILE_PATH
- File kunci untuk akun layanan. Abaikan opsi ini jika Anda tidak menggunakan akun layanan.
--network_id NETWORK_ID
- Gunakan
--network_id
untuk menetapkan labeltopology.istio.io/network
yang diterapkan ke Namespaceistio-system
. Untuk GKE,--network_id
secara default disetel ke nama jaringan untuk cluster tersebut. Untuk lingkungan lain,default
akan digunakan. -o|--option OVERLAY_FILE
Nama file overlay (tanpa ekstensi
.yaml
) yangasmcli
download dari Repositorianthos-service-mesh
untuk mengaktifkan fitur opsional. Anda memerlukan konektivitas internet untuk menggunakan--option
. Tujuan Opsi--option
dan--custom_overlay
serupa, tetapi memiliki sedikit perilaku yang berbeda:Gunakan
--custom_overlay
saat Anda perlu mengubah setelan di overlay .Gunakan
--option
untuk mengaktifkan fitur yang tidak memerlukan perubahan pada file overlay, misalnya, untuk konfigurasi kebijakan audit untuk layanan Anda.
Untuk menambahkan beberapa file, tentukan
-o|--option
dan nama file, misalnya:-o option_file1 -o option_file2 -o option_file3
-D|--output_dir DIR_PATH
Jika tidak ditentukan,
asmcli
akan membuat direktori sementara tempatnya mendownload file dan konfigurasi yang diperlukan untuk menginstal Cloud Service Mesh. Tentukan flag--output-dir
untuk menentukan jalur relatif ke direktori yang akan digunakan sebagai gantinya. Setelah selesai, direktori yang ditentukan akan berisiasm
dan subdirektoriistio-1.20.4-asm.0
. Direktoriasm
berisi konfigurasi untuk penginstalan. Tujuan Direktoriistio-1.20.4-asm.0
berisi konten yang diekstrak dari file penginstalan, yang berisiistioctl
, contoh, dan manifes. Jika Anda tentukan--output-dir
dan direktori sudah berisi semua file,asmcli
menggunakan file tersebut, bukan mendownloadnya lagi.--platform PLATFORM {gcp|multicloud}
Platform atau penyedia cluster Kubernetes. Default-nya adalah
gcp
(untuk cluster GKE). Untuk semua lainnya yang digunakan platform ini,multicloud
.-r|--revision_name REVISION NAME
Label revisi adalah pasangan nilai kunci yang yang ditetapkan di bidang kontrol. Kunci label revisi selalu
istio.io/rev
. Menurut secara default,asmcli
akan menetapkan nilai untuk label revisi berdasarkan Versi Cloud Service Mesh, misalnya:asm-1204-0
. Sertakan ini jika Anda ingin mengganti nilai default dan menentukan nilai sendiri. Tujuan ArgumenREVISION NAME
harus berupa Label DNS-1035. Artinya, nama tersebut harus:- berisi maksimal 63 karakter
- hanya berisi karakter alfanumerik huruf kecil atau '-'
- diawali dengan karakter alfabet
- diakhiri dengan karakter alfanumerik
Ekspresi reguler 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
yang ditentukan, akun pengguna aktif di konfigurasi
gcloud
saat ini data Jika Anda perlu mengubah akun pengguna aktif, jalankan gcloud auth login.
Opsi untuk sertifikat kustom Istio CA
Jika Anda menentukan --ca 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 Menyertakan Sertifikat CA yang ada.
Tanda pengaktifan
Tanda yang dimulai dengan --enable
memungkinkan asmcli
mengaktifkan
API, disetel
izin Identity and Access Management (IAM) yang diperlukan,
dan mengupdate cluster Anda. Jika mau, Anda dapat
memperbarui project dan cluster sendiri
sebelum menjalankan asmcli
. Semua tanda pengaktifan tidak kompatibel dengan
asmcli validate
. Jika Anda menentukan flag pengaktifan saat menjalankan
asmcli validate
, perintah ini dihentikan dengan error.
-e|--enable_all
- Izinkan
asmcli
untuk melakukan semua tindakan pengaktifan individual yang dijelaskan di bawah. --enable_cluster_roles
- Izinkan
asmcli
untuk mencoba mengikat pengguna atau layanan Google Cloud akun yang menjalankanasmcli
kecluster-admin
di cluster Anda.asmcli
menentukan akun pengguna darigcloud config get core/account
perintah. Jika Anda menjalankanasmcli
secara lokal dengan akun pengguna, pastikan Anda memanggilgcloud auth login
sebelum menjalankanasmcli
. Jika Anda perlu mengubah akun pengguna, jalankangcloud config set core/account GCP_EMAIL_ADDRESS
perintah dengan GCP_EMAIL_ADDRESS adalah akun yang Anda gunakan untuk login ke Google Cloud. --enable_cluster_labels
- Izinkan
asmcli
menyetel sebagai wajib label cluster. --enable_gcp_components
Izinkan
asmcli
untuk mengaktifkan hal-hal berikut yang diperlukan dan dikelola Google Cloud komponen dan layanan:Workload Identity, yang memungkinkan aplikasi GKE mengakses Google Cloud dengan aman layanan IT perusahaan mereka.
--enable_gcp_apis
Izinkan
asmcli
untuk mengaktifkan semua Google API yang diperlukan.--enable_gcp_iam_roles
Izinkan
asmcli
untuk menyetel hal yang diperlukan Izin IAM.--enable_meshconfig_init
Izinkan skrip untuk melakukan inisialisasi endpoint meshconfig atas nama Anda. Tersirat oleh
--enable_gcp_components
dan--managed
.--enable_namespace_creation
Izinkan
asmcli
untuk membuat namespaceistio-system
root.--enable_registration
Izinkan
asmcli
untuk mendaftarkan cluster ke project tempat cluster tersebut berada inc. Jika Anda tidak menyertakan penanda ini, ikuti langkah-langkah di Mendaftarkan cluster untuk mendaftarkan cluster secara manual. Perhatikan bahwa tidak seperti penanda pengaktifan lainnya,--enable_registration
hanya disertakan dalam--enable_all
jika Anda menentukan opsi (seperti--option hub-meshca
) yang memerlukan pendaftaran cluster. Jika tidak, Anda perlu menentukan tanda ini secara terpisah.
Tanda lainnya
--dry_run
- Mencetak perintah, tetapi tidak menjalankannya.
--fleet_id
- Daftarkan cluster ke fleet menggunakan project ID host fleet. Penanda ini
yang diperlukan untuk cluster non-Google Cloud. Jika tidak disediakan untuk
cluster Google Cloud, setelan defaultnya adalah project ID cluster. Anda dapat
menjalankan
asmcli install
bersama dengan--fleet_id
sebelum penginstalan, atau sebagai bagian dari penginstalan dengan meneruskan--enable-registration
dan--fleet-id
penanda. Setelan ini tidak dapat diubah setelah dikonfigurasi. --managed
- Tidak digunakan lagi. Menyediakan bidang kontrol jarak jauh yang terkelola, bukan menginstal satu dalam cluster.
--offline
- Lakukan penginstalan offline menggunakan paket yang sudah diunduh dalam direktori {i>output<i}. Jika direktori tersebut tidak ditentukan atau tidak berisi file yang diperlukan, skrip akan keluar mengalami 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
dan Cloud Service Mesh. Tanda ini tidak kompatibel dengan
flag pengaktifan.
asmcli
diakhiri dengan error jika Anda menentukan--only_validate
dengan flag pengaktifan. --print_config
- Alih-alih menginstal Cloud Service Mesh, cetak semua YAML yang dikompilasi ke
{i>standard output<i} (stdout). Semua output lainnya ditulis ke error standar
(stderr), meskipun biasanya akan masuk ke {i>stdout<i}.
asmcli
melewati semua validasi dan penyiapan saat Anda menentukan tanda ini. --disable_canonical_service
- Secara default,
asmcli
men-deploy Pengontrol Layanan Kanonis ke cluster Anda. Jika Anda tidak inginasmcli
men-deploy pengontrol, menentukan--disable_canonical_service
. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonis. -h|--help
- Tampilkan pesan bantuan yang menjelaskan opsi serta tanda dan keluar.
--use_managed_cni
- Menggunakan CNI terkelola. Jika penanda ini
tidak diteruskan,
asmcli
akan menerapkan manifes CNI statis. --use_vpcsc
- Jika organisasi Anda menerapkan
Kontrol Layanan VPC untuk project, Anda harus
mengonfigurasi Cloud Service Mesh terkelola dengan flag
--use_vpcsc
. Jika tidak, penginstalan akan gagal dalam kontrol keamanan. -v|--verbose
- Saat
asmcli
berjalan, ia mencetak perintah yang akan dijalankan berikutnya. Dengan--verbose
,asmcli
juga akan mencetak perintah setelah dieksekusi. --version
- Cetak versi
asmcli
dan keluar. Jika Anda tidak memiliki versi version, Anda dapat download versi terbaru dariasmcli_1.20
.