Services

1/12/2025

Kubernetes Services

A Service is an abstraction that defines a logical set of Pods and a policy to access them.

Service Types

  • ClusterIP: Internal access only (default)
  • NodePort: Exposes on each node’s IP
  • LoadBalancer: Cloud provider load balancer
  • ExternalName: Maps to DNS name

ClusterIP Service

yaml
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 8080

NodePort Service

yaml
apiVersion: v1
kind: Service
metadata:
  name: my-nodeport
spec:
  type: NodePort
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 30080

LoadBalancer Service

yaml
apiVersion: v1
kind: Service
metadata:
  name: my-loadbalancer
spec:
  type: LoadBalancer
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 8080