Menginstal 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 mengetahui versi ASM yang didukung di hybrid versi 1.5.
Melakukan langkah-langkah penyiapan dan konfigurasi ASM
Untuk menyelesaikan penginstalan ASM, Anda harus mengikuti langkah-langkah penyiapan dan konfigurasi khusus ASM terlebih dahulu dalam dokumentasi ASM. Kemudian, Anda harus kembali ke sini untuk menyelesaikan konfigurasi khusus hibrida sebelum menerapkan konfigurasi ke cluster.
Petunjuk untuk menginstal dan mengonfigurasi ASM berbeda-beda, bergantung pada platform Anda. Platform dibagi menjadi kategori berikut:
- GKE: Cluster Google Kubernetes Engine yang berjalan di Google Cloud.
- Di luar Google Cloud: Cluster Anthos yang berjalan di:
- Cluster Anthos di VMware (GKE on-prem)
- Anthos on bare metal
- Cluster Anthos di AWS
- Amazon EKS
- Platform Kubernetes Lainnya: Cluster yang sesuai dibuat dan berjalan di:
- AKS
- EKS
- OpenShift
GKE
Persiapan menginstal ASM
- Periksa variabel lingkungan yang akan Anda perlukan untuk langkah-langkah berikut, dan tetapkan jika Anda
perlu:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- 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
apigee-runtime
adalah nilai default untuk pemilih node. Ini adalah node poolapigee-runtime
yang Anda buat di Langkah 1: Buat cluster. Jika Anda menggunakan pemilih node yang berbeda atau tidak menggunakan pemilih node, ubah atau hapus propertinodeSelector
.- STATIC_IP adalah alamat IP untuk load balancer Anda. Jika Anda belum menetapkannya,
hapus properti
loadBalancerIP
, tetapi pertahankan propertitype
danports
.
- Ikuti petunjuk untuk menyiapkan penginstalan ASM:
- Instal
asmcli
dan alat yang diperlukan seperti git, kubectl, dan jq, dengan mengikuti petunjuk di Menginstal alat yang diperlukan. - Lanjutkan ke langkah untuk Memberikan izin admin cluster dan berhenti. Jangan lakukan langkah "Validasi project dan cluster".
- Menginstal 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
asmcli
menyiapkan penginstalan ASM, termasuk semua subdirektori. - overlay.yaml adalah file overlay yang Anda buat di langkah sebelumnya.
Gunakan setelan ini saat mengikuti petunjuk di Menginstal dengan fitur opsional.
- dir_path adalah direktori output tempat Anda ingin
Pemecahan masalah
Jika Anda mengalami error pada bagian yang 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:
- Cantumkan langganan GKE Hub untuk project Anda:
gcloud container hub memberships list --project=$PROJECT_ID
- Hapus langganan 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 Apigee Hybrid menggunakan Anthos untuk dijalankan di:
- Cluster Anthos di VMware (GKE on-prem)
- Anthos on bare metal
- Cluster Anthos di AWS
- Amazon EKS
Persiapan menginstal ASM
- Periksa variabel lingkungan yang akan Anda perlukan untuk langkah-langkah berikut, dan tetapkan jika Anda
perlu:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- 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 node poolapigee-runtime
yang Anda buat di Langkah 1: Buat cluster. Jika Anda menggunakan pemilih node yang berbeda atau tidak menggunakan pemilih node, ubah atau hapus propertinodeSelector
.- STATIC_IP adalah alamat IP untuk load balancer Anda. Jika Anda belum menetapkannya,
hapus properti
loadBalancerIP
, tetapi pertahankan propertitype
danports
.
- Ikuti petunjuk untuk menyiapkan penginstalan ASM:
- Instal
asmcli
dan alat yang diperlukan seperti git, kubectl, dan jq, dengan mengikuti petunjuk di Menginstal alat yang diperlukan. - Lanjutkan ke langkah untuk Memberikan izin admin cluster dan berhenti. Jangan lakukan langkah "Validasi project dan cluster".
- Menginstal 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
asmcli
menyiapkan penginstalan ASM, termasuk semua subdirektori. - overlay.yaml adalah file overlay yang Anda buat di langkah sebelumnya.
Gunakan setelan ini saat mengikuti petunjuk di Menginstal dengan fitur opsional.
- dir_path adalah direktori output tempat Anda ingin
Pemecahan masalah
Jika Anda mengalami error pada bagian yang 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:
- Cantumkan langganan GKE Hub untuk project Anda:
gcloud container hub memberships list --project=$PROJECT_ID
- Hapus langganan GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Untuk mengetahui informasi selengkapnya tentang batas GKE Hub, lihat Kuota dan batas.
GKE di platform lain
Petunjuk ini ditujukan untuk menginstal dan menyiapkan ASM untuk instance Apigee Hybrid menggunakan Anthos untuk dijalankan di:
- GKE on-prem (Anthos)
- Anthos on bare metal
- GKE di AWS
Baca langkah-langkah berikut dengan cermat sebelum Anda memulai. Kami akan meminta Anda untuk melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.
- Download dan ekstrak
istioctl
sesuai dengan petunjuk dalam dokumentasi ASM: Mendownload file penginstalan. - Bergantung pada otoritas sertifikasi yang ingin Anda gunakan, instal ASM dengan mengikuti petunjuk di salah satu bagian berikut:
- Menggunakan CA Mesh: Menginstal Anthos Service Mesh dengan CA Mesh
- Menyediakan sertifikat Anda sendiri dengan CA Istio: Menginstal Anthos Service Mesh dengan CA Istio
- Konfigurasikan webhook validasi dengan petunjuk dalam Mengonfigurasi webhook validasi.
- Periksa komponen bidang kontrol dengan petunjuk di
Memeriksa
komponen bidang kontrol.
Jangan lanjutkan dengan "Menyuntikkan proxy sidecar".
Platform Kubernetes lainnya
AKS
Menyiapkan dan mendownload ASM
Baca langkah-langkah berikut dengan cermat sebelum Anda memulai. Kami akan meminta Anda untuk melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.
Panduan ini menjelaskan cara melakukan penginstalan bersih Anthos Service Mesh (ASM) versi 1.12.9-asm.3 di cluster yang terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh di lingkungan berikut:
- Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
- Red Hat OpenShift
Bersiap untuk menginstal Anthos Service Mesh
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests\profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori \bin ke PATH Anda:
set PATH=%CD%\bin:%PATH%
- Setelah ASM Istio diinstal, periksa versi
istioctl
:istioctl version
- Buat namespace bernama istio-system untuk komponen bidang kontrol:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Menginstal Anthos Service Mesh
- Instal Anthos Service Mesh dengan
istioctl
menggunakan profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=asm-1129-3
ke istiod. Label revisi digunakan oleh webhook injector sidecar otomatis untuk mengaitkan sidecar yang dimasukkan dengan revisi istiod tertentu. Untuk mengaktifkan injeksi otomatis sidecar untuk namespace, Anda harus memberi label dengan revisi yang cocok dengan label di istiod. - Pastikan pod
istiod
berjalan dengankubectl get pods
:kubectl get pods -n istio-system
Output Anda akan terlihat seperti ini:
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
- Pastikan penginstalan Anda selesai:
kubectl get svc -n istio-system
Output Anda akan terlihat seperti ini:
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
Mengonfigurasi webhook validasi
Saat menginstal Anthos Service Mesh, Anda menetapkan label revisi di istiod. Anda harus menetapkan revisi yang sama di webhook yang memvalidasi.
- Buat file bernama
istiod-service.yaml
dengan konten berikut:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 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)%"}'
- Gunakan
kubectl
untuk menerapkan konfigurasi webhook validasi:kubectl apply -f istiod-service.yaml
- Verifikasi bahwa konfigurasi telah diterapkan:
kubectl get svc -n istio-system
Responsnya akan terlihat seperti:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
EKS
Menyiapkan dan mendownload ASM
Baca langkah-langkah berikut dengan cermat sebelum Anda memulai. Kami akan meminta Anda untuk melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.
Panduan ini menjelaskan cara melakukan penginstalan bersih Anthos Service Mesh (ASM) versi 1.12.9-asm.3 di cluster yang terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh di lingkungan berikut:
- Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
- Red Hat OpenShift
Bersiap untuk menginstal Anthos Service Mesh
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests\profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori \bin ke PATH Anda:
set PATH=%CD%\bin:%PATH%
- Setelah ASM Istio diinstal, periksa versi
istioctl
:istioctl version
- Buat namespace bernama istio-system untuk komponen bidang kontrol:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Menginstal Anthos Service Mesh
- Instal Anthos Service Mesh dengan
istioctl
menggunakan profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=asm-1129-3
ke istiod. Label revisi digunakan oleh webhook injector sidecar otomatis untuk mengaitkan sidecar yang dimasukkan dengan revisi istiod tertentu. Untuk mengaktifkan injeksi otomatis sidecar untuk namespace, Anda harus memberi label dengan revisi yang cocok dengan label di istiod. - Pastikan pod
istiod
berjalan dengankubectl get pods
:kubectl get pods -n istio-system
Output Anda akan terlihat seperti ini:
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
- Pastikan penginstalan Anda selesai:
kubectl get svc -n istio-system
Output Anda akan terlihat seperti ini:
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
Mengonfigurasi webhook validasi
Saat menginstal Anthos Service Mesh, Anda menetapkan label revisi di istiod. Anda harus menetapkan revisi yang sama di webhook yang memvalidasi.
- Buat file bernama
istiod-service.yaml
dengan konten berikut:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 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)%"}'
- Gunakan
kubectl
untuk menerapkan konfigurasi webhook validasi:kubectl apply -f istiod-service.yaml
- Verifikasi bahwa konfigurasi telah diterapkan:
kubectl get svc -n istio-system
Responsnya akan terlihat seperti:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
OpenShift
Menyiapkan dan mendownload ASM
Baca langkah-langkah berikut dengan cermat sebelum Anda memulai. Kami akan meminta Anda untuk melakukan beberapa langkah yang tercantum dalam dokumentasi ASM, lalu kembali ke sini untuk menyelesaikan penginstalan.
Panduan ini menjelaskan cara melakukan penginstalan bersih Anthos Service Mesh (ASM) versi 1.12.9-asm.3 di cluster yang terpasang Anthos. Gunakan panduan ini untuk menginstal Anthos Service Mesh di lingkungan berikut:
- Amazon Elastic Kubernetes Service (Amazon EKS) di Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) di Kubernetes
- Red Hat OpenShift
Bersiap untuk menginstal Anthos Service Mesh
- Berikan batasan konteks keamanan (SCC)
anyuid
ke sistem istio dengan perintahoc
berikut:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- Berikan batasan konteks keamanan (SCC)
anyuid
ke sistem istio dengan perintahoc
berikut:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests/profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
export PATH=$PWD/bin:$PATH
- 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
- 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
- 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 - Ekstrak konten file ke lokasi mana pun pada sistem file Anda. Misalnya,
untuk mengekstrak konten ke direktori kerja saat ini:
tar xzf istio-1.12.9-asm.3-win.zip
Perintah ini membuat direktori penginstalan di direktori kerja saat ini yang bernama
istio-1.12.9-asm.3
yang berisi:- Contoh aplikasi di direktori
samples
. - Alat command line
istioctl
yang Anda gunakan untuk menginstal Anthos Service Mesh berada di direktoribin
. - Profil konfigurasi Anthos Service Mesh berada di direktori
manifests\profiles
.
- Contoh aplikasi di direktori
- Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Untuk memudahkan, tambahkan alat di direktori \bin ke PATH Anda:
set PATH=%CD%\bin:%PATH%
- Setelah ASM Istio diinstal, periksa versi
istioctl
:istioctl version
- Buat namespace bernama istio-system untuk komponen bidang kontrol:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Menginstal Anthos Service Mesh
- Instal Anthos Service Mesh dengan
istioctl
menggunakan profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
Argumen
--set revision
menambahkan label revisi dalam formatistio.io/rev=asm-1129-3
ke istiod. Label revisi digunakan oleh webhook injector sidecar otomatis untuk mengaitkan sidecar yang dimasukkan dengan revisi istiod tertentu. Untuk mengaktifkan injeksi otomatis sidecar untuk namespace, Anda harus memberi label dengan revisi yang cocok dengan label di istiod. - Pastikan pod
istiod
berjalan dengankubectl get pods
:kubectl get pods -n istio-system
Output Anda akan terlihat seperti ini:
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
- Pastikan penginstalan Anda selesai:
kubectl get svc -n istio-system
Output Anda akan terlihat seperti ini:
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
Mengonfigurasi webhook validasi
Saat menginstal Anthos Service Mesh, Anda menetapkan label revisi di istiod. Anda harus menetapkan revisi yang sama di webhook yang memvalidasi.
- Buat file bernama
istiod-service.yaml
dengan konten berikut:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 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)%"}'
- Gunakan
kubectl
untuk menerapkan konfigurasi webhook validasi:kubectl apply -f istiod-service.yaml
- Verifikasi bahwa konfigurasi telah diterapkan:
kubectl get svc -n istio-system
Responsnya akan terlihat seperti:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
Menyesuaikan penginstalan ASM
Penginstalan ASM yang baru saja Anda lakukan adalah penginstalan minimal, yang cukup untuk menguji dan menggunakan Apigee Hybrid untuk kasus penggunaan dasar. Untuk informasi tentang cara menangani kasus penggunaan lanjutan lainnya, seperti menambahkan, menghapus, atau mengubah nomor port load balancer, lihat Mengaktifkan fitur opsional.
Ringkasan
Sekarang Anda telah menginstal cert-manager dan ASM, dan Anda siap menginstal alat command line hybrid Apigee di komputer lokal.
1 2 3 (BERIKUTNYA) Langkah 4: Instal apigeectl 5 6 7 8 9