Mengonfigurasi alamat IP eksternal untuk Google Distributed Cloud dengan load balancer F5 BIG-IP
Penginstalan Cloud Service Mesh default di Google Distributed Cloud mengasumsikan bahwa
alamat IP eksternal dialokasikan secara otomatis untuk layanan LoadBalancer
.
Hal ini tidak berlaku untuk Google Distributed Cloud dengan load balancer F5 BIG-IP.
Karena itu, Anda perlu mengalokasikan
satu atau lebih alamat IP eksternal,
bergantung pada konfigurasi mesh layanan Anda:
- Satu alamat IP eksternal untuk resource ingress Gateway Cloud Service Mesh, untuk contoh gateway yang digunakan pelanggan untuk mengakses workload Anda dari di seluruh internet.
- Alamat IP eksternal lain untuk cluster Anda agar dapat saling berkomunikasi jika ada di jaringan yang berbeda dalam mesh layanan Anda. Hal ini disebut sebagai gateway timur-barat.
Mengonfigurasi alamat IP gateway masuk
Untuk mengonfigurasi alamat IP eksternal untuk gateway masuk, gunakan petunjuk di salah satu bagian berikut, bergantung pada Mode load balancing Cloud Terdistribusi Google:
- Tambahkan patch 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: Setiap port untuk gateway Cloud Service Mesh ditampilkan. Output perintahnya akan terlihat seperti berikut:kubectl get svc -n istio-system istio-ingressgateway -o yaml
... 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. Misalkan alamat node untuk cluster pengguna Anda adalah192.168.0.10
,192.168.0.11
, dan192.168.0.12
, serta load balancer Anda VIP adalah203.0.113.1
.
Konfigurasikan load balancer Anda agar 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 Anda tampilkan pada VIP ini.
Mode terintegrasi
Mode manual
Pastikan gateway masuk telah diberi alamat IP eksternal. Ada mungkin ada sedikit keterlambatan yang mengharuskan Anda mengulangi perintah ini sampai Anda melihat hasil yang diharapkan:
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
Untuk mengonfigurasi alamat IP eksternal untuk gateway east-west, gunakan petunjuk di salah satu bagian berikut, bergantung pada Mode load balancing Cloud Terdistribusi Google:
- Tambahkan patch 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: Setiap port untuk gateway Cloud Service Mesh ditampilkan. Output perintahnya akan terlihat seperti berikut:kubectl get svc -n istio-system istio-eastwestgateway -o yaml
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. Misalkan alamat node untuk cluster pengguna Anda adalah192.168.0.10
,192.168.0.11
, dan192.168.0.12
, serta load balancer Anda VIP adalah203.0.113.1
.
Konfigurasikan load balancer Anda agar 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 Anda tampilkan pada VIP ini.
Mode terintegrasi
Mode manual
Pastikan gateway timur-barat sudah diberi alamat IP eksternal. Ada mungkin ada sedikit keterlambatan yang mengharuskan Anda untuk menjalankan perintah ini melihat hasil yang diharapkan:
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