Kubectl: добавьте проверку работоспособности с использованием протокола TCP с адресом https, не прерывайте SSL на ELB для AWS - PullRequest
1 голос
/ 29 января 2020

Я работаю над приложением Kubernetes, в котором у нас работает сервер nginx. Есть 2 проблемы, с которыми мы сталкиваемся в настоящее время,

, одна связана с проверками здоровья. Я хотел бы добавить проверки работоспособности, которые проверяют контейнер на порту-443, но с TCP Kubernetes каким-то образом делает это на SSL , в результате чего контейнеры перестают работать AWS.

Во-вторых, SSL Traffi c прерывается на ELB, все еще общаясь с контейнером на порту-443. Я уже добавил самозаверяющий сертификат в контейнер внутри nginx. Мы перенаправляем с http на https внутренне, поэтому все, что находится на порте 80, для нас бесполезно. Что я делаю не так?

service.yaml:

apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: service-name
    app.kubernetes.io/instance: service-name-instance
    app.kubernetes.io/version: "1.0.0"
    app.kubernetes.io/component: backend
    app.kubernetes.io/managed-by: kubectl
  annotations:
      # Note that the backend talks over HTTP.
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
       # TODO: Fill in with the ARN of your certificate.
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: OUR ARN
       # Only run SSL on the port named "https" below.
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "TCP"
    service.beta.kubernetes.io/do-loadbalancer-redirect-http-to-https: "true"
    service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
  name: service-name

spec:
  selector:
    app: service-name
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...