Tabla de Contenidos

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:

Ejemplo <sxh yaml> 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
    </sxh>

Comandos

Mostrar los servicios

<sxh>kubectl get svc</sxh>

Ver los services con una determinada etiqueta

<sxh>kubectl get svc -l app=<etiqueta></sxh>

Mostrar los endpoints

<sxh>kubectl describe endpoint <nombreservicio></sxh>

Crear un service desde la línea de comandos

<sxh>kubectl expose nginx/nginx –port=80 –type=NodePort</sxh>

Referencias