Langkah 3: Instal ASM

Instal ASM

Apigee Hybrid menggunakan distribusi Istio yang disediakan dengan Anthos Service Mesh (ASM). Ikuti langkah-langkah berikut untuk menginstal ASM di cluster Anda.

Versi ASM yang didukung

Lihat Apigee hybrid: platform yang didukung untuk versi ASM yang didukung dalam hybrid versi 1.7.

Melakukan langkah-langkah penyiapan dan konfigurasi ASM

Untuk menyelesaikan penginstalan ASM, Anda harus terlebih dahulu mengikuti penyiapan dan konfigurasi khusus ASM langkah-langkah ini dalam dokumentasi ASM. Kemudian, Anda harus kembali ke sini untuk menyelesaikan solusi khusus campuran sebelum menerapkan konfigurasi ke cluster.

Petunjuk untuk menginstal dan mengonfigurasi ASM berbeda-beda bergantung pada platform Anda. Tujuan platform dibagi ke dalam kategori berikut:

  • GKE: Cluster Google Kubernetes Engine yang berjalan di Google Cloud.
  • Di luar Google Cloud: Cluster Anthos yang dijalankan di:
    • Cluster Anthos di VMware (GKE lokal)
    • Anthos on bare metal
    • Cluster Anthos di AWS
    • Amazon EKS
  • Platform Kubernetes Lainnya: Cluster yang sesuai dibuat dan dijalankan di:
    • AKS
    • EKS
    • OpenShift

GKE

Bersiap menginstal ASM

  1. Periksa variabel lingkungan yang Anda perlukan untuk langkah-langkah berikut, dan tetapkan jika Anda Anda harus:
    echo $PROJECT_ID
    echo $CLUSTER_NAME
    echo $CLUSTER_LOCATION
  2. Buat file overlay bernama overlay.yaml dengan konten berikut:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • apigee-runtime adalah nilai default untuk pemilih node. Ini adalah apigee-runtime kumpulan node yang Anda buat di Langkah 1: Membuat cluster. Jika Anda menggunakan pemilih node yang berbeda atau tidak menggunakannya, ubah atau hapus nodeSelector.
    • STATIC_IP adalah alamat IP untuk load balancer Anda. Jika Anda belum mengaturnya, hapus properti loadBalancerIP, tetapi pertahankan type dan ports.
  3. Ikuti petunjuk untuk mempersiapkan penginstalan ASM:
    1. Anthos prasyarat.
    2. Izin yang diperlukan untuk instal Anthos Service Mesh.
    3. Rencanakan penginstalan.
  4. Instal asmcli dan alat apa pun yang diperlukan seperti git, kubectl, dan jq, dengan mengikuti petunjuk dalam Menginstal alat yang diperlukan.
  5. Lanjutkan langkah untuk Berikan izin admin cluster Anda dan berhenti. Jangan menjalankan "Validasi project dan cluster" langkah waktu ini.
  6. Instal ASM dengan fitur opsional. Tentukan gateway masuk lama dengan --option legacy-default-ingressgateway. misalnya:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path adalah direktori output tempat Anda ingin menyiapkan asmcli instalasi ASM Anda, termasuk semua subdirektori.
    • overlay.yaml adalah file overlay yang Anda buat di langkah sebelumnya.

    Gunakan setelan ini saat mengikuti petunjuk di Instal dengan fitur opsional.

Pemecahan masalah

Jika Anda mengalami error pada merujuk ke gcloud container hub memberships register, Anda mungkin telah melampaui jumlah maksimum cluster yang terdaftar dengan GKE Hub. Contoh:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Coba langkah-langkah berikut untuk memperbaiki error ini, lalu jalankan asmcli install lagi:

  1. Buat daftar keanggotaan GKE Hub untuk project Anda:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Hapus keanggotaan GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Untuk mengetahui informasi selengkapnya tentang batas GKE Hub, lihat Kuota dan batas.

Di luar Google Cloud

Petunjuk ini ditujukan untuk menginstal dan menyiapkan ASM untuk instance hybrid Apigee menggunakan Anthos untuk dijalankan di:

  • Cluster Anthos di VMware (GKE lokal)
  • Anthos on bare metal
  • Cluster Anthos di AWS
  • Amazon EKS

