Si vous gérez un service d'entrée tel que dans l'exemple suivant, au lieu de mettre à jour le fichier d'entrée ci-dessous, existe-t-il un moyen d'ajouter un hôte / service supplémentaire tel que echo3.example.com sans avoir besoin d'appliquer une version mise à jour du fichier d'origine?
# NEW HOST/SERVICE apiVersion: extensions/v1beta1 kind: Ingress metadata: name: echo-ingress spec: rules: - host: echo3.example.com ### <= `echo3` addeded http: paths: - backend: serviceName: echo3 servicePort: 80
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: echo-ingress spec: rules: - host: echo1.example.com http: paths: - backend: serviceName: echo1 servicePort: 80 - host: echo2.example.com http: paths: - backend: serviceName: echo2 servicePort: 80
Existe-t-il un moyen d'appliquer ce nouvel hôte sans avoir besoin d'étendre l'ancien fichier?
3 Réponses :
Je veux dire que vous pouvez simplement en faire un objet / fichier Ingress distinct, pas besoin qu'il soit dans le même. Ou vous pouvez utiliser quelque chose comme Kustomize.
Si vous appliquez les deux fichiers, le second écrasera le premier car ils ont le même nom. Vous devrez donc modifier l'original à chaque fois que vous ajoutez une nouvelle règle.
Une solution possible pour éviter ce problème serait d'utiliser Contour . Dans ce cas, vous pouvez conserver chaque IngressRoute
dans une ressource distincte et éviter des conflits comme celui-là.
Dans votre cas, vous auriez quelque chose comme:
# ingressroute-echo1.yaml apiVersion: contour.heptio.com/v1beta1 kind: IngressRoute metadata: name: echo-ingress-1 spec: virtualhost: fqdn: echo1.example.com routes: - match: / services: - name: echo1 port: 80 # ingressroute-echo2.yaml apiVersion: contour.heptio.com/v1beta1 kind: IngressRoute metadata: name: echo-ingress-2 spec: virtualhost: fqdn: echo2.example.com routes: - match: / services: - name: echo2 port: 80 # ingressroute-echo3.yaml apiVersion: contour.heptio.com/v1beta1 kind: IngressRoute metadata: name: echo-ingress-3 spec: virtualhost: fqdn: echo3.example.com routes: - match: / services: - name: echo3 port: 80
Merci, j'aurais dû voir que le nom étant différent n'écraserait pas la configuration initiale du fichier.
Vous pouvez également créer différents objets d'entrée avec des annotations différentes. Créez deux fichiers d'entrée avec des hôtes et des services.
Double possible de Ajout / suppression dynamique d'hôtes nommés à partir de l'entrée k8s
@ t-prisar Merci, j'ai jeté un coup d'œil là-bas, La question est en double mais les réponses sont très différentes, celle-ci dit que c'est possible, tandis que celle liée n'est pas d'accord?