Penyiapan untuk menginstal Anthos Service Mesh di GKE

Halaman ini menjelaskan penyiapan Anthos Service Mesh untuk project Cloud dan cluster Google Kubernetes Engine (GKE) untuk mesh yang terdiri dari cluster yang berada dalam project yang sama. Saat Anda menggunakan skrip yang disediakan Google, install_asm, skrip dapat mengonfigurasi project dan cluster secara otomatis jika Anda menyertakan flag --enable_all atau tanda pengaktifan yang lebih terperinci. Jika Anda memilih untuk melakukan penyiapan sendiri daripada meminta install_asm yang membuat perubahan, ikuti langkah-langkah di halaman ini. Jika sudah menginstal Anthos Service Mesh versi sebelumnya, Anda tidak perlu melakukan perubahan apa pun pada project atau cluster sebelum menggunakan install_asm untuk melakukan upgrade ke versi Anthos Service Mesh terbaru.

Sebelum memulai

Menyiapkan project

  1. Dapatkan project ID dan nomor project untuk project tempat cluster dibuat.

    gcloud

    Jalankan perintah berikut:

    gcloud projects list
    

    Konsol

    1. Buka halaman Dashboard di Konsol Google Cloud.

      Buka halaman Dasbor

    2. Klik menu drop-down di bagian atas halaman. Di jendela Select from yang muncul, pilih project Anda.

      Project ID dan nomor project ditampilkan di kartu Project info Dasbor project.

  2. Buat variabel lingkungan berikut:

    • Tetapkan kumpulan beban kerja menggunakan project ID:

      export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
      
    • Tetapkan ID mesh menggunakan nomor project:

      export MESH_ID="proj-PROJECT_NUMBER"
      
  3. Tetapkan peran Identity and Access Management (IAM) yang diperlukan. Jika Anda adalah Project Owner, Anda memiliki semua izin yang diperlukan untuk menyelesaikan penginstalan. Jika Anda bukan Project Owner, Anda memerlukan seseorang yang memberi Anda peran IAM khusus berikut. Dalam 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 flag --enable_all atau --enable_gcp_iam_roles saat menjalankan install_asm, flag tersebut akan menetapkan peran IAM yang diperlukan untuk Anda.

  4. Aktifkan Google API berikut:

    gcloud services enable \
        --project=PROJECT_ID \
        container.googleapis.com \
        compute.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        cloudtrace.googleapis.com \
        meshca.googleapis.com \
        meshtelemetry.googleapis.com \
        meshconfig.googleapis.com \
        iamcredentials.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com \
        stackdriver.googleapis.com
    

    Pengaktifan API dapat memerlukan waktu satu menit atau lebih. Saat 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 install_asm, API yang diperlukan akan diaktifkan.

Menyiapkan cluster Anda

Jika Anda menyertakan flag --enable_all, atau salah satu tanda pengaktifan yang lebih terperinci, skrip install_asm akan menyiapkan cluster untuk Anda.

  1. Tetapkan zona atau region default untuk Google Cloud CLI. Jika Anda tidak menetapkan opsi default di sini, pastikan untuk menentukan opsi --zone atau --region dalam perintah gcloud container clusters pada 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. Tetapkan label mesh_id pada cluster. Jika cluster Anda sudah memiliki label yang ingin dipertahankan, Anda harus menyertakan label tersebut saat menambahkan label mesh_id.

    1. Untuk melihat apakah cluster Anda sudah memiliki label:

      gcloud container clusters describe CLUSTER_NAME \
          --project PROJECT_ID
      

      Cari kolom resourceLabels di output. Setiap label disimpan pada baris terpisah di bawah kolom resourceLabels, misalnya:

      resourceLabels:
        csm: ''
        env: dev
        release: stable

      Untuk memudahkan, Anda dapat menambahkan label ke variabel lingkungan. Dalam hal berikut, ganti YOUR_EXISTING_LABELS dengan daftar yang dipisahkan koma dari label yang ada di cluster Anda dalam format KEY=VALUE, misalnya: env=dev,release=stable

      export EXISTING_LABELS="YOUR_EXISTING_LABELS"
      
    2. Tetapkan label mesh_id:

      • Jika cluster Anda sudah memiliki label yang ingin dipertahankan, update cluster dengan mesh_id dan label yang sudah ada:

        gcloud container clusters update CLUSTER_NAME \
            --project PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
        
      • Jika cluster tidak memiliki label, update cluster hanya dengan label mesh_id:

        gcloud container clusters update CLUSTER_NAME \
            --project=PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID}
        
  3. Aktifkan Workload Identity:

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

    Mengaktifkan Workload Identity dapat memerlukan waktu hingga 10 hingga 15 menit.

  4. Aktifkan Cloud Monitoring dan Cloud Logging di GKE:

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

Langkah selanjutnya

Project dan cluster GKE Anda sekarang siap untuk penginstalan atau migrasi baru dari Istio menggunakan install_asm. Saat Anda menginstal Anthos Service Mesh menggunakan install_asm, skrip:

  1. Memvalidasi project dan cluster Anda.
  2. Mengonfigurasi file resource kustom (CR) IstioOperator yang diperlukan dengan informasi project dan cluster Anda untuk mengaktifkan fitur default.
  3. Menelepon istioctl install. Anda dapat menentukan file CR IstioOperator tambahan saat memanggil install_asm untuk mengaktifkan fitur opsional