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?