Control de Egress
El control de Egress es una característica que administra el tráfico saliente de la malla y mejora la seguridad.
Tabla de contenido
- Descripción general de Egress
- Configuración de ServiceEntry
- Egress Gateway
- Originación de TLS
- Ejemplos prácticos
Descripción general de Egress
Configuración de ServiceEntry
Registro de Services externos
yaml
apiVersion: networking.istio.io/v1
kind: ServiceEntry
metadata:
name: external-api
spec:
hosts:
- api.external.com
ports:
- number: 443
name: https
protocol: HTTPS
location: MESH_EXTERNAL
resolution: DNSService HTTP externo
yaml
apiVersion: networking.istio.io/v1
kind: ServiceEntry
metadata:
name: httpbin
spec:
hosts:
- httpbin.org
ports:
- number: 80
name: http
protocol: HTTP
location: MESH_EXTERNAL
resolution: DNSEgress Gateway
Instalación de Egress Gateway
bash
helm install istio-egressgateway istio/gateway \
-n istio-system \
--set labels.app=istio-egressgateway \
--set labels.istio=egressgatewayConfiguración de Egress Gateway
yaml
apiVersion: networking.istio.io/v1
kind: Gateway
metadata:
name: istio-egressgateway
spec:
selector:
istio: egressgateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- api.external.com
tls:
mode: PASSTHROUGH
---
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: direct-external-through-egress-gateway
spec:
hosts:
- api.external.com
gateways:
- mesh
- istio-egressgateway
http:
- match:
- gateways:
- mesh
port: 80
route:
- destination:
host: istio-egressgateway.istio-system.svc.cluster.local
port:
number: 443
- match:
- gateways:
- istio-egressgateway
port: 443
route:
- destination:
host: api.external.com
port:
number: 443