Network
Services, Ingress, and Ingress Gateway for Kubernetes networking
Overview
Kubernetes networking enables communication between Pods, Services, and external traffic. This section covers Services, Ingress, and Ingress Gateway.
Study Path
- Services - ClusterIP, NodePort, LoadBalancer
- Service Discovery - DNS and environment variables
- Ingress - HTTP/HTTPS routing
- Ingress Gateway - Advanced API Gateway patterns
Quick Comparison
| Type | Scope | Use Case |
|---|---|---|
| ClusterIP | Cluster internal | Internal microservice communication |
| NodePort | Node-level access | Development, testing |
| LoadBalancer | External access | Production external access |
| Ingress | HTTP/HTTPS routing | Host/path-based routing |
| Ingress Gateway | Advanced routing | API Gateway, rate limiting, auth |
Quick Reference
Common Commands
bash
# Services
kubectl get services
kubectl expose deployment nginx --port=80
kubectl describe service nginx
# Ingress
kubectl get ingress
kubectl describe ingress my-ingress
# Service discovery
kubectl run test --image=busybox -it -- wget http://service-nameService Types
yaml
# ClusterIP (default)
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ClusterIP
selector:
app: nginx
ports:
- port: 80
targetPort: 8080
---
# NodePort
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: nginx
ports:
- port: 80
targetPort: 8080
nodePort: 30080
---
# LoadBalancer
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- port: 80
targetPort: 8080Ingress Example
yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /app
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80Best Practices
- Use ClusterIP for internal services
- Use Ingress for external HTTP/HTTPS access
- Configure health checks on Services
- Use NetworkPolicies for security
- Implement proper TLS termination
Next Steps
- Learn Services: Services
- Understand Ingress: Ingress
- Practice: Lab 03: Services & Networking
Continue Learning:
Practice: Lab 03: Services
Return to: Key Concepts | Overview