Sobes.tech
Junior

Τι είναι οι ετικέτες;

sobes.tech AI

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

Οι ετικέτες (Labels) στο Kubernetes είναι ζεύγη κλειδιού/τιμής που επισυνάπτονται σε αντικείμενα (π.χ., Pods, Services, Deployments). Χρησιμοποιούνται για την οργάνωση και επιλογή υποσυνόλων αντικειμένων. Οι ετικέτες δεν έχουν εγγενή σημασία για το Kubernetes, αλλά είναι σημαντικές για τους χρήστες για την ταυτοποίηση και την ομαδοποίηση.

Παραδείγματα χρήσης:

  • Ορισμός περιβάλλοντος: environment: production, environment: development
  • Ταυτοποίηση εφαρμογής: app: my-web-app
  • Ορισμός έκδοσης: version: v1.2.3
  • Ταυτοποίηση επιπέδου υπηρεσίας: tier: frontend, tier: backend

Οι επιλογείς ετικετών (Label Selectors) χρησιμοποιούνται σε αιτήματα API για την επιλογή ομάδων αντικειμένων βάσει των ετικετών τους. Για παράδειγμα, μια Υπηρεσία μπορεί να χρησιμοποιεί επιλογέα ετικετών για δρομολόγηση της κυκλοφορίας μόνο σε Pods με συγκεκριμένες ετικέτες.

Παραδείγματα επιλογέων:

  • environment=production: Επιλέγει όλα τα αντικείμενα που έχουν την ετικέτα environment με την τιμή production.
  • app in (my-web-app, another-app): Επιλέγει αντικείμενα των οποίων η ετικέτα app έχει την τιμή my-web-app ή another-app.
  • !environment: Επιλέγει αντικείμενα που δεν έχουν την ετικέτα environment.
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
  labels: # Ετικέτες που εφαρμόζονται στο Pod
    app: my-app
    tier: frontend
    environment: development
spec:
  containers:
  - name: my-app-container
    image: my-app-image:latest
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector: # Επιλογέας ετικετών για επιλογή Pods
    app: my-app
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080