Penginstalan Anthos Service Mesh default pada GKE di VMware mengasumsikan bahwa alamat IP eksternal dialokasikan secara otomatis untuk layanan LoadBalancer
.
Hal ini tidak berlaku di GKE pada VMware. Oleh karena itu, Anda perlu mengalokasikan satu atau beberapa alamat IP eksternal, bergantung pada konfigurasi mesh layanan Anda:
- Satu alamat IP eksternal untuk resource Gateway masuk Anthos Service Mesh, misalnya gateway yang digunakan pelanggan Anda untuk mengakses workload Anda dari seluruh internet.
- Alamat IP eksternal lain untuk cluster Anda agar dapat saling berkomunikasi jika ada di jaringan yang berbeda dalam mesh layanan Anda. Ini disebut sebagai gerbang timur-barat.
Mengonfigurasi alamat IP gateway masuk
Guna mengonfigurasi alamat IP eksternal untuk gateway masuk, ikuti salah satu bagian di bawah ini, bergantung pada mode load balancing GKE pada VMware:
- Lakukan patch pada konfigurasi Layanan
istio-ingressgateway
dengan alamat IP eksternal untuk gateway masuk:kubectl patch svc istio-ingressgateway -n istio-system --type='json' -p '[{"op": "add", "path": "/spec/loadBalancerIP", "value": "INGRESS_GATEWAY_IP"}]'
-
Lihat konfigurasi layanan
istio-ingressgateway
di shell Anda:kubectl get svc -n istio-system istio-ingressgateway -o yaml
Setiap port untuk gateway Anthos Service Mesh akan ditampilkan. Output perintahnya seperti berikut:... ports: - name: status-port nodePort: 30391 port: 15020 protocol: TCP targetPort: 15020 - name: http2 nodePort: 31380 port: 80 protocol: TCP targetPort: 80 - name: https nodePort: 31390 port: 443 protocol: TCP targetPort: 443 - name: tcp nodePort: 31400 port: 31400 protocol: TCP targetPort: 31400 - name: https-kiali nodePort: 31073 port: 15029 protocol: TCP targetPort: 15029 - name: https-prometheus nodePort: 30253 port: 15030 protocol: TCP targetPort: 15030 - name: https-grafana nodePort: 30050 port: 15031 protocol: TCP targetPort: 15031 - name: https-tracing nodePort: 31204 port: 15032 protocol: TCP targetPort: 15032 - name: tls nodePort: 30158 port: 15443 protocol: TCP targetPort: 15443 ...
-
Ekspos port ini melalui load balancer Anda.
Misalnya, port layanan bernamahttp2
memilikiport
80 dannodePort
31380. Misalnya alamat node untuk cluster pengguna Anda adalah192.168.0.10
,192.168.0.11
, dan192.168.0.12
, dan VIP load balancer Anda adalah203.0.113.1
.
Konfigurasikan load balancer Anda sehingga traffic yang dikirim ke203.0.113.1:80
diteruskan ke192.168.0.10:31380
,192.168.0.11:31380
, atau192.168.0.12:31380
. Anda dapat memilih port layanan yang ingin diekspos pada VIP tertentu ini.
Mode terintegrasi
Mode manual
Pastikan gateway masuk telah diberi alamat IP eksternal. Mungkin ada sedikit penundaan yang mengharuskan Anda mengulangi perintah ini hingga Anda melihat hasil yang diinginkan:
kubectl --context="${CTX_CLUSTER1}" get svc istio-ingressgateway -n istio-system
Berikut adalah output yang diinginkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 10.80.6.124 34.75.71.237 ... 51s
Mengonfigurasi alamat IP gateway timur-barat
Guna mengonfigurasi alamat IP eksternal untuk gateway timur-barat, ikuti salah satu bagian di bawah ini, bergantung pada mode load balancing GKE pada VMware:
- Lakukan patch pada konfigurasi Layanan
istio-eastwestgateway
dengan alamat IP eksternal untuk gateway east-west:kubectl patch svc istio-eastwestgateway -n istio-system --type='json' -p '[{"op": "add", "path": "/spec/loadBalancerIP", "value": "EAST_WEST_GATEWAY_IP"}]'
-
Lihat konfigurasi layanan
istio-eastwestgateway
di shell Anda:kubectl get svc -n istio-system istio-eastwestgateway -o yaml
Setiap port untuk gateway Anthos Service Mesh akan ditampilkan. Output perintahnya seperti berikut:ports: - name: status-port nodePort: 31781 port: 15021 protocol: TCP targetPort: 15021 - name: tls nodePort: 30498 port: 15443 protocol: TCP targetPort: 15443 - name: tls-istiod nodePort: 30879 port: 15012 protocol: TCP targetPort: 15012 - name: tls-webhook nodePort: 30336 port: 15017 protocol: TCP targetPort: 15017 ...
-
Ekspos port ini melalui load balancer Anda.
Misalnya, port layanan bernamahttp2
memilikiport
80 dannodePort
31380. Misalnya alamat node untuk cluster pengguna Anda adalah192.168.0.10
,192.168.0.11
, dan192.168.0.12
, dan VIP load balancer Anda adalah203.0.113.1
.
Konfigurasikan load balancer Anda sehingga traffic yang dikirim ke203.0.113.1:80
diteruskan ke192.168.0.10:31380
,192.168.0.11:31380
, atau192.168.0.12:31380
. Anda dapat memilih port layanan yang ingin diekspos pada VIP tertentu ini.
Mode terintegrasi
Mode manual
Pastikan gateway timur-barat telah ditetapkan dengan alamat IP eksternal. Mungkin ada sedikit penundaan yang mengharuskan Anda menjalankan pengulangan perintah ini hingga Anda melihat hasil yang diinginkan:
kubectl --context="${CTX_CLUSTER1}" get svc istio-eastwestgateway -n istio-system
Berikut adalah output yang diinginkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-eastwestgateway LoadBalancer 10.80.6.124 34.75.71.237 ... 51s