Menginstal Anthos Service Mesh di GKE

Halaman ini menjelaskan cara melakukan penginstalan pembersihan Anthos Service Mesh versi 1.6.14 di cluster GKE. Jika Anda telah menginstal Anthos Service Mesh versi sebelumnya, lihat Mengupgrade Anthos Service Mesh di GKE.

Sebelum memulai

Sebelum menginstal Anthos Service Mesh, pastikan Anda memiliki:

Menetapkan kredensial dan izin

  1. Lakukan inisialisasi project Anda agar siap untuk diinstal. Di antara hal lainnya, perintah ini membuat akun layanan yang memungkinkan komponen bidang kontrol, seperti proxy sidecar, mengakses data dan resource project Anda dengan aman:

    curl --request POST \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --data '' \
      "https://meshconfig.googleapis.com/v1alpha1/projects/${PROJECT_ID}:initialize"

    Perintah ini merespons dengan tanda kurung kurawal kosong: {}

  2. Dapatkan kredensial autentikasi untuk berinteraksi dengan cluster:

    gcloud container clusters get-credentials ${CLUSTER_NAME} \
        --project=${PROJECT_ID}
    
  3. Berikan izin admin cluster kepada pengguna saat ini. 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="$(gcloud config get-value core/account)"

Jika melihat error "cluster-admin-binding" already exists, Anda dapat mengabaikannya dengan aman dan melanjutkan dengan cluster-admin-binding yang ada.

Mendownload file penginstalan

    Linux

  1. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-linux-amd64.tar.gz
  2. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.6.14-asm.2-linux-amd64.tar.gz.1.sig istio-1.6.14-asm.2-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  3. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.6.14-asm.2-linux-amd64.tar.gz

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.6.14-asm.2 yang berisi:

    • Contoh aplikasi di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di direktori manifests/profiles.

  4. Mac OS

  5. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-osx.tar.gz
  6. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.6.14-asm.2-osx.tar.gz.1.sig istio-1.6.14-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  7. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.6.14-asm.2-osx.tar.gz

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.6.14-asm.2 yang berisi:

    • Contoh aplikasi di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di direktori manifests/profiles.

  8. Windows

  9. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-win.zip
  10. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.6.14-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.6.14-asm.2-win.zip.1.sig istio-1.6.14-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  11. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.6.14-asm.2-win.zip

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.6.14-asm.2 yang berisi:

    • Contoh aplikasi di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Anthos Service Mesh ada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di direktori manifests/profiles.

  12. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh.
    cd istio-1.6.14-asm.2
  13. Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH

Mempersiapkan file konfigurasi resource

Saat menjalankan perintah istioctl install, Anda menentukan -f istio-operator.yaml pada command line. File ini berisi informasi tentang project dan cluster yang diperlukan Anthos Service Mesh. Anda harus mendownload paket yang berisi istio-operator.yaml dan file konfigurasi resource lainnya agar dapat menetapkan informasi project dan cluster.

Untuk memulai, pilih paket yang akan didownload berdasarkan certificate authority (CA) yang ingin digunakan:

  • asm: Paket ini mengaktifkan Mesh CA, yang kami rekomendasikan untuk penginstalan baru.

  • asm-citadel: Secara opsional, Anda dapat mengaktifkan Citadel sebagai CA. Sebelum memilih paket ini, lihat Memilih certificate authority untuk mengetahui informasi selengkapnya.