Bersiap menginstal ASM

  1. Periksa variabel lingkungan yang Anda perlukan untuk langkah-langkah berikut, dan tetapkan jika Anda Anda harus:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Catat nilai yang akan Anda perlukan dengan ASMCLI. Inilah nilai-nilai yang Anda akan diminta untuk memberikan saat mengikuti langkah-langkah dalam dokumentasi ASM:
    • FLEET_PROJECT_ID nama project yang akan dikaitkan dengan cluster Anda. Gunakan project yang Anda buat untuk penginstalan ini, yang disimpan di ${PROJECT_ID} variabel lingkungan.
    • KUBECONFIG_FILE Jalur lengkap ke file kubeconfig. Jalur defaultnya adalah $HOME/.kube/config. untuk informasi selengkapnya, lihat Pengorganisasian Akses Cluster Menggunakan File kubeconfig dalam dokumentasi Kubernetes.
    • DIR_PATH direktori output untuk ASMCLI. Ini adalah jalur di mana ia akan membuat file konfigurasi Istio. Contoh: ./asm.
    • GATEWAY_NAMESPACE namespace untuk gateway masuk Istio Anda, misalnya: istio.
    • REVISION label revisi untuk rilis ASM ini. Gunakan asm-1129-3
    • CONTEXT konteks Kubernetes. Memastikan kubernetes menggunakan konteks untuk cluster Anda dengan perintah berikut:
      kubectl config get-contexts

      Jika cluster Anda saat ini bukan konteks saat ini, Anda dapat menyetelnya dengan perintah berikut berikut:

      kubectl config use-context CONTEXT
    • USER_ACCOUNT akun dengan izin admin cluster yang Anda gunakan untuk mengelola cluster.
  3. Tetapkan konteks ke project dan region Anda dengan perintah berikut:

    Setel project ID default Anda:

    gcloud config set project ${PROJECT_ID}

    Jika Anda menggunakan cluster regional, tetapkan region komputasi default:

    gcloud config set compute/region ${CLUSTER_LOCATION}
  4. Dapatkan kredensial dengan perintah berikut:
    gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
  5. Buat file overlay bernama overlay.yaml dengan konten berikut:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
          - name: istio-ingressgateway
            enabled: true
            k8s:
              nodeSelector:
                # default node selector, if different or not using node selectors, change accordingly.
                cloud.google.com/gke-nodepool: apigee-runtime
              resources:
                requests:
                  cpu: 1000m
              service:
                type: LoadBalancer
                loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out.
                ports:
                  - name: http-status-port
                    port: 15021
                  - name: http2
                    port: 80
                    targetPort: 8080
                  - name: https
                    port: 443
                    targetPort: 8443
      meshConfig:
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • apigee-runtime adalah nilai default untuk pemilih node. Ini adalah apigee-runtime kumpulan node yang Anda buat di Langkah 1: Membuat cluster. Jika Anda menggunakan pemilih node yang berbeda atau tidak menggunakannya, ubah atau hapus nodeSelector.
    • STATIC_IP adalah alamat IP untuk load balancer Anda. Jika Anda belum mengaturnya, hapus properti loadBalancerIP, tetapi pertahankan type dan ports.
  6. Ikuti petunjuk untuk mempersiapkan penginstalan ASM:
    1. Anthos prasyarat.
    2. Izin yang diperlukan untuk instal Anthos Service Mesh.
    3. Rencanakan penginstalan.
  7. Instal asmcli dan alat apa pun yang diperlukan seperti git, kubectl, dan jq, dengan mengikuti petunjuk dalam Menginstal alat yang diperlukan.
  8. Lanjutkan langkah untuk Berikan izin admin cluster Anda dan berhenti. Jangan menjalankan "Validasi project dan cluster" langkah waktu ini.
  9. Instal ASM dengan fitur opsional. Tentukan gateway masuk lama dengan --option legacy-default-ingressgateway. misalnya:
    ./asmcli install \
      --verbose \
      --project_id $PROJECT_ID \
      --cluster_name $CLUSTER_NAME \
      --cluster_location $CLUSTER_LOCATION \
      --output_dir dir_path \
      --custom_overlay overlay.yaml \
      --enable_all \
      --option legacy-default-ingressgateway
    • dir_path adalah direktori output tempat Anda ingin menyiapkan asmcli instalasi ASM Anda, termasuk semua subdirektori.
    • overlay.yaml adalah file overlay yang Anda buat di langkah sebelumnya.

    Gunakan setelan ini saat mengikuti petunjuk di Instal dengan fitur opsional.

