Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Obiectul Ingress în Kubernetes (kubectl)

Obiecte Kubernetes (manifeste YAML) apiVersion: networking.k8s.io/v1 / kind: Ingress (stabil în 1.19) Q&A / Distribuie cod

Expune servicii HTTP și HTTPS în afara clusterului, cu rutare după domeniu/cale și terminare TLS.

Sintaxă comandă
apiVersion: networking.k8s.io/v1 | kind: Ingress | kubectl get ingress

Ce face Obiectul Ingress

În loc să plătești câte un Service de tip LoadBalancer pentru fiecare microserviciu, un obiect Ingress îți permite să expui mai multe servicii HTTP/HTTPS în spatele unui singur punct de intrare, rutând cererile după numele de domeniu (host: api.exemplu.ro) și după calea URL (path: /v1). Tot aici configurezi și certificatele HTTPS (TLS).

Cerință esențială: un obiect Ingress este doar o listă de reguli; el nu face nimic singur dacă în cluster nu rulează un Ingress Controller (de exemplu ingress-nginx, Traefik, HAProxy, Cilium sau AWS ALB Controller). Câmpul spec.ingressClassName indică ce controller trebuie să preia regulile.

Împreună cu cert-manager, o simplă adnotare pe Ingress poate obține și reînnoi automat certificate TLS gratuite de la Let’s Encrypt, salvate într-un Secret de tip kubernetes.io/tls.

Opțiuni și argumente

Opțiune / Parametru Descriere
spec.ingressClassName Numele clasei de Ingress Controller (de ex. nginx sau traefik).
spec.tls[].hosts / secretName Domeniile acoperite de HTTPS și numele Secret-ului care conține tls.crt și tls.key.
spec.rules[].host Domeniul HTTP pentru care se aplică regulile (ex. magazin.exemplu.ro).
http.paths[].pathType Prefix (potrivește /api și /api/v1) sau Exact (doar calea exactă).
http.paths[].backend.service Service-ul intern și portul către care este trimisă cererea.

Exemple

Exemplul 1: Manifest YAML pentru un Ingress HTTPS cu două servicii

Cererile către /api merg la Service-ul api, iar restul (/) către frontend.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: shop-ingress
  namespace: shop
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - magazin.exemplu.ro
      secretName: magazin-tls
  rules:
    - host: magazin.exemplu.ro
      http:
        paths:
          - path: /api
            pathType: Prefix
            backend:
              service:
                name: api
                port:
                  number: 80
          - path: /
            pathType: Prefix
            backend:
              service:
                name: frontend
                port:
                  number: 80

Ieșire în terminal

ingress.networking.k8s.io/shop-ingress created

Exemplul 2: Verificarea adresei IP externe alocate de Ingress Controller

kubectl get ingress -n shop

Ieșire în terminal

NAME           CLASS   HOSTS                ADDRESS         PORTS     AGE
shop-ingress   nginx   magazin.exemplu.ro   203.0.113.45    80, 443   3m

Greșeli frecvente

  • Coloana ADDRESS din kubectl get ingress rămâne goală: fie nu ai instalat niciun Ingress Controller în cluster, fie lipsește spec.ingressClassName.
  • Ingress-ul și Service-ul/Secret-ul TLS către care pointează trebuie să fie în același namespace.

Comenzi înrudite

  • Obiectul Service: Oferă o adresă IP stabilă, un nume DNS intern și load-balancing către un grup de Pod-uri.
  • ConfigMap și Secret: Separă configurația și datele sensibile (parole, tokenuri, chei TLS) de imaginea containerului.
  • kubectl describe: Afișează detaliile complete ale unei resurse, inclusiv evenimentele recente asociate.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Obiectul Ingress

Ai o nelămurire despre utilizarea comenzii Obiectul Ingress sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.