Sobes.tech
Junior

Τι είναι οι διαδρομές στο Kubernetes και ποιος είναι ο σκοπός τους;

sobes.tech AI

Απάντηση από AI

Οι διαδρομές, ή Ingress Routes, στο Kubernetes, είναι ένας τρόπος να παρέχετε εξωτερική πρόσβαση στις υπηρεσίες μέσα στο cluster. Επιτρέπουν τη διαχείριση της εισερχόμενης κυκλοφορίας, κατευθύνοντάς την στις αντίστοιχες υπηρεσίες σύμφωνα με τους κανόνες που ορίζονται από τον χρήστη.

Οι κύριοι στόχοι της χρήσης διαδρομών:

  • Παροχή εξωτερικής πρόσβασης: Κάνουν τις εφαρμογές προσβάσιμες από έξω από το cluster.
  • Εξισορρόπηση φορτίου: Κατανέμουν την εισερχόμενη κυκλοφορία μεταξύ πολλαπλών αντιγράφων υπηρεσιών.
  • Τερματισμός SSL/TLS: Διαχειρίζονται τις συνδέσεις HTTPS σε επίπεδο Ingress, ανακουφίζοντας τις υπηρεσίες.
  • Εικονική φιλοξενία: Επιτρέπουν την κατεύθυνση της κυκλοφορίας σε διαφορετικές υπηρεσίες ανάλογα με το όνομα του διακομιστή στην αίτηση.
  • Routing βάσει διαδρομής: Κατευθύνουν την κυκλοφορία σε διαφορετικές υπηρεσίες ανάλογα με τη διαδρομή URL στην αίτηση.

Ο τυπικός δομικός κανόνας routing (στο manifest του Ingress) μπορεί να φαίνεται έτσι:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: paradeigma-ingress
spec:
  rules:
  - host: paradeigma.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: api-service
            port:
              number: 8080

Σε αυτό το παράδειγμα, η κυκλοφορία προς το paradeigma.com χωρίς να οριστεί διαδρομή κατευθύνεται στο service my-service (θύρα 80), και η κυκλοφορία προς το paradeigma.com/api κατευθύνεται στο service api-service (θύρα 8080).

Για να λειτουργήσει το Ingress, απαιτείται ένας Controller Ingress, ο οποίος λειτουργεί ως αντίστροφος διαμεσολαβητής και υλοποιεί τους κανόνες που ορίζονται στους πόρους Ingress. Δημοφιλείς controllers Ingress περιλαμβάνουν το Nginx Ingress Controller, το Ambassador, το Traefik.