На основании моих знаний вы можете создать виртуальный сервис , чтобы сделать это
Зарезервированное слово me sh используется для обозначения всех колясок в me sh , Если это поле опущено, будет использоваться шлюз по умолчанию (me sh), который будет применять правило ко всем коляскам в me sh. Если указан список имен шлюзов, правила будут применяться только к шлюзовам. Чтобы применить правила и к шлюзам, и к коляскам, укажите меня sh в качестве одного из имен шлюзов.
Вы можете проверить мой другой ответ на stackoverflow , там есть полное воспроизведение кто-то проблема, когда я сделал виртуальный сервис со шлюзом для доступа (например, просто завиток) извне, и если вы хотите сделать это только внутри меня sh просто удалите этот шлюз и оставьте только мне sh один , как в примере ниже.
Специально для виртуального сервиса
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nginxvirt
spec:
gateways:
- mesh #inside cluster
hosts:
- nginx.default.svc.cluster.local #inside cluster
http:
- name: match-myuid
match:
- uri:
prefix: /
rewrite:
uri: /
route:
- destination:
host: nginx.default.svc.cluster.local
port:
number: 80
И некоторые внешние и внутренние тесты
Внешний
с дополнительным шлюзом для разрешения внешнего трафика c
curl -v -H "host: nginx .com" loadbalancer_istio_ingress_gateway_ip /
HTTP / 1.1 200 OK
без дополнительного шлюза для разрешения внешнего трафика c, просто me sh one
curl -v -H " хост: nginx .com "loadbalancer_istio_ingress_gateway_ip /
HTTP / 1.1 404 Не найдено
Внутренний
Created some basic ubuntu pod for tests
kubectl exec -ti ubu1 -- /bin/bash
Со мной sh шлюз
curl -v nginx /
HTTP / 1.1 200 OK
Без меня sh шлюз
curl -v nginx /
HTTP / 1.1 404 Не найдено
Исходя из того, что вы можете использовать шлюз "me sh", который будет работать только внутри Я sh и не буду разрешать внешние запросы.
Я могу принести вам пачку ямлов, чтобы проверить, если вы хотите, если вы хотите проверить это.
Дайте мне знать, если этот ответ Ваш вопрос или у вас есть еще вопросы.