Mengaktifkan fitur opsional

Saat menginstal Anthos Service Mesh, bergantung pada lingkungan Anda, tentukan profil konfigurasi, atau tentukan file overlay yang menyetel profil untuk Anda. Profil konfigurasi adalah file YAML yang menggunakan API IstioOperator. Profil menentukan dan mengonfigurasi fitur yang diinstal dengan Anthos Service Mesh. Profil Anthos Service Mesh adalah overlay dari profil empty (yang berarti tidak ada setelan) atau profil default Istio. Profil berikut disediakan dengan Anthos Service Mesh:

  • asm-gcp: Gunakan profil ini jika semua cluster GKE Anda berada dalam project yang sama. Saat Anda menginstal Anthos Service Mesh dengan profil ini, fitur berikut akan diaktifkan:

  • asm-gcp-multiproject: Gunakan profil ini jika cluster GKE Anda berada di Shared Virtual Private Cloud, dan Anda ingin menambahkan cluster dari project yang berbeda ke Anthos Service Mesh. Saat Anda menginstal Anthos Service Mesh menggunakan profil asm-gcp-multiproject:

    • Dasbor Anthos Service Mesh di Konsol Google Cloud saat ini tidak tersedia. Namun, Anda masih dapat melihat log di Cloud Logging dan metrik di Cloud Monitoring untuk setiap project.

    • Fitur Default yang didukung yang tercantum di halaman Fitur yang didukung untuk profil konfigurasi asm-gcp-multiproject diaktifkan.

  • asm-multicloud: Gunakan profil ini untuk cluster di lingkungan lain yang didukung: GKE di VMware, GKE di AWS, Amazon Elastic Kubernetes Service (Amazon EKS), dan Microsoft Azure Kubernetes Service (Microsoft AKS). Saat Anda menginstal Anthos Service Mesh menggunakan profil asm-multicloud.yaml, tindakan ini akan mengaktifkan fitur Default yang didukung yang tercantum di halaman Fitur yang didukung untuk profil konfigurasi asm-multicloud.

Profil tersebut berada di subdirektori manifests/profiles dalam direktori utama penginstalan Anthos Service Mesh.

File overlay

File overlay adalah file YAML yang berisi resource kustom (CR) IstioOperator yang Anda gunakan untuk mengonfigurasi bidang kontrol. Anda dapat mengganti konfigurasi default dan mengaktifkan fitur opsional yang didukung dalam file overlay. Anda dapat menambahkan lapisan pada lebih banyak overlay, dan setiap file overlay akan mengganti konfigurasi pada lapisan sebelumnya.

Saat menginstal atau mengupgrade Anthos Service Mesh menggunakan perintah istioctl install, Anda dapat menentukan satu atau beberapa file overlay di command line dengan opsi command line -f.

Jangan menyertakan beberapa CR dalam satu file YAML Membuat file YAML terpisah untuk setiap CR
beberapa CR dalam satu yaml file yaml terpisah untuk setiap CR

Meskipun Anda dapat memodifikasi konfigurasi dengan menentukan parameter konfigurasi pada command line menggunakan opsi --set untuk istioctl install, sebaiknya gunakan file overlay agar dapat menyimpan file di sistem kontrol versi bersama dengan file definisi resource lainnya. Anda harus menyimpan file ini saat mengupgrade Anthos Service Mesh agar mesh layanan Anda memiliki konfigurasi yang sama setelah upgrade.

File overlay di halaman ini berada dalam paket asm di GitHub. File ini berisi penyesuaian umum pada profil. Anda dapat menggunakan file ini sebagaimana adanya, atau membuat perubahan tambahan pada file tersebut sesuai kebutuhan. Anda juga dapat membuat file overlay sendiri, seperti yang dijelaskan dalam Menyesuaikan konfigurasi.

Saat menginstal Anthos Service Mesh menggunakan skrip install_asm yang disediakan Google, Anda dapat menentukan satu atau beberapa file overlay dengan opsi --option atau --custom_overlay. Jika tidak perlu melakukan perubahan pada file, Anda dapat menggunakan --option, dan skrip akan mengambil file dari GitHub untuk Anda. Jika tidak, Anda dapat membuat perubahan pada file overlay, lalu menggunakan opsi --custom_overlay untuk meneruskannya ke skrip install_asm. Untuk contoh penggunaan kedua opsi tersebut, lihat contoh install_asm.

Untuk mendownload paket asm:

