Expose Services
Overview
Kubernetes NodePort, LoadBalancer, and Ingress. They are all different ways to route traffic from the internet to your services inside the Kubernetes cluster.
Comparison
NodePort | each service needs to be assigned a IP Hard to maintain default range 30000 - 32767 |
LoadBalancer | each service needs to be assigned a IP Hard to maintain |
Ingress | multiple services share the same ingress |
Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: my.home.com
http:
paths:
- path: /api/v1/user
backend:
serviceName: user-service
servicePort: 80
- path: /api/v1/order
backend:
serviceName: order-service
servicePort: 80
- host: my.work.org
http:
paths:
- path: /api/v1/product
backend:
serviceName: product-service
servicePort: 80