Comment puis-je configurer un contrôleur et Ingress Kubernentes pour faire essentiellement ce que le fichier suivant nginx.conf fait:Comment associer plusieurs services à un chemin Kubernetes Ingress?
upstream backend {
server server1.example.com weight=5;
server server2.example.com:8080;
server backup1.example.com:8080 backup;
}
Je veux un point final http mapper à plusieurs services de Kubernetes avec une préférence pour un primaire, mais aussi avoir une sauvegarde. (Pour mon projet particulier, j'ai besoin de plusieurs services au lieu d'un service avec plusieurs modules.)
Voici mon fichier ingress.yaml essayé. Je suis tout à fait certain que la façon dont je répertorie les backends multiples est incorrecte. Comment je le ferais? Et comment puis-je définir le drapeau "sauvegarde"?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: fanout-ingress
annotations:
ingress.kubernetes.io/rewrite-target:/
kubernetes.io/ingress.class: "nginx"
# kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress"
spec:
rules:
- http:
paths:
- path:/
backend:
serviceName: server1
servicePort:
- path:/
backend:
serviceName: server2
servicePort: 8080
- path:/
backend:
serviceName: backup1
servicePort: 8080
Je cours Kubernetes sur GKE.
Si je vais avec la 2ème option que vous avez mentionnée (Déploiement et Service pour nginx), puis-je également faire de ce Service un type = LoadBalancer au lieu d'un Nodeport sans headless et pas besoin d'utiliser Ingress? (Si c'est tout ce dont j'ai besoin Ingress pour). Aussi, si je gardais Ingress, quel serait le meilleur Ingress Controller? Peut-être le même déploiement Nginx? Ou devrait-il être de Google? – gunit
Si vous n'exposez que ce service, vous pouvez ignorer l'entrée, oui. Meilleure entrée que je préfère ne pas dire. –