Entrada

Kubernetes servicio

Los servicios son un tipo de objeto en kubernetes aqui vamos mostrar como crear una configuracion minima de un servicio.

Requerimientos

Tener instalado y ejecutandose

  • docker
  • minikube
  • kubectl

Creacion

Creamos el deployment con el selector mi-web

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mi-web
  labels:
    app: aplicacion-externa
spec:
  replicas: 5
  selector:
    matchLabels:
      app: mi-web
  template:
    metadata:
      labels:
        app: mi-web
    spec:
      containers:
      - name: nginx
        image: nginx:1.20-alpine
        ports:
        - containerPort: 80
1
$ kubectl apply -f deploy.yaml

kubeview deploy

Creamos el servicio haciendo referencia al selector mi-app.

1
2
3
4
5
6
7
8
9
10
11
apiVersion: v1
kind: Service
metadata:
  name: mi-servicio
spec:
  selector:
    app: mi-web
  ports:
    -protocol: TCP
      port: 80
      targetPort: 80
1
$ kubectl apply -f service.yaml

kubeview deploy

Para acceder a nuestra aplicación tenemos node-port load balancer e ingress aquí ponemos un ejemplo del primero ya que estamos trabajando de forma local

1
2
3
4
5
6
7
8
9
10
11
12
apiVersion: v1
kind: Service
metadata:
  name: servicio-nodeport
spec:
  type: NodePort
  selector:
    app: mi-web
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30007
1
$ kubectl apply -f node-port.yaml
Esta entrada está licenciada bajo CC BY 4.0 por el autor.