Mulai

Halaman ini menunjukkan cara menyiapkan lingkungan dan cluster untuk menginstal Anthos Service Mesh

Instal alat yang diperlukan

Anda dapat menjalankan asmcli di Cloud Shell atau di mesin lokal yang menjalankan Linux. Cloud Shell menginstal semua alat yang diperlukan.

Jika menjalankan asmcli secara lokal, pastikan Anda telah menginstal alat berikut:

Mengonfigurasi gcloud

Lakukan langkah-langkah berikut meskipun Anda menggunakan Cloud Shell.

  1. Lakukan autentikasi dengan Google Cloud CLI:

    gcloud auth login --project PROJECT_ID
    
  2. Update komponen:

    gcloud components update
    
  3. Jika Anda menginstal Anthos Service Mesh di cluster GKE, konfigurasikan kubectl agar mengarah ke cluster.

    gcloud container clusters get-credentials CLUSTER_NAME \
         --zone CLUSTER_LOCATION \
         --project PROJECT_ID
    

Unduh asmcli

Bagian ini menjelaskan cara mendownload asmcli.

  1. Download versi yang menginstal Anthos Service Mesh 1.10.6 ke direktori kerja saat ini:

    curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
    
  2. Buat agar skrip dapat dieksekusi:

    chmod +x asmcli
    

Memberikan izin admin cluster

  1. Alihkan konteks ke cluster pengguna Anda:

    kubectl config use-context CLUSTER_NAME
  2. Berikan izin admin cluster ke akun pengguna Anda (alamat email login Google Cloud Anda). Anda memerlukan izin berikut agar dapat membuat aturan role-based access control (RBAC) yang diperlukan untuk Anthos 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 kebutuhan untuk menginstal Anthos Service Mesh. Dengan opsi ini, asmcli tidak membuat perubahan apa pun pada project atau cluster Anda, dan tidak menginstal Anthos Service Mesh.

Skrip ini memvalidasi bahwa:

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. Sebaiknya Anda menentukan direktori untuk download dengan opsi --output_dir DIR_PATH. Opsi --output_dir memudahkan Anda menggunakan alat command line istioctl jika Anda membutuhkannya. Selain itu, file konfigurasi untuk mengaktifkan fitur opsional disertakan dalam direktori asm/istio/options.

Jalankan perintah berikut untuk memvalidasi konfigurasi Anda dan mendownload file penginstalan serta paket asm ke direktori OUTPUT_DIR.

GKE

./asmcli validate \
  --project_id PROJECT_ID \
  --cluster_name CLUSTER_NAME \
  --cluster_location CLUSTER_LOCATION \
  --output_dir DIR_PATH
  • --project_id, --cluster_name, dan --cluster_location Tentukan project ID tempat cluster berada, nama cluster, dan zona cluster atau region.

    • --output_dir Sertakan opsi ini untuk menentukan direktori tempat asmcli mendownload paket asm dan mengekstrak file penginstalan, yang berisi istioctl, contoh, dan manifes. Jika tidak, asmcli akan mendownload file ke direktori tmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan $PWD tidak berfungsi di sini.

Lokal

  1. Setel konteks saat ini ke cluster pengguna Anda:

    kubectl config use-context CLUSTER_NAME
    
  2. Jalankan perintah berikut untuk memvalidasi konfigurasi Anda dan mendownload file penginstalan serta paket asm ke direktori OUTPUT_DIR:

    ./asmcli validate \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud
    
    • --kubeconfig Jalur ke kubeconfig Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan $PWD tidak berfungsi di sini.

    • --output_dir Sertakan opsi ini untuk menentukan direktori tempat asmcli mendownload paket asm dan mengekstrak file penginstalan, yang berisi istioctl, contoh, dan manifes. Jika tidak, asmcli akan mendownload file ke direktori tmp. Anda dapat menentukan jalur relatif atau jalur lengkap. Variabel lingkungan $PWD tidak berfungsi di sini.

    • --platform multicloud Menentukan bahwa infrastruktur lokal adalah platformnya.

Jika berhasil, skrip 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, skrip 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
the script with the '--enable_gcp_apis' flag to allow the script to enable them
on your behalf.

Jika Anda mendapatkan pesan error yang menyatakan perlunya menjalankan skrip dengan tanda pengaktifan, Anda memiliki opsi berikut:

  • Sertakan tanda tertentu dari pesan error atau tanda --enable_all saat menjalankan skrip untuk melakukan penginstalan yang sebenarnya (yaitu, tanpa --only_validate).

  • Jika ingin, Anda dapat mengupdate project dan membuat cluster sendiri sebelum menjalankan skrip seperti yang dijelaskan dalam Penyiapan untuk menginstal Anthos Service Mesh di GKE.

Perhatikan bahwa asmcli tidak mengizinkan tanda pengaktifan dengan --only_validate.

Memeriksa persyaratan penginstalan dan upgrade cluster

Sebelum mengupgrade, pastikan konfigurasi Anda kompatibel dengan Anthos Service Mesh versi baru.

  1. Ubah ke direktori yang Anda tentukan di --output_dir.

  2. Jalankan perintah berikut guna memeriksa persyaratan penginstalan dan upgrade pada cluster Kubernetes. Pastikan Anda menggunakan versi istioctl yang didistribusikan dengan versi Anthos Service Mesh baru.

    istioctl experimental precheck
    

Apa langkah selanjutnya?