J'ai créé deux espaces de noms différents pour un environnement différent. l'un est devops-qa et l'autre est devops-dev. J'ai créé deux entrées dans des espaces de noms différents. Ainsi, lors de la création d'une entrée de qa env dans un espace de noms devops-qa, les règles écrites à l'intérieur de l'entrée de qa fonctionnent correctement. Signifie que je peux accéder à la page Web de qa env. Dès que je créerai l'entrée de dev env dans l'espace de noms devops-dev, je pourrai accéder à la page Web de dev env mais je ne pourrai pas accéder à la page Web de qa. Et quand je supprime l’influence, je pourrai à nouveau accéder au site Web de qa env.
Vous trouverez ci-dessous l'ingree de dev et de qa env.
Dev Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-dev
namespace: devops-dev
spec:
tls:
- hosts:
- cafe-dev.example.com
secretName: default-token-drk6n
rules:
- Host: cafe-dev.example.com
http:
paths:
- path: /
backend:
serviceName: miqpdev-svc
servicePort: 80
QA Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-qa
namespace: devops-qa
spec:
tls:
- hosts:
- cafe-qa.example.com
secretName: default-token-jdnqf
rules:
- Host: cafe-qa.example.com
http:
paths:
- path: /greentea
backend:
serviceName: greentea-svc
servicePort: 80
- path: /blackcoffee
backend:
serviceName: blackcoffee-svc
servicePort: 80
Le jeton mentionné dans le fichier d'entrée est de chaque espace de noms. Et le contrôleur d’introduction de nginx s’exécute dans l’espace de noms QAComment puis-je exécuter à la fois l’intrusion et pouvoir obtenir tous les sites Web déployés dans les env. Dev et qa env?
J'ai en fait résolu mon problème. J'ai tout fait correctement. Mais la seule chose que je n'ai pas faite est de mapper le nom d'hôte avec la même adresse IP dans Route53. Et au lieu d’accéder au site Web avec nom d’hôte, j’y accédais depuis IP. Maintenant, après avoir accédé au site Web à partir de hostname, j'ai pu y accéder :)
On dirait que vous avez posté ici et obtenu votre réponse . La solution consiste à déployer une entrée différente pour chaque espace de noms. Cependant, le déploiement de 2 entrées complique les choses, car une instance doit être exécutée sur un port non standard (par exemple, 8080, 8443).
Je pense que cela est mieux résolu en utilisant DNS. Créez les enregistrements CNAME cafe-qa.example.com
et cafe-dev.example.com
qui pointent tous deux vers cafe.example.com
. Mettez à jour chaque manifeste d'entrée en conséquence. L'utilisation de DNS est en quelque sorte le moyen standard de séparer les environnements Dev/QA/Prod.