Cum să configurezi Ingress în Kubernetes pentru rutare HTTP
DodaTech
Updated 2025-01-15
2 min read
In this tutorial, you'll learn about Cum să configurezi Ingress în Kubernetes pentru rutare HTTP. We cover key concepts, practical examples, and best practices.
Problema
Ai mai multe Service-uri în cluster și vrei să le expui pe toate printr-un singur entry point, cu routing pe baza hostname-ului sau a căii URL.
Soluția Pas cu Pas
1. Instalează un Ingress Controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.0/deploy/static/provider/cloud/deploy.yaml
Verifică:
kubectl get pods -n ingress-nginx
2. Creează un Ingress cu routing pe hostname
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
ingressClassName: nginx
rules:
- host: app1.example.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: app1-service
port:
number: 80
- host: app2.example.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: app2-service
port:
number: 80
kubectl apply -f ingress.yaml
Output:
ingress.networking.k8s.io/example-ingress created
3. Verifică Ingress-ul
kubectl get ingress
Output:
NAME CLASS HOSTS ADDRESS PORTS
example-ingress nginx app1.example.com,app2..com 192.168.1.100 80
4. Routing pe bază de cale
spec:
rules:
- host: example.com
http:
paths:
- pathType: Prefix
path: "/api"
backend:
service:
name: api-service
port:
number: 80
- pathType: Prefix
path: "/web"
backend:
service:
name: web-service
port:
number: 80
5. Adaugă TLS
spec:
tls:
- hosts:
- app1.example.com
secretName: app1-tls
Prevenție
- Asigură-te că ai un Ingress Controller instalat înainte de a crea resurse Ingress.
- Folosește
pathType: Prefixpentru rute generale șiExactpentru rute specifice. - Configurează
annotationspentru particularități (timeout, rate limiting, CORS).
Greșeli Comune
- Fără Ingress Controller — Ingress-ul nu funcționează fără un controller activ.
- Hostname nerezolvabil — DNS-ul trebuie să pointeze către IP-ul Ingress Controller-ului.
- PathType greșit —
Prefixmatch-uiește sub-căi,Exactnu. - Service inexistent — Backend-ul specificat trebuie să existe și să aibă Pod-uri ready.
- Annotations lipsă — Configurări specifice (redirect HTTP→HTTPS) se fac prin annotations.
Exercițiu
Creează două Deployment-uri cu Service-uri, apoi un Ingress care rutează app1.example.com către primul și app2.example.com către al doilea. Testează accesul.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează seamless cu Kubernetes pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro