Ingress Controller
El ingress controller
es un servicio que se ejecuta en un pod y que permite observar los objetos endpoint
. Cuando un nuevo objeto es creado, ingress controller
lo detecta y aplica las reglas que tenga definidas para enrutar el tráfico (normalmente HTTP).
En resumen, permite enrutar tráfico desde fuera de un cluster a los servicios del mismo.
Cualquier tecnología que sirviera como proxy inverso se puede utilizar como ingress controller
. Uno de los más comunes es nginx.
Instalación de un ingress controller
Podemos instalar el ingress controller basado en nginx con helm. En esta página tengo la documentación sobre Helm.
Primero añadimos el repositorio de ingress-nginx
y actualizamos:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
Descargamos el chart:
helm fetch ingress-nginx/ingress-nginx --untar
Modificamos el fichero values.yaml
y en la línea que pone kind: Deployment
actualizamos el valor por DaemonSet
quedando así:
## DaemonSet or Deployment
kind: DaemonSet
Instalamos el chart que acabamos de modificar:
helm install myingress .
Ahora ya podemos añadir objetos de tipo ingress
en kubernetes.
Manifiesto de kubernetes
Podemos declarar el objeto del manifiesto de kubernetes como en el siguiente ejemplo:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
rules:
- host: <hostname>
http:
paths:
- backend:
service:
name: <nombre>
port:
number: <puerto>
path: /
pathType: ImplementationSpecific
Gestión de objetos ingress
Los principales comando de gestión son:
kubectl get ingress
kubectl delete ingress <nombre>
kubectl edit ingress <nombre>
Feedback
Was this page helpful?
¡Me alegra escucharlo!. Por favor, ayudanos a mejorar.
Siento oírlo. Por favor, ayudanos a mejorar.