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
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
$ kubectl apply -f deploy.yaml

Creamos el servicio haciendo referencia al selector mi-app.
apiVersion: v1
kind: Service
metadata:
name: mi-servicio
spec:
selector:
app: mi-web
ports:
-protocol: TCP
port: 80
targetPort: 80
$ kubectl apply -f service.yaml

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
apiVersion: v1
kind: Service
metadata:
name: servicio-nodeport
spec:
type: NodePort
selector:
app: mi-web
ports:
- port: 80
targetPort: 80
nodePort: 30007
$ kubectl apply -f node-port.yaml