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 Google Cloud project Anda.
  • Mengaktifkan Google API yang diperlukan di Google Cloud project Anda.
  • Menetapkan label pada cluster yang mengidentifikasi mesh.
  • Membuat akun layanan yang memungkinkan komponen bidang data, seperti proxy sidecar, mengakses data dan resource project Anda dengan aman.
  • Mendaftarkan cluster ke fleet jika belum terdaftar.

Cukup sertakan flag --enable_all saat Anda menjalankan asmcli untuk mengizinkannya mengonfigurasi project dan cluster Anda. Untuk mengetahui informasi selengkapnya tentang asmcli opsi dan flag, lihat referensi asmcli.

Selanjutnya, asmcli mengonfigurasi file YAML dengan informasi project dan cluster Anda. File konfigurasi ini diperlukan untuk menginstal bidang kontrol Cloud Service Mesh.

Jika Anda baru menggunakan Cloud Service Mesh dan Istio, langsung buka Platform yang didukung. Bagian berikutnya dimaksudkan untuk membantu upgrade Cloud Service Mesh yang ada ke 1.25.

Beralih ke asmcli

asmcli menggantikan istioctl install dan install_asm. Meskipun Anda masih dapat menggunakan alat lama di Cloud Service Mesh 1.11, kami menghentikannya dan tidak akan lagi didukung di Cloud Service Mesh 1.12 dan yang lebih baru. Perbarui skrip dan alat Anda untuk menggunakan asmcli.

Semua cluster harus terdaftar ke a fleet. Lihat Persyaratan fleet untuk mengetahui detailnya.

Beralih dari install_asm

Jika Anda sudah familiar dengan install_asm, asmcli serupa, tetapi dengan perbedaan penting berikut:

  • Anda menggunakan asmcli install untuk penginstalan dan upgrade baru. Tidak ada opsi --mode seperti pada install_asm. Saat Anda menjalankan asmcli install, perintah ini akan memeriksa apakah ada bidang kontrol yang ada di cluster. Jika tidak ada bidang kontrol yang ada, asmcli akan 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 pada bidang kontrol yang ada tidak cocok dengan label revisi untuk bidang kontrol baru, asmcli akan melakukan upgrade canary.

    • Jika label revisi bidang kontrol sama, asmcli akan melakukan upgrade di tempat.

  • Sebagian besar asmcli opsi dan flag berperilaku sama dengan opsi dan flag untuk install_asm.

Beralih dari istioctl install

Jika Anda sudah familiar dengan istioctl install, jika biasanya Anda meneruskan file YAML IstioOperator melalui argumen command line -f untuk mengonfigurasi bidang 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 di 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 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}

Certificate authority (CA) yang akan digunakan untuk mengelola sertifikat TLS mutual. Tentukan mesh_ca untuk menggunakan certificate authority Cloud Service Mesh (certificate authority Cloud Service Mesh), gcp_cas untuk menggunakan Certificate Authority Service, atau citadel untuk menggunakan Istio CA. Cloud Service Mesh Terkelola tidak mendukung Istio CA. Lihat hal berikut untuk mengetahui informasi tambahan:

--channel CLOUD_SERVICE_MESH_CHANNEL

Gunakan --channel dengan 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 Cloud Service Mesh Terkelola seperti yang disebutkan dalam Catatan Rilis CSM. Saluran rilis ditentukan berdasarkan saluran rilis cluster GKE Anda. Untuk mengetahui informasi selengkapnya, lihat Saluran rilis Cloud Service Mesh Terkelola.

--co|--custom_overlay OVERLAY_FILE
Gunakan --custom_overly dengan nama file YAML (disebut sebagai file overlay) yang berisi resource kustom IstioOperator untuk mengonfigurasi bidang kontrol dalam cluster. Anda menentukan file overlay untuk mengaktifkan fitur yang tidak diaktifkan secara default. Cloud Service Mesh Terkelola tidak mendukung IstioOperator API, sehingga Anda tidak dapat menggunakan --custom_overlay untuk mengonfigurasi bidang kontrol terkelola. asmcli harus dapat menemukan file overlay, sehingga harus berada di direktori yang sama dengan asmcli, 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 label topology.istio.io/network yang diterapkan ke namespace istio-system. Untuk GKE, --network_id secara default adalah nama jaringan untuk cluster. Untuk lingkungan lain, default akan digunakan.
-o|--option OVERLAY_FILE

Nama file overlay (tanpa ekstensi .yaml) yang asmcli didownload dari repositori anthos-service-mesh untuk mengaktifkan fitur opsional. Anda memerlukan konektivitas internet untuk menggunakan --option. Opsi --option dan --custom_overlay serupa, tetapi memiliki perilaku yang sedikit berbeda:

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 tempat file dan konfigurasi yang diperlukan untuk menginstal Cloud Service Mesh didownload. Tentukan flag --output-dir untuk menentukan jalur relatif ke direktori yang akan digunakan. Setelah selesai, direktori yang ditentukan akan berisi asm dan subdirektori istio-1.25.6-asm.1. Direktori asm berisi konfigurasi untuk penginstalan. Direktori istio-1.25.6-asm.1 berisi konten file penginstalan yang diekstrak, yang berisi istioctl, contoh, dan manifes. Jika Anda menentukan --output-dir dan direktori sudah berisi file yang diperlukan, asmcli akan menggunakan file tersebut, bukan mendownloadnya lagi.

