Поскольку я новичок в istio, вместе со всеми членами моей команды, мы будем очень признательны, если сможем получить некоторую помощь здесь.
Проблема
Я следовал за приведенной ниже документацией для создания сертификатов и создания секретов в k8s, используя сертификат и ключ приложения.
https://istio.io/docs/tasks/traffic-management/secure-ingress/#troubleshooting
После этого я перезапустил свой модуль входного шлюза, чтобы он загружал сертификаты. Какой путь я могу увидеть внутри капсулы, когда исполняю.
И я добавил ниже аннотацию в сервисе istio-ingressgateway для использования доменных имен:
* external-dns.alpha.kubernetes.io / hostname: .byom-i344382.xxx.xxx.xxx.xxx.com
Мои ресурсы virtualService и Gateway выглядят так, как будто они находятся в пространстве имен по умолчанию:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: ms-is-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
privateKey: /etc/istio/ingressgateway-certs/tls.key
hosts:
- "ms-1234.byom-i344382.xxx.xxx.xxx.xxx.com"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ms-is
spec:
hosts:
- "ms-1234.byom-i344382.xxx.xxx.xxx.xxx.com"
gateways:
- ms-is-gateway
http:
- match:
- uri:
exact: /api/v2/predict
route:
- destination:
host: mlf-is
port:
number: 53547
Обратите внимание, что служба mlf-is также находится в пространстве имен по умолчанию. Только istio-ingressgateway находится в пространстве имен istio-system
Ожидаемое поведение
Когда я нажимаю https://ms -1234.byom-i344382.xxx.xxx.xxx.xxx.com / api / v2 /вести прогноз из POSTMAN, я должен иметь возможность обратиться к службе ms-is. Однако я не могу связаться с сервисом.
даже приведенная ниже команда curl не работает:
curl -v --cacert /home/vagrant/exmaple/mtls-go-example/2_intermediate/certs/ca-chain.cert.pem https://ms -1234.byom-i344382.xxx.xxx.xxx.xxx .com: 443 / API / v2 / предсказать
Ошибка от curl:
Trying 18.195.217.210...
* TCP_NODELAY set
* Connected to ms-1234.byom-i344382.xxx.xxx.xxx.xxx.com (18.195.217.210) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /home/vagrant/exmaple/mtls-go-example/2_intermediate/certs/ca-chain.cert.pem
CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to ms-1234.byom-i344382.xxx.xxx.xxx.xxx.com:443
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to ms-1234.byom-i344382.xxx.xxx.xxx.xxx.com:443
Версия
Версия istio: 1.0.1 и Kubernetes: 1.0.9
Istio Auth включен или нет?
Установлен istio.yaml
Окружающая среда
Облачный поставщик AWS