Разделение среды на разные этапы является одним из важных факторов при развертывании приложения в Kuebernetes.
Я бы рекомендовал здесь создать два отдельных входа.
Один для производства, а другой для обеспечения качества. (Если у вас больше среды, вы можете иметь больше). Правила входа будут управляться на основе хоста.
Вход в среду QA может быть таким:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {env}
annotations:
traefik.ingress.kubernetes.io/frontend-entry-points: "http,https"
ingress.kubernetes.io/force-hsts: "true"
traefik.ingress.kubernetes.io/redirect-regex: ^http://(.*)
traefik.ingress.kubernetes.io/redirect-replacement: https://$1
kubernetes.io/ingress.class: "traefik"
spec:
rules:
- host: “qa.mywebsite.com"
http:
paths:
- backend:
serviceName: serviceName-{env}
servicePort:8080
Аналогичным образом, вы также можете иметь другой вход в производственную среду (хост здесь по-другому).
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {env}
annotations:
traefik.ingress.kubernetes.io/frontend-entry-points: "http,https"
ingress.kubernetes.io/force-hsts: "true"
traefik.ingress.kubernetes.io/redirect-regex: ^http://(.*)
traefik.ingress.kubernetes.io/redirect-replacement: https://$1
kubernetes.io/ingress.class: "traefik"
spec:
rules:
- host: “prod.mywebsite.com"
http:
paths:
- backend:
serviceName: serviceName-{env}
servicePort:8080