Crear un Ingress Controller en un clúster
Prerequisites
Configurar Ingress Controller.
Create deployments.
Expose deployments.
minikube addons enable ingress
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
kubectl expose deployment web --type=NodePort --port=8080
kubectl create deployment web2 --image=gcr.io/google-samples/hello-app:2.0
kubectl expose deployment web2 --port=8080 --type=NodePort
Acceso a servicios con Ingress
Una vez que se tienen los servicios a enrutar por el Ingress se define el archivo demo-ingress.yaml.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 8080
- path: /v2
pathType: Prefix
backend:
service:
name: web2
port:
number: 8080
Este archivo define un Ingress con la ruta
hello-world.info
para el servicioweb
yhello-wold.info/v2
para el servicioweb2.
Para probar localmente se deberá ejecutar lo siguiente y copiar la IP asignada al Ingress que se creó.
kubectl get ingress
Agregar el host y la IP al final del archivo /etc/hosts.
echo "192.168.59.114 hello-world.info" >> /etc/hosts
También es posible ssh al clúster y probar con curl.
Enlaces de referencia
PreviousComunicar dos microservicios en un clúster de KubernetesNextConfigurar Horizontal Pod Autoscaler en Kubernetes
Last updated