Pemecahan masalah

Jika Anda mengalami error pada merujuk ke gcloud container hub memberships register, Anda mungkin telah melampaui jumlah maksimum cluster yang terdaftar dengan GKE Hub. Contoh:

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Coba langkah-langkah berikut untuk memperbaiki error ini, lalu jalankan asmcli install lagi:

  1. Buat daftar keanggotaan GKE Hub untuk project Anda:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Hapus keanggotaan GKE Hub:
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Untuk mengetahui informasi selengkapnya tentang batas GKE Hub, lihat Kuota dan batas.

Platform Kubernetes lainnya

AKS

Menyiapkan dan mendownload ASM

Baca langkah-langkah berikut dengan cermat sebelum memulai. Kami akan meminta Anda melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.

Panduan ini menjelaskan cara melakukan penginstalan bersih versi Anthos Service Mesh (ASM) 1.12.9-asm.3 di cluster terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh pada lingkungan berikut:

  • Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
  • Red Hat OpenShift

Bersiap menginstal Anthos Service Mesh

    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.12.9-asm.3-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.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests/profiles.
  4. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  5. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests/profiles.
  10. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  11. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-win.zip

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests\profiles.
  16. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  17. Untuk memudahkan, tambahkan alat dalam direktori \bin ke PATH Anda:
    set PATH=%CD%\bin:%PATH%
  18. Setelah ASM Istio terinstal, periksa versi istioctl:
    istioctl version
  19. Buat namespace bernama istio-system untuk komponen bidang kontrol:
    kubectl create namespace istio-system

Menginstal Anthos Service Mesh

  1. buat file bernama overlay.yaml dengan konten berikut:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instal Anthos Service Mesh dengan istioctl menggunakan profil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

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

  3. Pastikan bahwa pod istiod berjalan dengan kubectl get pods:
    kubectl get pods -n istio-system

    Output Anda akan terlihat seperti:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Pastikan penginstalan Anda telah selesai:
    kubectl get svc -n istio-system

    Output Anda akan terlihat seperti:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

EKS

Menyiapkan dan mendownload ASM

Baca langkah-langkah berikut dengan cermat sebelum memulai. Kami akan meminta Anda melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.

Panduan ini menjelaskan cara melakukan penginstalan bersih versi Anthos Service Mesh (ASM) 1.12.9-asm.3 di cluster terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh pada lingkungan berikut:

  • Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
  • Red Hat OpenShift

Bersiap menginstal Anthos Service Mesh

    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.12.9-asm.3-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.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  3. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests/profiles.
  4. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  5. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  9. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests/profiles.
  10. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  11. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  15. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-win.zip

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests\profiles.
  16. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  17. Untuk memudahkan, tambahkan alat dalam direktori \bin ke PATH Anda:
    set PATH=%CD%\bin:%PATH%
  18. Setelah ASM Istio terinstal, periksa versi istioctl:
    istioctl version
  19. Buat namespace bernama istio-system untuk komponen bidang kontrol:
    kubectl create namespace istio-system

Menginstal Anthos Service Mesh

  1. buat file bernama overlay.yaml dengan konten berikut:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instal Anthos Service Mesh dengan istioctl menggunakan profil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

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

  3. Pastikan bahwa pod istiod berjalan dengan kubectl get pods:
    kubectl get pods -n istio-system

    Output Anda akan terlihat seperti:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Pastikan penginstalan Anda telah selesai:
    kubectl get svc -n istio-system

    Output Anda akan terlihat seperti:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

OpenShift

Menyiapkan dan mendownload ASM

Baca langkah-langkah berikut dengan cermat sebelum memulai. Kami akan meminta Anda melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.

