Схема конфигурации Kubernetes SSL AWS ELB для HTTP и HTTPS Flask - PullRequest
0 голосов
/ 16 октября 2018

Я вижу другие сообщения по этому поводу, но я получил ошибку при попытке вставить ConfigMap во вход.Чтобы получить HTTP -> HTTPS.

---
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "3600"
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: '*'
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <ARN>
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
  labels:
    app: nginx-ingress
    chart: nginx-ingress-0.16.1
    component: controller
    release: prod-hola
  name: nginx-ingress-hola
  namespace: nginx-ingress
spec:
  externalTrafficPolicy: Cluster
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: 80
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8000
  selector:
    app: nginx-ingress
    component: controller
    release: prod-hola
  sessionAffinity: None
  type: LoadBalancer
---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: nginx-ingress-config
    name: nginx-ingress-config
  namespace: nginx-ingress
data:
  ssl-redirect: "false"
  hsts: "true"
  server-tokens: "false"
  http-snippet: |
    server {
      listen 8000 proxy_protocol;
      server_tokens off;
      return 301 https://$host$request_uri;
    }
---

Это дает мне resource name may not be empty.Так у меня есть этот ConfigMap в правильном месте, чтобы заставить HTTP к https для фляги (который у меня есть на 8000), чтобы работать?

1 Ответ

0 голосов
/ 20 октября 2018

Похоже, вам не хватает действительного имени для ConfigMap из-за сбоя в отступе:

Вместо этого:

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: nginx-ingress-config
    name: nginx-ingress-config
  namespace: nginx-ingress
data:
  ssl-redirect: "false"
  hsts: "true"
  server-tokens: "false"
  http-snippet: |
    server {
      listen 8000 proxy_protocol;
      server_tokens off;
      return 301 https://$host$request_uri;
    }

Это должно быть так:

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: nginx-ingress-config
  name: nginx-ingress-config
  namespace: nginx-ingress
data:
  ssl-redirect: "false"
  hsts: "true"
  server-tokens: "false"
  http-snippet: |
    server {
      listen 8000 proxy_protocol;
      server_tokens off;
      return 301 https://$host$request_uri;
    }
...