Порт 443 Istio дает 503 Сервис недоступен - PullRequest
0 голосов
/ 16 октября 2019

Я использую службу в kubernetes Azure AKS Cluster.

Istio-version: 1.3.2

Мой сервис прослушивает порты 80 и 443:

NAME               TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
hello-kubernetes   ClusterIP   10.0.43.233   <none>        80/TCP,443/TCP   28h

ТакжеФайл istio-gateway.yaml выглядит следующим образом:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    istio: ingressgateway 
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
    #tls:
      #httpsRedirect: true
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - "*"
    tls:
      mode: SIMPLE
      credentialName: "mycert" # must be the same as secret
      privateKey: sds
      serverCertificate: sds
      #serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
      #privateKey: /etc/istio/ingressgateway-certs/tls.key

Секрет создается командой ниже: у меня есть пользовательский сертификат, который я загрузил в кластер:

kubectl create -n istio-system secret generic mycert \
  --from-file=key=/home/user/istio-1.3.2/ssl/myprivate.key \
  --from-file=cert=/home/user/istio-1.3.2/ssl/mycert.pem

mycertФайл .pem содержит как ключ сертификата, так и промежуточный ключ.

Файл VirtualService имеет вид:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: hello-kubernetes
spec:
  hosts:
  - "mydomain.com"
  gateways:
  - my-gateway
  http:
  - match:
    - uri:
        prefix: /hello-k8s
    route:
    - destination:
        host: hello-kubernetes

Если я сверну его с http, он даст мне ответ 200 OK, однако, когда я сверну егос https портом это дает HTTP / 1.1 503. Служба недоступна.

Сообщение об ошибке в браузере: NET :: ERR_CERT_AUTHORITY_INVALID

Есть идеи о том, чего не хватает?

1 Ответ

0 голосов
/ 17 октября 2019

Ошибка исправляется добавлением:

port:
   number: 80

в целевой части файла виртуальной службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...