Skip to main content
Version: 3.19.0

Ετικέτες και Annotations

Αυτό το μέρος του Οδηγού Βέλτιστων Πρακτικών καλύπτει τις βέλτιστες πρακτικές για τη χρήση ετικετών και annotations στο chart σας.

Είναι Ετικέτα ή Annotation;

Ένα στοιχείο μεταδεδομένων θα πρέπει να είναι ετικέτα υπό τις ακόλουθες συνθήκες:

  • Χρησιμοποιείται από το Kubernetes για την αναγνώριση αυτού του πόρου
  • Είναι χρήσιμο να εκτίθεται στους διαχειριστές για σκοπούς αναζήτησης στο σύστημα.

Για παράδειγμα, προτείνουμε τη χρήση του helm.sh/chart: NAME-VERSION ως ετικέτα, ώστε οι διαχειριστές να μπορούν να βρίσκουν εύκολα όλες τις εκδοχές ενός συγκεκριμένου chart.

Αν ένα στοιχείο μεταδεδομένων δεν χρησιμοποιείται για αναζήτηση, θα πρέπει να οριστεί ως annotation.

Τα Helm hooks είναι πάντα annotations.

Τυπικές Ετικέτες

Ο παρακάτω πίνακας ορίζει τις συνήθεις ετικέτες που χρησιμοποιούν τα Helm charts. Το ίδιο το Helm δεν απαιτεί ποτέ την παρουσία μιας συγκεκριμένης ετικέτας. Οι ετικέτες που σημειώνονται με REC συνιστώνται και θα πρέπει να τοποθετούνται σε ένα chart για γενική συνέπεια. Αυτές που σημειώνονται με OPT είναι προαιρετικές. Είναι συνηθισμένες στην πράξη, αλλά δεν είναι απαραίτητες για λειτουργικούς σκοπούς.

ΌνομαΚατάστασηΠεριγραφή
app.kubernetes.io/nameRECΘα πρέπει να είναι το όνομα της εφαρμογής, που αντιπροσωπεύει ολόκληρη την εφαρμογή. Συνήθως χρησιμοποιείται το {{ template "name" . }}. Χρησιμοποιείται από πολλά Kubernetes manifests και δεν είναι συγκεκριμένο για το Helm.
helm.sh/chartRECΘα πρέπει να είναι το όνομα και η έκδοση του chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}.
app.kubernetes.io/managed-byRECΘα πρέπει να είναι πάντα {{ .Release.Service }}. Χρησιμοποιείται για την εύρεση όλων των πόρων που διαχειρίζεται το Helm.
app.kubernetes.io/instanceRECΘα πρέπει να είναι το {{ .Release.Name }}. Βοηθά στη διάκριση μεταξύ διαφορετικών εκδοχών της ίδιας εφαρμογής.
app.kubernetes.io/versionOPTΗ έκδοση της εφαρμογής και μπορεί να οριστεί ως {{ .Chart.AppVersion }}.
app.kubernetes.io/componentOPTΜια συνήθης ετικέτα για τη σήμανση των διαφορετικών ρόλων που μπορεί να έχουν τα διάφορα στοιχεία μιας εφαρμογής. Για παράδειγμα, app.kubernetes.io/component: frontend.
app.kubernetes.io/part-ofOPTΌταν χρησιμοποιούνται πολλαπλά charts ή στοιχεία λογισμικού μαζί για τη δημιουργία μιας εφαρμογής. Για παράδειγμα, λογισμικό εφαρμογής και μια βάση δεδομένων για την παραγωγή ενός ιστότοπου. Μπορεί να οριστεί στην εφαρμογή ανώτερου επιπέδου που υποστηρίζεται.

Μπορείτε να βρείτε περισσότερες πληροφορίες για τις ετικέτες του Kubernetes, με πρόθεμα app.kubernetes.io, στην τεκμηρίωση του Kubernetes.