--platform PLATFORM {gcp|multicloud}

Platform atau penyedia cluster Kubernetes. Secara default adalah gcp (untuk cluster GKE). Untuk semua platform lain, gunakan multicloud.

-r|--revision_name REVISION NAME

Label revisi adalah pasangan nilai kunci yang ditetapkan pada bidang kontrol. Kunci label revisi selalu istio.io/rev. Secara default, asmcli menetapkan nilai untuk label revisi berdasarkan versi Cloud Service Mesh, misalnya: asm-1256-1. Sertakan opsi ini jika Anda ingin mengganti nilai default dan menentukan nilai Anda sendiri. Argumen REVISION NAME harus berupa label DNS-1035. Artinya, nama harus:

  • berisi maksimal 63 karakter
  • hanya berisi karakter alfanumerik huruf kecil atau '-'
  • diawali dengan karakter alfabet
  • 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 gcloud saat ini akan digunakan. 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: Sertifikat perantara
  • --ca_key FILE_PATH: Kunci untuk sertifikat perantara
  • --root_cert FILE_PATH: Sertifikat root
  • --cert_chain FILE_PATH: Rantai sertifikat

Untuk mengetahui informasi selengkapnya, lihat Menghubungkan 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 flag pengaktifan tidak kompatibel dengan asmcli validate. Jika Anda menentukan flag pengaktifan saat menjalankan asmcli validate, perintah akan dihentikan dengan error.

-e|--enable_all
Mengizinkan asmcli melakukan semua tindakan pengaktifan individual yang dijelaskan di bawah.
--enable_cluster_roles
Mengizinkan asmcli mencoba mengikat Google Cloud pengguna atau akun layanan yang menjalankan asmcli ke peran cluster-admin di cluster Anda. asmcli menentukan akun pengguna dari perintah gcloud config get core/account. Jika Anda menjalankan asmcli secara lokal dengan akun pengguna, pastikan Anda memanggil perintah gcloud auth login sebelum menjalankan asmcli. Jika Anda perlu mengubah akun pengguna, jalankan gcloud config set core/account GCP_EMAIL_ADDRESS perintah dengan GCP_EMAIL_ADDRESS adalah akun yang Anda gunakan untuk login Google Cloud.
--enable_cluster_labels
Mengizinkan asmcli menetapkan label cluster yang diperlukan .
--enable_gcp_components

Mengizinkan asmcli mengaktifkan layanan dan komponen terkelola berikut yang diperlukan Google Cloud :

--enable_gcp_apis

Mengizinkan asmcli mengaktifkan semua Google API yang diperlukan.

--enable_gcp_iam_roles

Mengizinkan asmcli menetapkan izin IAM yang diperlukan .

--enable_meshconfig_init

Mengizinkan skrip menginisialisasi endpoint meshconfig atas nama Anda. Tersirat oleh --enable_gcp_components dan --managed.

--enable_namespace_creation

Mengizinkan asmcli membuat namespace istio-system root.

--enable_registration

Mengizinkan asmcli mendaftarkan 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_registration hanya disertakan dalam --enable_all saat 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 GKE. Jika tidak disediakan untuk Google Cloud cluster, nilai defaultnya adalah project ID cluster. Anda dapat menjalankan asmcli install bersama dengan --fleet_id sebelum penginstalan, atau sebagai bagian dari penginstalan dengan meneruskan flag --enable-registration dan --fleet-id. Setelan ini tidak dapat diubah setelah dikonfigurasi.
--managed
Tidak digunakan lagi. Menyediakan bidang kontrol terkelola jarak jauh, bukan menginstal bidang kontrol dalam cluster.
--offline
Melakukan 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
Menjalankan validasi, tetapi tidak mengupdate project atau cluster dan tidak menginstal Cloud Service Mesh. Flag ini tidak kompatibel dengan flag pengaktifan. asmcli akan dihentikan dengan error jika Anda menentukan --only_validate dengan flag pengaktifan apa pun.
--print_config
Alih-alih 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. asmcli akan melewati semua validasi dan penyiapan saat Anda menentukan flag ini.
--disable_canonical_service
Tidak digunakan lagi. Pengontrol Layanan Kanonis terkelola selalu disediakan.
-h|--help
Menampilkan pesan bantuan yang menjelaskan opsi dan flag, lalu keluar.
--use_managed_cni
Menggunakan CNI terkelola. Jika flag ini tidak diteruskan, asmcli akan menerapkan manifes CNI statis.
--use_vpcsc
Jika organisasi Anda menerapkan Kontrol Layanan VPC untuk project Anda, Anda harus mengonfigurasi Cloud Service Mesh terkelola dengan flag --use_vpcsc. Jika tidak, penginstalan akan gagal dalam kontrol keamanan.
-v|--verbose
Saat asmcli berjalan, perintah ini akan mencetak perintah yang akan dijalankan berikutnya. Dengan flag --verbose, asmcli juga mencetak perintah setelah eksekusi.
--version
Mencetak versi asmcli dan keluar. Jika Anda tidak memiliki versi terbaru , Anda dapat mendownload versi terbaru dari asmcli_1.25.