meta data de esta página
¡Esta es una revisión vieja del documento!
Service
Con los Service Kubernetes nos permite utilizar una única ip y un único nombre dns para un conjunto de pods que definamos mediante etiquetas (label) Tipos de servicio:
- Clusterip → crea una ip virtual dentro del cluster
- NodePort →expone un puerto del nodo para acceder al service
- LoadBalancer
Ejemplo
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-test
labels:
app: front
spec:
replicas: 3
selector:
matchLabels:
app: front
template:
metadata:
labels:
app: front
spec:
containers:
- name: nginx
image: nginx:alpine
---
apiVersion: v1
kind: Service # Definimos el Service
metadata:
name: mi-servicio
labels:
app: front
spec:
type: ClusterIP #tipo de servicio
selector:
app: front
ports:
- protocol: TCP
port: 8080 # Puerto en donde tenemos el service la escucha de las peticiones
targetPort: 80 # Puerto d elos pods donde enviar las peticiones que llegan al service
Comandos
Mostrar los servicios
kubectl get svc
Ver los services con una determinada etiqueta
kubectl get svc -l app=<etiqueta>
Mostrar los endpoints
kubectl describe endpoint <nombreservicio>