Langkah-langkah berikut menggunakan kpt untuk mendownload paket asm dari repositori GitHub. Jika ingin, Anda dapat menggunakan git clone.

  1. Instal kpt jika Anda belum melakukannya:

    gcloud components install kpt
    
  2. Download paket yang berisi file:

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

Contoh

Untuk mengaktifkan fitur saat menginstal atau mengupgrade Anthos Service Mesh, Anda harus menyertakan profil atau file overlay yang menetapkan profil dan file untuk fitur yang ingin diaktifkan. Perintah yang tepat sedikit berbeda bergantung pada lingkungan dan apakah Anda menggunakan skrip install_asm atau perintah istioctl install.

Semua perintah berikut menetapkan label revisi pada istiod. Label revisi menggunakan format istio.io/rev=asm-178-10. Label revisi digunakan oleh webhook injektor file bantuan otomatis untuk mengaitkan file bantuan yang diinjeksikan dengan revisi istiod tertentu. Guna mengaktifkan injeksi otomatis file bantuan untuk namespace, beri label dengan revisi yang cocok dengan label revisi pada istiod.

Mengaktifkan gateway keluar di GKE lokal

Contoh ini mengasumsikan bahwa Anda telah mengikuti langkah-langkah dalam panduan Menginstal Anthos Service Mesh secara lokal hingga Anda menginstal Anthos Service Mesh, dan paket asm berada di direktori kerja Anda saat ini. File egressgateways.yaml berisi konfigurasi untuk mengaktifkan gateway keluar.

  1. Instal Anthos Service Mesh di GKE di VMware:

    istioctl install \
      --set profile=asm-multicloud \
      -f asm/istio/options/egressgateways.yaml \
      --set revision=asm-178-10
    
  2. Pastikan untuk kembali ke panduan penginstalan GKE di VMware untuk mengonfigurasi webhook validasi yang diperlukan untuk penginstalan baru.

Mengaktifkan gateway keluar di GKE di Google Cloud

Sebaiknya gunakan skrip install_asm untuk menyiapkan cluster mandiri atau beberapa cluster dalam project yang sama. Skrip menggunakan profil asm-gcp, dan menetapkan label revisi pada istiod. Contoh ini mengasumsikan bahwa Anda telah mengikuti panduan Menginstal Anthos Service Mesh di GKE untuk mendownload versi skrip install_asm di cabang release-1.7-asm yang menginstal Anthos Service Mesh 1.7.8.

Untuk menggunakan skrip install_asm guna menginstal gateway keluar:

./install_asm \
  --project_id PROJECT_ID \
  --cluster_name CLUSTER_NAME \
  --cluster_location CLUSTER_LOCATION \
  --mode install \
  --enable_apis \
  --option egressgateways

Perintah ini menjalankan skrip untuk penginstalan baru, menetapkan profil asm-gcp, mengonfigurasi cluster dengan opsi yang diperlukan oleh Anthos Service Mesh, mengaktifkan Mesh CA (certificate authority default untuk penginstalan baru), mengizinkan skrip untuk mengaktifkan Google API yang diperlukan, dan mengambil egressgateways.yaml dari GitHub.

Aktifkan gateway keluar di cluster GKE di berbagai project

Saat ini, skrip install_asm tidak mendukung penginstalan Anthos Service Mesh dengan profil asm-gcp-multiproject, yang merupakan profil wajib jika Anda ingin mengonfigurasi beberapa cluster di project yang berbeda untuk Anthos Service Mesh.

Command line berikut mengasumsikan bahwa Anda telah mengikuti semua langkah dalam Penginstalan dan migrasi multi-project hingga Anda menginstal Anthos Service Mesh, dan paket asm berada di direktori kerja Anda saat ini.

  1. Instal Anthos Service Mesh:

    istioctl install \
     -f asm/istio/istio-operator.yaml \
     -f asm/istio/options/multiproject.yaml \
     -f asm/istio/options/multicluster.yaml\
     -f asm/istio/options/egressgateways.yaml \
     --set revision=asm-178-10
    

    File berikut menempatkan setelan pada file istio-operator.yaml:

    • File multiproject.yaml menetapkan profil asm-gcp-multiproject. Karena file ini menetapkan profil, Anda harus menentukannya sebelum file overlay lainnya.

    • File multicluster.yaml mengonfigurasi setelan yang diperlukan Anthos Service Mesh untuk konfigurasi multi-cluster.

    • File egressgateways.yaml mengonfigurasi gateway keluar.

  2. Pastikan untuk kembali ke Panduan penginstalan multi-project guna mengonfigurasi webhook validasi yang diperlukan untuk penginstalan baru.