Panduan ini menjelaskan cara melakukan penginstalan bersih versi Anthos Service Mesh (ASM) 1.12.9-asm.3 di cluster terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh pada lingkungan berikut:

  • Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
  • Red Hat OpenShift

Bersiap menginstal Anthos Service Mesh

    Linux

  1. Berikan batasan konteks keamanan (SCC) anyuid ke istio-system dengan perintah oc berikut:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  3. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  4. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests/profiles.
  5. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  6. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  7. Mac OS

  8. Berikan batasan konteks keamanan (SCC) anyuid ke istio-system dengan perintah oc berikut:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  10. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  11. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada 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.12.9-asm.3
  13. Untuk memudahkan, tambahkan alat dalam direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. Berikan batasan konteks keamanan (SCC) anyuid ke istio-system dengan perintah OpenShift CLI (oc) berikut:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  17. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF
  18. Ekstrak konten file ke lokasi mana pun di sistem file Anda. Misalnya, untuk mengekstrak isi ke direktori kerja saat ini:
    tar xzf istio-1.12.9-asm.3-win.zip

    Perintah tersebut membuat direktori instalasi di direktori kerja Anda saat ini yang bernama istio-1.12.9-asm.3 yang berisi:

    • Aplikasi contoh di direktori samples.
    • Alat command line istioctl yang Anda gunakan untuk menginstal Layanan Anthos Mesh berada di direktori bin.
    • Profil konfigurasi Anthos Service Mesh berada di Direktori manifests\profiles.
  19. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  20. Untuk memudahkan, tambahkan alat dalam direktori \bin ke PATH Anda:
    set PATH=%CD%\bin:%PATH%
  21. Setelah ASM Istio terinstal, periksa versi istioctl:
    istioctl version
  22. Buat namespace bernama istio-system untuk komponen bidang kontrol:
    kubectl create namespace istio-system

Menginstal Anthos Service Mesh

  1. buat file bernama overlay.yaml dengan konten berikut:
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
        enableTracing: true
        accessLogFormat:
          '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
      components:
        ingressGateways:
        - name: istio-ingressgateway
          enabled: true
          k8s:
            service:
              type: LoadBalancer
              ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
    
  2. Instal Anthos Service Mesh dengan istioctl menggunakan profil asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

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

  3. Pastikan bahwa pod istiod berjalan dengan kubectl get pods:
    kubectl get pods -n istio-system

    Output Anda akan terlihat seperti:

    NAME                                      READY   STATUS    RESTARTS   AGE
    istio-ingressgateway-88b6fd976-flgp2  1/1     Running   0          3m13s
    istio-ingressgateway-88b6fd976-p5dl9  1/1     Running   0          2m57s
    istiod-asm-1129-3-dbfb7c7b6-2ls88      1/1     Running   0          3m21s
    istiod-asm-1129-3-dbfb7c7b6-fnj8c      1/1     Running   1          3m21s
  4. Pastikan penginstalan Anda telah selesai:
    kubectl get svc -n istio-system

    Output Anda akan terlihat seperti:

    NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                                                                      AGE
    istio-ingressgateway  LoadBalancer   172.200.48.52    34.74.177.168   15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP   3m35s
    istiod                ClusterIP      172.200.18.133   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        4m46s
    istiod-asm-1129-3     ClusterIP      172.200.63.220   <none>          15010/TCP,15012/TCP,443/TCP,15014/TCP                                        3m43s

Menyesuaikan penginstalan ASM

Instalasi ASM yang baru saja Anda lakukan adalah instalasi minimal, yang cukup untuk diuji dan digunakan Apigee Hybrid untuk kasus penggunaan dasar. Untuk mengetahui informasi tentang cara menangani kasus penggunaan tingkat lanjut, seperti menambahkan, menghapus, atau mengubah nomor port load balancer, lihat Mengaktifkan opsional baru.

Ringkasan

Sekarang Anda telah menginstal cert-manager dan ASM, dan Anda siap untuk menginstal Alat command line hybrid Apigee di komputer lokal.

1 2 3 (BERIKUTNYA) Langkah 4: Instal apigeectl 5 6 7 8 9