Конечная точка SSL службы EKS
При созданииservice
при использовании EKS он предоставляется по протоколу http через балансировщик нагрузки AWS.
kubectl apply -f service.yaml
— Будет создан балансировщик нагрузки, управляемый EKS и не подлежащий изменению. любая модификация, действительная или нет, в какой-то момент будет отменена AWS.
Я иду в кроличью нору, пытаясь представить службу как HTTPS.
Изменение балансировщика нагрузки aws для прослушивания 443 в https с сертификатом ACM обеспечит временное решение, которое будет сброшено, когда EKS обновит балансировщик нагрузки обратно к «заводским настройкам».
Лучшим подходом, по-видимому, является созданиеingress
балансировщик нагрузки, который может поддерживать HTTPS. после этих статей:
https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html
https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html
listen-ports
и были добавлены во входной yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: game-2048
name: ingress-2048
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80},{"HTTPS":443}]' # Added by me
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:411686525067:certificate/8adf7812-a1af-4eae-af1b-ea425a238a67
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service-2048
port:
number: 80
EKS
создастALB
с именем хоста, например: которое находится под расширением .
При добавлении в конфигурацию yamlcertificate-arn
ALB будет создан с прослушивателем порта 443 и к нему будет прикреплен указанный сертификат ACM.
Но поскольку хост ALB находится подamazonaws.com
домен, сертификат не соответствует, и я возвращаюсь к исходной точке.
Как я могу заставить EKS создать https ALB?
На более высоком уровне я управляю DNS наcloudflare
и создаст прокси-запись CNAME дляapi.mydomain.com
к хосту ALBk8s--------d4ees4dc9b-1296497080.eu-central-1.elb.amazonaws.com
Чтобы DNS-прокси работал хорошо, обе «стороны» должны поддерживать https.