J'utilise l'entrée Google Cloud. Également déployé le nginx-ingress
et en essayant de configurer en utilisant l'adresse IP statique dans GKE.
Merci
Comme Radek 'Goblin' Pieczonka vous l'a déjà signalé, il est possible de le faire. Je voulais simplement vous connecter à la documentation officielle concernant cette affaire:
Si vous avez plusieurs contrôleurs d’Ingress dans un même cluster, vous pouvez En choisir un en spécifiant l’annotation ingress.class, par exemple en créant une Ingress avec une annotation telle que
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "gce"
ciblera le contrôleur GCE, forçant le contrôleur nginx à ignorer , alors qu'une annotation comme
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "nginx"
Puisque vous utilisez Google Cloud Platform, je peux vous donner plus de détails sur cette implémentation de Kubernetes dans Google.
Considérez que:
Par défaut, Kubernetes Engine attribue des adresses IP Externes éphémères aux applications HTTP exposées via une entrée.
Toutefois, vous pouvez bien entendu utiliser une adresse IP statique pour votre ressource d'entrée, il existe un guide officiel étape par étape vous montrant comment créer un équilibrage de charge HTTP avec Ingress en utilisant une ressource d'entrée et lier une adresse IP statique ou comment promouvoir une adresse IP "éphémère" déjà utilisée en une adresse statique.
Essayez de le parcourir et si vous rencontrez un problème, mettez à jour la question et posez la question!
Pour le contrôleur nginx-ingress, vous devez définir l’IP externe sur le service:
spec:
loadBalancerIP: "42.42.42.42"
externalTrafficPolicy: "Local"
L'exécution de plusieurs contrôleurs d'entrée dans kubernetes est tout à fait acceptable, mais ils doivent savoir quels objets Ingress ils sont supposés instancier. Cela se fait avec une annotation spéciale comme:
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
ce qui indique que cette entrée est supposée être fournie par et uniquement par le contrôleur d’introduction de nginx.
En ce qui concerne IP, Some cloud providers allow the loadBalancerIP to be specified.
, vous pouvez contrôler l’adresse IP publique d’un service.