Γενικές Συμβάσεις
Αυτό το μέρος του Οδηγού Βέλτιστων Πρακτικών εξηγεί τις γενικές συμβάσεις.
Ονόματα των Charts
Τα ονόματα των charts πρέπει να είναι γραμμένα με μικρά λατινικά γράμματα και αριθμούς. Οι λέξεις μπορούν να διαχωρίζονται με παύλες (-):
Παραδείγματα:
drupal
nginx-lego
aws-cluster-autoscaler
Ούτε κεφαλαία γράμματα ούτε κάτω παύλες μπορούν να χρησιμοποιούνται στα ονόματα των charts. Οι τελείες δεν θα πρέπει να χρησιμοποιούνται στα ονόματα των charts.
Αριθμοί Εκδόσεων
Όπου είναι δυνατό, το Helm χρησιμοποιεί το SemVer 2 για να αναπαραστήσει τους αριθμούς των εκδόσεων. (Σημειώστε ότι τα tags ενός Docker image δεν ακολουθούν απαραίτητα το SemVer, και ως εκ τούτου θεωρούνται μια ατυχής εξαίρεση στον κανόνα.)
Όταν οι εκδόσεις τύπου SemVer αποθηκεύονται στα labels του Kubernetes, ως σύμβαση αλλάζουμε τον χαρακτήρα + σε _, καθώς τα labels δεν επιτρέπουν το σήμα + ως τιμή.
Μορφοποίηση του YAML
Τα αρχεία YAML θα πρέπει να στοιχίζονται χρησιμοποιώντας δύο κενά (και ποτέ tabs).
Χρήση των λέξεων Helm και Chart
Υπάρχουν μερικές συμβάσεις για τη χρήση των λέξεων Helm και helm.
- Το Helm αναφέρεται σε ολόκληρο το project
- Το
helmαναφέρεται στην εντολή που εκτελείται από τον χρήστη - Ο όρος
chartδεν χρειάζεται να γραφτεί με κεφαλαίο, αφού δεν αποτελεί κύριο όνομα - Παρ' ολ' αυτά, το
Chart.yamlχρειάζεται να γραφτεί με κεφαλαίο γιατί τα ονόματα αρχείων κάνουν διάκριση πεζών-κεφαλαίων (case sensitive).
Όταν δεν είστε σίγουροι, χρησιμοποιήστε το Helm (με κεφαλαίο 'H').
Chart templates και namespaces
Αποφύγετε τον ορισμό της ιδιότητας namespace στην ενότητα metadata των templates του chart σας. Το namespace στο οποίο θα εφαρμοστούν τα rendered templates πρέπει να καθορίζεται κατά την κλήση του Kubernetes client μέσω flag όπως --namespace. Το Helm κάνει render τα templates σας ως έχουν και τα στέλνει στον Kubernetes client, είτε αυτός είναι το ίδιο το Helm είτε κάποιο άλλο πρόγραμμα (kubectl, flux, spinnaker, κ.λπ.).