Kubernetes Ingress configuration¶
Ingress in Kubernetes is an API object that manages external access to services within a cluster, typically via HTTP/HTTPS^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]. Unlike Services, which primarily proxy traffic internally, Ingress acts as an entry point that routes traffic to specific Services based on rules, often functioning as a layer 7 (application) load balancer^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].
Configuration Basics¶
Ingress resources are configured using YAML manifests, which define routing rules such as hostnames and paths^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]. A typical configuration requires an Ingress resource and a corresponding Service that exposes the application^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].
Key Configuration Steps¶
- DNS Configuration: Before applying an Ingress, a DNS record (such as an A record) is usually mapped to the external IP address of the Ingress controller^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].
- Deployment: The Ingress object is created using
kubectl apply -f [filename].yaml^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].
Example Usage¶
In a standard deployment workflow (e.g., using an Ingress like Nginx or Traefik), the Ingress Controller is assigned an external IP^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]. When a user creates an Ingress resource, they specify a HOSTS field (e.g., jenkins.od.com)^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]. The Ingress Controller then listens for requests matching these rules and forwards traffic to the backend Service specified in the configuration^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md].
Related Concepts¶
- [[Kubernetes Services]]
- [[Load Balancing]]
- [[DNS Records]]
Sources¶
^[400-devops-06-kubernetes-k8s-learning-linux-04-jenkins-readme.md]