Untuk menyiapkan file konfigurasi resource:

  1. Buat direktori baru untuk file konfigurasi resource paket Anthos Service Mesh. Sebaiknya gunakan nama cluster sebagai nama direktori.

  2. Ubah ke direktori tempat Anda ingin mendownload paket Anthos Service Mesh.

  3. Download paket yang ingin Anda gunakan, berdasarkan CA

    Mesh CA

    Download paket asm, yang mengaktifkan Mesh CA:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.6-asm asm
    

    Benteng

    Download paket asm-citadel, yang mengaktifkan Citadel sebagai CA:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm-citadel@release-1.6-asm asm
    
  4. Tetapkan project ID untuk project tempat cluster dibuat:

    kpt cfg set asm gcloud.core.project ${PROJECT_ID}
    
  5. Tetapkan nomor project untuk project host fleet:

    kpt cfg set asm gcloud.project.environProjectNumber ${FLEET_PROJECT_NUMBER}
    
  6. Tetapkan nama cluster:

    kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
    
  7. Tetapkan zona atau region default:

    kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
    
  8. Tetapkan webhook validasi untuk menggunakan label revisi:

    kpt cfg set asm anthos.servicemesh.rev asm-1614-2
    

    Saat menginstal Anthos Service Mesh, Anda menetapkan label revisi pada istiod. Anda harus menetapkan revisi yang sama pada webhook validasi.

  9. Tetapkan profil konfigurasi yang akan Anda gunakan:

    • Jika semua cluster Anda berada di project yang sama, tetapkan profil asm-gcp:

      kpt cfg set asm anthos.servicemesh.profile asm-gcp
      
    • Jika mesh layanan Anda berisi atau akan berisi beberapa cluster yang berada di project yang berbeda, tetapkan profil asm-gcp-multiproject (beta):

      kpt cfg set asm anthos.servicemesh.profile asm-gcp-multiproject
      
  10. Jika Anda menetapkan profil asm-gcp-multiproject dan mendownload paket asm, yang mengaktifkan Mesh CA, Anda perlu mengonfigurasi alias domain kepercayaan untuk project lain yang akan membentuk mesh layanan multi-cluster/multi-project. Jika tidak, lewati langkah ini.

    1. Dapatkan project ID dari semua cluster yang akan berada di mesh multi-cluster/multi-project.

    2. Untuk setiap project ID cluster, tetapkan alias domain kepercayaan. Misalnya, jika Anda memiliki cluster di 3 project, jalankan perintah berikut dan ganti PROJECT_ID_1, PROJECT_ID_2, dan PROJECT_ID_3 dengan project ID setiap cluster.

      kpt cfg set asm anthos.servicemesh.trustDomainAliases PROJECT_ID_1.svc.id.goog PROJECT_ID_2.svc.id.goog PROJECT_ID_3.svc.id.goog

      Saat mengonfigurasi cluster di project lain, Anda dapat menggunakan perintah yang sama.

      Alias domain kepercayaan memungkinkan Mesh CA untuk mengautentikasi beban kerja pada cluster dalam project lain. Selain menyetel alias domain tepercaya, setelah menginstal Anthos Service Mesh, Anda harus mengaktifkan load balancing lintas cluster.

  11. Hasilkan nilai penyetel kpt:

      kpt cfg list-setters asm
    

    Di output dari perintah, verifikasi bahwa nilai untuk penyetel berikut sudah benar:

    • anthos.servicemesh.rev
    • gcloud.compute.location
    • gcloud.container.cluster
    • gcloud.core.project
    • gcloud.project.environProjectNumber

