У меня есть кластер Google Cloud Kubernetes, определение службы:
apiVersion: v1
kind: Service
metadata:
creationTimestamp: 2018-05-14T18:53:57Z
labels:
run: sv-security
name: sv-security
namespace: default
resourceVersion: "554"
selfLink: /api/v1/namespaces/default/services/sv-security
uid: 27e476db-57a8-11e8-9053-42010a84014c
spec:
clusterIP: 10.47.245.44
externalTrafficPolicy: Cluster
ports:
- nodePort: 32290
port: 80
protocol: TCP
targetPort: 8080
selector:
run: sv-security
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 35.205.38.34
и я хотел бы включить HTTPS. Я выполнил несколько руководств и получил следующую конфигурацию входа:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-sv-security
annotations:
kubernetes.io/ingress.allow-http: "false"
spec:
backend:
serviceName: sv-security
servicePort: 80
(также пробовал с портом обслуживания 32290). И создал его с помощью "kubectl apply -f ingress-sv-security.yaml"
Когда я перехожу на IP-адрес, я получаю «бэкэнд по умолчанию - 404».
Когда я запускаю "kubectl description ing", я получаю:
Name: ingress-sv-security
Namespace: default
Address: 35.201.113.164
Default backend: sv-security:32290 (<none>)
Rules:
Host Path Backends
---- ---- --------
* * sv-security:32290 (<none>)
Annotations:
url-map: k8s-um-default-ingress-sv-security--d01e081d01fdd251
backends: {"k8s-be-32062--d01e081d01fdd251":"HEALTHY"}
forwarding-rule: k8s-fw-default-ingress-sv-security--d01e081d01fdd251
target-proxy: k8s-tp-default-ingress-sv-security--d01e081d01fdd251
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ADD 19m loadbalancer-controller default/ingress-sv-security
Normal CREATE 18m loadbalancer-controller ip: 35.201.113.164
Warning Service 0s (x8 over 18m) loadbalancer-controller failed to identify user specified default backend, couldn't find nodeport for default/sv-security, using system default
Что я здесь делаю не так?
Ingress без правил отправляет весь трафик на один сервер по умолчанию. Здесь для Предпосылки
Для зашифрованной связи между клиентом и балансировщиком нагрузки необходимо указать закрытый ключ TLS и сертификат, которые будут использоваться контроллером входящего трафика. видеть Вот