Menyiapkan project dan cluster GKE Anda sendiri

Saat Anda menginstal Cloud Service Mesh menggunakan asmcli, dapat mengonfigurasi project dan GKE Anda di cluster Google Cloud jika Anda menyertakan tanda --enable_all atau versi yang lebih terperinci flag pengaktifan. Jika Anda lebih suka melakukan penyiapan sendiri daripada meminta asmcli melakukan perubahan, ikuti langkah-langkah di halaman ini.

Jika sudah menginstal Cloud Service Mesh versi sebelumnya, Anda tidak perlu membuat perubahan pada project atau cluster Anda sebelum menggunakan asmcli untuk mengupgrade ke versi terbaru Versi Cloud Service Mesh.

Secara default, asmcli tidak menginstal istio-ingressgateway. Rab sebaiknya deploy dan kelola bidang kontrol dan gateway secara terpisah. Cloud Service Mesh mendukung injeksi otomatis untuk deployment gateway, yang Upgrade Cloud Service Mesh menjadi lebih mudah. Setelah mengupgrade Cloud Service Mesh, Anda harus memulai ulang {i>gateway<i} seperti layanan Anda untuk mengambil konfigurasi bidang kontrol baru. Untuk informasi selengkapnya, lihat Menginstal dan mengupgrade gateway.

Sebelum memulai

Menyiapkan project

  1. Dapatkan project ID untuk project tempat cluster dibuat.

    gcloud

    Jalankan perintah berikut:

    gcloud projects list
    

    Konsol

    1. Buka halaman Dasbor di Konsol Google Cloud Anda.

      Buka halaman Dasbor

    2. Klik daftar drop-down di bagian atas halaman. Di kolom Pilih dari yang muncul, lalu pilih project Anda.

      Project ID ditampilkan di Dasbor project Info project .

  2. Buat variabel lingkungan untuk kumpulan workload menggunakan project ID:

    export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
    
  3. Tetapkan peran Identity and Access Management (IAM) yang diperlukan. Jika Anda adalah Pemilik Project, Anda memiliki semua izin yang diperlukan untuk menyelesaikannya penginstalan. Jika Anda bukan Pemilik Project, Anda membutuhkan seseorang yang untuk memberi Anda peran IAM spesifik berikut. Di kolom perintah berikut, ganti PROJECT_ID dengan project ID dari langkah sebelumnya dan GCP_EMAIL_ADDRESS dengan akun yang Anda gunakan untuk login ke Google Cloud.

    ROLES=(
    'roles/servicemanagement.admin' \
    'roles/serviceusage.serviceUsageAdmin' \
    'roles/meshconfig.admin' \
    'roles/compute.admin' \
    'roles/container.admin' \
    'roles/resourcemanager.projectIamAdmin' \
    'roles/iam.serviceAccountAdmin' \
    'roles/iam.serviceAccountKeyAdmin' \
    'roles/gkehub.admin')
    for role in "${ROLES[@]}"
    do
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "user:GCP_EMAIL_ADDRESS" \
        --role="$role"
    done
    

    Jika Anda menyertakan tanda --enable_all atau --enable_gcp_iam_roles saat Anda menjalankan asmcli, tindakan ini menetapkan peran IAM yang diperlukan untuk Anda.

  4. Aktifkan Google API yang diperlukan:

    gcloud services enable \
        --project=PROJECT_ID \
        mesh.googleapis.com
    

    Selain mesh.googleapis.com, perintah ini juga memungkinkan API berikut:

    API Tujuan Bisa Dinonaktifkan
    meshconfig.googleapis.com Cloud Service Mesh menggunakan Mesh Configuration API untuk merelai data konfigurasi dari mesh Anda ke Google Cloud. Selain itu, mengaktifkan Mesh Configuration API memungkinkan Anda mengakses halaman Cloud Service Mesh di Konsol Google Cloud dan menggunakan certificate authority Cloud Service Mesh. Tidak
    meshca.googleapis.com Terkait dengan certificate authority Cloud Service Mesh yang digunakan oleh Cloud Service Mesh terkelola. Tidak
    container.googleapis.com Diperlukan untuk membuat cluster Google Kubernetes Engine (GKE). Tidak
    gkehub.googleapis.com Diperlukan untuk mengelola mesh sebagai fleet. Tidak
    monitoring.googleapis.com Diperlukan untuk mengambil telemetri untuk workload mesh. Tidak
    stackdriver.googleapis.com Diperlukan untuk menggunakan UI Services. Tidak
    opsconfigmonitoring.googleapis.com Diperlukan untuk menggunakan UI Layanan bagi cluster di luar Google Cloud. Tidak
    connectgateway.googleapis.com Diperlukan agar bidang kontrol Cloud Service Mesh terkelola dapat mengakses workload mesh. Ya*
    trafficdirector.googleapis.com Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya*
    networkservices.googleapis.com Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya*
    networksecurity.googleapis.com Mengaktifkan bidang kontrol terkelola yang sangat tersedia dan skalabel. Ya*

    Pengaktifan API dapat memerlukan waktu satu menit atau lebih. Kapan API diaktifkan, Anda akan melihat output yang mirip dengan berikut ini:

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

    Jika Anda menyertakan flag --enable_all atau --enable_apis saat menjalankan asmcli, API yang diperlukan akan diaktifkan.

Menyiapkan cluster

Jika Anda menyertakan tanda --enable_all, atau salah satu tag yang lebih terperinci tanda pengaktifan, asmcli menyiapkan cluster untuk Anda.

  1. Tetapkan zona atau region default untuk Google Cloud CLI. Jika Anda tidak menetapkan default di sini, pastikan untuk menentukan --zone atau --region di perintah gcloud container clusters di halaman ini.

    • Jika Anda memiliki cluster zona tunggal, tetapkan zona default:

      gcloud config set compute/zone CLUSTER_LOCATION
      
    • Jika Anda memiliki cluster regional, tetapkan region default:

      gcloud config set compute/region CLUSTER_LOCATION
      
  2. Aktifkan Identitas Beban Kerja:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --workload-pool=${WORKLOAD_POOL}
    

    Pengaktifan Workload Identity dapat memerlukan waktu 10 hingga 15 menit.

  3. Daftarkan cluster ke fleet.

  4. Inisialisasi project Anda agar siap untuk diinstal. Di antara hal lainnya, perintah ini membuat akun layanan untuk membiarkan komponen bidang data, seperti sebagai proxy file bantuan, akses data dan resource project Anda dengan aman. Pada perintah berikut, ganti FLEET_PROJECT_ID dengan tindakan project host perangkat:

    curl --request POST  \
     --header "Authorization: Bearer $(gcloud auth print-access-token)" \
     --header "Content-Type: application/json" \
     --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \
     "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
    

    Perintah merespons dengan tanda kurung kurawal kosong: {}

  5. Aktifkan Cloud Monitoring dan Cloud Logging di GKE:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --enable-stackdriver-kubernetes
    

Project dan cluster Anda kini siap untuk diinstal baru menggunakan asmcli.

Langkah selanjutnya