Menginstal Anthos Service Mesh

  1. Pastikan konteks kubeconfig saat ini mengarah ke cluster tempat Anda ingin menginstal Anthos Service Mesh:

      kubectl config current-context
    

    Outputnya akan dalam format berikut:

      gke_PROJECT_ID_CLUSTER_LOCATION_CLUSTER_NAME

    Konteks kubeconfig dan nilai penyetel kpt harus cocok. Jika perlu, jalankan perintah gcloud container clusters get-credentials untuk menetapkan konteks kubeconfig saat ini.

  2. Jika Anda menggunakan Citadel sebagai certificate authority, dan ingin menggunakan CA kustom, jalankan perintah berikut. Jika tidak, lewati ke langkah berikutnya.

    kubectl create namespace istio-system
    kubectl create secret generic cacerts  \
      -n istio-system \
      --from-file=ca-cert.pem \
      --from-file=ca-key.pem \
      --from-file=root-cert.pem \
      --from-file=cert-chain.pem

    Untuk informasi selengkapnya, lihat Mencolokkan Sertifikat CA yang ada.

  3. Jalankan perintah berikut untuk menginstal Anthos Service Mesh menggunakan profil konfigurasi yang Anda tetapkan di file istio-operator.yaml. Jika Anda ingin mengaktifkan fitur opsional yang didukung, sertakan -f dan nama file YAML pada command line berikut. Lihat Mengaktifkan fitur opsional untuk mengetahui informasi selengkapnya.

    istioctl install \
      -f asm/cluster/istio-operator.yaml \
      --set revision=asm-1614-2

    Argumen --set revision menambahkan label revisi dalam format istio.io/rev=asm-1614-2 ke istiod. Label revisi digunakan oleh webhook injektor sidecar otomatis untuk mengaitkan file bantuan yang dimasukkan dengan revisi istiod tertentu. Guna mengaktifkan injeksi otomatis file bantuan untuk namespace, Anda harus melabelinya dengan revisi yang cocok dengan label pada istiod.

  4. Konfigurasikan webhook yang memvalidasi agar dapat menemukan layanan istiod dengan label revisi:

    kubectl apply -f asm/istiod-service.yaml

    Perintah ini membuat entri layanan yang memungkinkan webhook yang memvalidasi secara otomatis memeriksa konfigurasi sebelum diterapkan.

  5. Jika Anda menggunakan profil asm-gcp, jalankan perintah berikut untuk men-deploy pengontrol Layanan Kanonis:

    kubectl apply -f asm/canonical-service/controller.yaml

    Perintah ini men-deploy pengontrol Layanan Kanonis ke cluster Anda. Pengontrol Layanan Kanonis mengelompokkan beban kerja yang termasuk dalam layanan logis yang sama, dan diperlukan untuk membuka fungsi tambahan di dasbor Layanan pada Konsol Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan pengontrol Layanan Kanonis.

    Jika Anda menggunakan profil asm-gcp-multiproject, saat ini data telemetri tidak ditampilkan di dasbor Anthos Service Mesh di Konsol Google Cloud. Namun, Anda masih dapat melihat log di Cloud Logging dan metrik di Cloud Monitoring untuk setiap project.

TLS bersama otomatis (auto mTLS) diaktifkan secara default. Dengan mTLS otomatis, proxy file bantuan klien akan otomatis mendeteksi apakah server memiliki file bantuan. File bantuan klien mengirimkan mTLS ke workload dengan file bantuan dan mengirimkan traffic teks biasa ke workload tanpa sidecar.

Memeriksa komponen bidang kontrol

Pastikan pod bidang kontrol di istio-system sudah aktif:

kubectl get pod -n istio-system

Output yang diharapkan mirip dengan berikut ini:

NAME                                   READY   STATUS      RESTARTS   AGE
istio-ingressgateway-cff9f5c7d-qg4ls   1/1     Running   0          7m5s
istio-ingressgateway-cff9f5c7d-vlkzb   1/1     Running   0          7m20s
istiod-66b587859c-886gx                1/1     Running   0          7m33s
istiod-66b587859c-dfs2j                1/1     Running   0          7m33s

Memasukkan proxy file bantuan

Anthos Service Mesh menggunakan proxy file bantuan untuk meningkatkan keamanan, keandalan, dan kemampuan observasi jaringan. Dengan Anthos Service Mesh, fungsi-fungsi ini diabstraksikan dari container utama aplikasi dan diimplementasikan dalam proxy di luar proses umum yang dikirimkan sebagai container terpisah dalam Pod yang sama.

Sebelum men-deploy workload, pastikan untuk mengonfigurasi injeksi proxy sidecar sehingga Anthos Service Mesh dapat memantau dan mengamankan traffic.

