Instal alat dependen dan verifikasi cluster
Halaman ini menunjukkan cara menyiapkan lingkungan dan cluster untuk menginstal Cloud Service Mesh dalam cluster untuk workload Kubernetes off Google Cloud.
Menginstal alat yang diperlukan
Anda dapat menjalankan asmcli di Cloud Shell
atau di komputer lokal yang menjalankan Linux. Cloud Shell sudah menginstal semua alat yang diperlukan.
Jika Anda menjalankan asmcli secara lokal, pastikan Anda telah menginstal alat berikut:
- Google Cloud CLI
- Alat command line standar:
awk,curl,grep,sed, dantr gitkubectljq- (Opsional, untuk menguji konektivitas) netcat (
nc)
Mengonfigurasi gcloud
Lakukan langkah-langkah berikut meskipun Anda menggunakan Cloud Shell.
Lakukan autentikasi dengan Google Cloud CLI:
gcloud auth login --project PROJECT_IDPerbarui komponen:
gcloud components update
Tetapkan konteks saat ini ke cluster pengguna Anda:
Tetapkan konteks kubectl Anda untuk mengarah ke cluster di luarGoogle Cloud , sesuai dengan petunjuk khusus platform.
Download asmcli
Bagian ini menjelaskan cara mendownload asmcli.
Download versi yang menginstal Cloud Service Mesh 1.27.1 ke direktori kerja saat ini:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.27 > asmcliOutput yang diharapkan:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701kSetel agar skrip dapat dieksekusi:
chmod +x asmcli
Memberikan izin admin cluster
Pastikan Anda telah menyetel konteks ke cluster pengguna:
kubectl config use-context CONTEXT
Beri izin admin cluster ke akun pengguna Anda (alamat email login Anda). Google Cloud Anda memerlukan izin ini untuk membuat aturan role based access control (RBAC) yang diperlukan untuk Cloud Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Memvalidasi project dan cluster
Anda dapat menjalankan asmcli validate untuk memastikan bahwa project dan cluster Anda telah disiapkan sesuai persyaratan untuk menginstal Cloud Service Mesh. Dengan opsi ini, asmcli
tidak membuat perubahan apa pun pada project atau cluster Anda, dan tidak menginstal
Cloud Service Mesh.
asmcli memvalidasi bahwa:
Lingkungan Anda memiliki alat yang diperlukan.
Cluster memenuhi persyaratan minimum.
Anda memiliki izin yang diperlukan pada project yang ditentukan.
Project telah mengaktifkan semua Google API yang diperlukan.
Secara default, asmcli mendownload dan mengekstrak file penginstalan serta
mendownload
paket konfigurasi asm
dari GitHub ke direktori sementara. Sebelum keluar,
asmcli akan menampilkan pesan yang memberikan nama direktori sementara.
Sebaiknya tentukan direktori untuk download dengan opsi
--output_dir DIR_PATH. Opsi --output_dir
memudahkan Anda menggunakan alat command line istioctl. Anda mungkin memerlukan istioctl untuk memecahkan masalah konfigurasi.
Selain itu, file konfigurasi untuk mengaktifkan fitur opsional menggunakan asmcli
disertakan dalam direktori asm/istio/options.
Jalankan perintah berikut untuk memvalidasi konfigurasi Anda dan mendownload file penginstalan dan paket asm ke direktori OUTPUT_DIR.
Gunakan perintah berikut untuk menjalankan asmcli validate di platform berikut:
Google Distributed Cloud (khusus software) untuk VMware, Google Distributed Cloud (khusus software) untuk bare metal, GKE di AWS (tidak digunakan lagi),
GKE di Azure (tidak digunakan lagi), Amazon EKS (tidak digunakan lagi), dan Microsoft AKS (tidak digunakan lagi).
Tetapkan konteks saat ini ke cluster pengguna Anda:
kubectl config use-context CLUSTER_NAMEJalankan perintah berikut untuk memvalidasi konfigurasi Anda dan mendownload file penginstalan serta paket
asmke direktoriOUTPUT_DIR:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --platform multicloud--kubeconfigJalur kekubeconfigAnda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--fleet_idProject ID project host fleet.asmcli validatememeriksa apakah cluster terdaftar ke fleet yang ditentukan.--output_dirSertakan opsi ini untuk menentukan direktori tempatasmclimendownload paketasmdan mengekstrak file penginstalan, yang berisiistioctl, sampel, dan manifes. Jika tidak,asmcliakan mendownload file ke direktoritmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan$PWDtidak berfungsi di sini.--platform multicloudMenentukan bahwa platform adalah sesuatu selain Google Cloud, seperti lokal atau multi-cloud.
Jika berhasil, asmcli akan menghasilkan output berikut:
asmcli: Setting up necessary files... asmcli: Using asm_kubeconfig as the kubeconfig... asmcli: Checking installation tool dependencies... asmcli: Fetching/writing GCP credentials to kubeconfig file... asmcli: Verifying connectivity (10s)... asmcli: kubeconfig set to asm_kubeconfig asmcli: using context gke_example-project-12345_us-central1_cluster-2 asmcli: Getting account information... asmcli: Downloading ASM.. asmcli: Downloading ASM kpt package... fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm" asmcli: Checking required APIs... asmcli: Checking for project example-project-12345... asmcli: Reading labels for us-central1/cluster-2... asmcli: Checking for istio-system namespace... asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2... asmcli: Checking Istio installations... asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized. asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh asmcli: [WARNING]: will not function correctly. asmcli: Successfully validated all requirements to install ASM.
Jika salah satu pengujian gagal dalam validasi, asmcli akan menampilkan pesan error.
Misalnya, jika project Anda tidak 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 run `asmcli` with the '--enable_gcp_apis' flag to allow `asmcli` to enable them on your behalf.
Jika Anda mendapatkan pesan error tentang perlunya menjalankan asmcli dengan
flag pengaktifan,
Anda memiliki opsi berikut:
Sertakan tanda tertentu dari pesan error atau tanda
--enable_allsaat menjalankanasmcliuntuk melakukan penginstalan sebenarnya.Jika mau, Anda dapat memperbarui project dan cluster sendiri sebelum menjalankan
asmcliseperti yang dijelaskan dalam Menyiapkan project dan cluster GKE sendiri.
Perhatikan bahwa asmcli validate tidak mengizinkan flag pengaktifan apa pun karena hanya
memvalidasi bahwa project dan cluster Anda siap untuk diinstal.
Memeriksa persyaratan penginstalan dan upgrade cluster
Sebelum mengupgrade, Anda harus memastikan bahwa konfigurasi Anda kompatibel dengan Cloud Service Mesh versi baru.
Ubah ke direktori yang Anda tentukan di
--output_dir.Jalankan perintah berikut untuk memeriksa persyaratan penginstalan dan upgrade cluster Kubernetes. Pastikan Anda menggunakan versi
istioctlyang didistribusikan dengan versi Cloud Service Mesh yang baru.istioctl experimental precheck