Service Types
ClusterIPInternal only. Default. Reachable within cluster via DNS.
NodePortOpens port 30000-32767 on every node.
LoadBalancerCloud LB with public IP. Superset of NodePort.
ExternalNameDNS alias to external service. No proxying.
Key Debugging
kubectl get endpointsNo endpoints = selector mismatch
port vs targetPortport=service, targetPort=container
kubectl exposeFastest way to create a service imperatively
ingressClassNameSelect which Ingress Controller to use