Setiap beban kerja yang berjalan di cluster sebelum Anda menginstal Anthos Service Mesh harus memasukkan atau mengupdate sidecar proxy agar memiliki versi Anthos Service Mesh saat ini. Sebelum men-deploy workload baru, pastikan untuk mengonfigurasi injeksi proxy sidecar sehingga Anthos Service Mesh dapat memantau dan mengamankan traffic.

Untuk mengaktifkan injeksi otomatis file bantuan, beri label namespace dengan revisi yang sama seperti yang Anda tetapkan pada istiod. Jalankan perintah berikut untuk menampilkan label pada istiod:

kubectl -n istio-system get pods -l app=istiod --show-labels

Pastikan label revisi, istio.io/rev=asm-1614-2, ada di output. Ini adalah label yang Anda gunakan untuk mengaktifkan injeksi otomatis. Anda dapat mengaktifkan injeksi otomatis dengan satu perintah, misalnya:

kubectl label namespace NAMESPACE istio-injection-istio.io/rev=asm-1614-2 --overwrite

dengan NAMESPACE adalah nama namespace untuk layanan aplikasi Anda, atau default jika Anda tidak membuat namespace secara eksplisit.

Untuk mengetahui informasi selengkapnya, lihat Memasukkan proxy file bantuan.

Melihat dasbor Anthos Service Mesh

Bagian ini hanya berlaku jika Anda menginstal Anthos Service Mesh dengan profil konfigurasi asm-gcp. Jika Anda menggunakan profil asm-gcp-multiproject untuk menginstal Anthos Service Mesh, data telemetri tidak akan tersedia di dasbor Anthos Service Mesh di Konsol Google Cloud.

Setelah workload di-deploy di cluster dengan proxy file bantuan dimasukkan, Anda dapat menjelajahi halaman Anthos Service Mesh di Konsol Google Cloud untuk melihat semua fitur kemampuan observasi yang ditawarkan Anthos Service Mesh. Perlu diperhatikan bahwa perlu waktu sekitar satu atau dua menit agar data telemetri ditampilkan di konsol Google Cloud setelah Anda men-deploy workload.

Akses ke Anthos Service Mesh di Konsol Google Cloud dikontrol oleh Identity and Access Management (IAM). Untuk mengakses halaman Anthos Service Mesh, Pemilik Project harus memberi pengguna peran Project Editor atau Viewer, atau peran yang lebih ketat yang dijelaskan dalam Mengontrol akses ke Anthos Service Mesh di Konsol Google Cloud.

  1. Di konsol Google Cloud, buka Anthos Service Mesh.

    Buka Anthos Service Mesh

  2. Pilih project Google Cloud dari menu drop-down di panel menu.

  3. Jika Anda memiliki lebih dari satu mesh layanan, pilih mesh dari menu drop-down Service Mesh.

Untuk mempelajari lebih lanjut, lihat Menjelajahi Anthos Service Mesh di Konsol Google Cloud.

Selain halaman Anthos Service Mesh, metrik yang terkait dengan layanan Anda (seperti jumlah permintaan yang diterima oleh layanan tertentu) dikirim ke Cloud Monitoring, yang akan muncul di Metrics Explorer.

Untuk melihat metrik:

  1. Di konsol Google Cloud, buka halaman Monitoring:

    Buka Monitoring

  2. Pilih Resource > Metrics Explorer.

Untuk mengetahui daftar lengkap metrik, lihat Metrik Istio dalam dokumentasi Cloud Monitoring.

Mendaftarkan cluster Anda

Anda harus mendaftarkan cluster ke fleet project untuk mendapatkan akses ke antarmuka pengguna terpadu di Konsol Google Cloud. Armada menyediakan cara terpadu untuk melihat dan mengelola cluster dan workload-nya, termasuk cluster di luar Google Cloud.

Baca bagian Mendaftarkan cluster ke fleet untuk mengetahui informasi tentang cara mendaftarkan cluster Anda.

Langkah selanjutnya