YAML untuk fitur opsional

Bagian berikut ini menyediakan YAML untuk mengaktifkan fitur opsional dan yang didukung.

Mode STRICT mTLS

Konfigurasi global.mtls.enabled telah dihapus untuk menghindari masalah dengan upgrade dan untuk menyediakan penginstalan yang lebih fleksibel. Untuk mengaktifkan mTLS STRICT, konfigurasikan kebijakan autentikasi peer.

Mengarahkan Envoy ke stdout

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    accessLogFile: "/dev/stdout"

Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan logging akses Envoy.

Cloud Trace

Untuk penginstalan di GKE, Anda dapat mengaktifkan Cloud Trace. Untuk mengetahui informasi harga yang lebih detail, lihat halaman harga Cloud Trace.

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    enableTracing: true
  values:
    global:
      proxy:
        tracer: stackdriver

Frekuensi sampling default adalah 1%, tetapi Anda dapat mengganti frekuensi sampling default dengan menentukan nilai tracing.sampling. Nilai harus dalam rentang 0,0 hingga 100,0 dengan presisi 0,01. Misalnya, untuk melacak 5 permintaan dari setiap 10.000 permintaan,gunakan 0, 05.

Contoh berikut menunjukkan frekuensi sampling 100% (yang hanya akan Anda lakukan untuk tujuan demo atau pemecahan masalah).

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    enableTracing: true
    defaultConfig:
      tracing:
        sampling: 100
  values:
    global:
      proxy:
        tracer: stackdriver

Propagasi konteks rekaman aktivitas

Meskipun proxy file bantuan dapat secara otomatis mengirim span rekaman aktivitas, proxy tersebut memerlukan beberapa petunjuk untuk mengaitkan seluruh rekaman aktivitas. Aplikasi perlu menyebarkan header HTTP yang sesuai, sehingga saat proxy mengirim informasi span, span dapat dikorelasikan dengan benar ke dalam satu pelacakan.

Untuk melakukannya, aplikasi harus mengumpulkan dan menyebarkan header berikut dari permintaan masuk ke semua permintaan keluar:

  • x-request-id
  • Traceid x-b3
  • x-b3-spanid
  • x-b3-orang tua
  • Diambil sampel x-b3
  • flag x-b3
  • x-ot-span-context
  • x-cloud-trace-context
  • induk trace
  • grpc-trace-bin

Untuk contoh yang menyebarkan header, lihat Penyebaran konteks rekaman aktivitas.

Membuat trace dari klien dengan ID kustom

Untuk membuat rekaman aktivitas dari klien dengan ID kustom, gunakan perintah curl untuk membuat permintaan dengan klien eksternal dan memaksanya menampilkan rekaman aktivitas. Contoh:

curl $URL --header "x-client-trace-id: 105445aa7843bc8bf206b12000100000"

Untuk mengetahui informasi selengkapnya tentang x-client-trace-id, lihat dokumentasi Envoy.

Traffic keluar melalui gateway keluar

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    egressGateways:
    - name: istio-egressgateway
      enabled: true

Untuk mengetahui informasi selengkapnya, lihat Gateway Keluar.

Antarmuka Jaringan Container Istio

Cara mengaktifkan Antarmuka Jaringan Container (CNI) Istio bergantung pada lingkungan tempat Anthos Service Mesh diinstal. Anda juga harus mengaktifkan kebijakan jaringan.

Mengaktifkan CNI di GKE

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /home/kubernetes/bin
      excludeNamespaces:
      - istio-system
      - kube-system

Mengaktifkan CNI pada GKE di VMware

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /opt/cni/bin
      excludeNamespaces:
      - istio-system
      - kube-system
      - gke-system

Mengaktifkan load balancer internal

Untuk penginstalan di GKE, Anda dapat mengaktifkan load balancer internal untuk gateway masuk Istio.

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    ingressGateways:
    - name: istio-ingressgateway
      enabled: true
      k8s:
        serviceAnnotations:
          cloud.google.com/load-balancer-type: "internal"
        service:
          ports:
          - name: status-port
            port: 15020
          - name: http2
            port: 80
            targetPort: 8080
          - name: https
            port: 443
            targetPort: 8443

Pengelolaan sertifikat eksternal di gateway masuk

Untuk mengetahui informasi tentang cara mengaktifkan pengelolaan sertifikat eksternal di gateway masuk menggunakan Envoy SDS, lihat Gateway Aman.