Redmine σε Kubernetes - Μέρος 2: Εγκατάσταση Redmine
Αυτό είναι το δεύτερο μέρος της σειράς για την ανάπτυξη του Redmine στο Kubernetes. Σε αυτό το άρθρο, θα παρέχουμε οδηγίες για το πώς να αναπτύξετε μια αξιόπιστη εγκατάσταση του Redmine.
Αναφορά Μέρος 1
Τώρα πρέπει να ανυπομονείτε για την εγκατάσταση του Redmine στο Kubernetes. Αφού όλα, γι' αυτό ήρθατε, σωστά;
Στο Redmine στο Kubernetes - Μέρος 1: Προετοιμασία περιβάλλοντος, εγκαταστήσαμε τον Ingress Controller, ένα συστατικό για την ανακατεύθυνση αιτημάτων από το διαδίκτυο μέσα στο cluster σας, και δημιουργήσαμε έναν τομέα DNS, redminek8s.ddns.net. Τώρα χρειάζεται μόνο να ρυθμίσουμε το HTTPS και είμαστε έτοιμοι να αναπτύξουμε το Redmine.
HTTPS με το cert-manager
Αν και θα μπορούσαμε να κρατήσουμε το Redmine μας ως HTTP, το HTTPS έχει γίνει το πρότυπο για τις ιστοσελίδες, με αποτέλεσμα τα περισσότερα προγράμματα να σας προειδοποιήσουν για ένα πρόβλημα ασφαλείας όταν μια ιστοσελίδα δεν έχει HTTPS.
Συνήθως η ενεργοποίηση του HTTPS δεν είναι εύκολη διαδικασία, καθώς χρειάζεται να αγοράσετε ένα πιστοποιητικό και να ανεβάσετε στο ιστορικό σας, ανανεώνεστε μετά από ένα συγκεκριμένο χρονικό διάστημα και επαναλαμβάνοντας τη διαδικασία. Το cert-manager αυτοματοποιεί όλα αυτά, συμπεριλαμβανομένης της ανανέωσης των πιστοποιητικών και ακόμα και τη λήψη δωρεάν πιστοποιητικών. Μπορείτε να δείτε περισσότερες πληροφορίες στο site τους, αλλά θα εξηγήσω όλα όσα χρειάζεστε να γνωρίζετε παρακάτω.
Εγκατάσταση του cert-manager
Εκτελέστε τα παρακάτω βήματα για να εγκαταστήσετε το cert-manager στο cluster σας:
τιμόνι repo προσθέστε jetstack https://charts.jetstack.io && helm repo ενημέρωση
helm install cert-manager jetstack / cert-manager - set installCRDs = true
Πρώτα προσθέτετε το αποθετήριο όπου βρίσκεται το cert-manager και στη συνέχεια εγκαθιστάτε την τελευταία έκδοσή του.
Σύνδεση με την Αρχή Πιστοποίησης
Τώρα πρέπει να οδηγήσουμε το cert-manager να συνδεθεί με τον πάροχο Πιστοποιητικών της επιλογής μας. Θα χρησιμοποιήσουμε το LetsEncrypt, μια δωρεάν αρχή πιστοποίησης. Δημιουργήστε πρώτα αυτό το αρχείο (μην ξεχάσετε να το αντικαταστήσετε με μια πραγματική διεύθυνση email) και ονομάστε το cluster-issuer.yaml
apiVersion: cert-manager.io/v1alpha2
είδος: ClusterIssuer
μεταδεδομένα:
όνομα: letsencrypt
προδιαγραφή:
ακμή:
υπηρέτης: https://acme-v02.api.letsencrypt.org/directory
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:
privateKeySecretRef:
όνομα: letsencrypt
επιλυτές:
- http01:
είσοδος:
τάξη: nginx
Στη συνέχεια, εφαρμόστε το στο cluster σας με
kubectl apply -f cluster -issuer.yaml
Συγχαρητήρια! Το παραπάνω αρχείο είναι η πρώτη δια
Εγκατάσταση του Redmine
Αυτό είναι αυτό που περιμέναμε όλοι. Μπορούμε να εγκαταστήσουμε το Redmine με διάφορους τρόπους, αλλά με διαφορά ο πιο βολικός είναι να χρησιμοποιήσουμε το Helm. Όπως έχουμε ήδη κάνει προηγουμένως, πρώτα προσθέτουμε τον αποθετήριο όπου βρίσκεται το Redmine
helm repo προσθέστε bitnami https://charts.bitnami.com/bitnami && helm repo ενημέρωση
Αλλά αυτή τη φορά αντί να εγκαταστήσουμε αμέσως, θα δημιουργήσουμε μια αρχική διαμόρφωση για να υποδείξουμε κάποιες προσαρμοσμένες συμπεριφορές που θέλουμε να έχει το Redmine.
Θα χωρίσουμε όλες τις διαμορφώσεις σε δική τους ενότητα, αλλά θα τοποθετήσουμε όλες στο ίδιο αρχείο, μία μετά την άλλη. Ονομάστε το αρχείο values.yaml.
Όλες οι εφαρμογές Helm έχουν ένα αρχείο values.yaml με όλες τις δυνατές διαμορφώσεις που μπορούν να γίνουν στην εφαρμογή. Όταν δημιουργούμε το δικό μας values.yaml, καθορίζουμε τις αλλαγές που θέλουμε. Οποιαδήποτε τιμή δεν συμπεριλαμβάνουμε στο αρχείο μας θα παραμείνει όπως είναι στο προεπιλεγμένο αρχείο.
Όλες οι προεπιλεγμένες τιμές μπορούν επίσης να βρεθούν στη σελίδα της Helm, https://hub.helm.sh/charts/bitnami/redmine. Πηγαίνετε εκεί και ελέγξτε όλες τις διαμορφώσεις.
Πρώτος διαχειριστής χρήστης
RedmineUsername: adminUser
RedminePassword:
Αυτό το βήμα είναι εξίσου απαραίτητο με το να είναι εύκολο να κατανοηθεί. Είναι ο πρώτος μας χρήστης στο Redmine, αυτός που θα χρησιμοποιήσουμε για να συνδεθούμε για πρώτη φορά.
Όταν εγκατασταθεί το Redmine, μπορείτε να έχετε πρόσβαση σε αυτόν τον χρήστη για να διαμορφώσετε την ολοκαίνουργια
Διαμόρφωση ονόματος DNS
Η παρακάτω διαμόρφωση είναι η αντίστοιχη πλευρά της διαμόρφωσης DNS που κάναμε στο Μέρος 1. Όπως μπορείτε να δείτε, να ενεργοποιήσετε το TLS, το πρωτόκολλο πίσω από το HTTPS, και ορίζουμε το όνομα του κεντρικού υπολογιστή που χρησιμοποιήσαμε κατά τη δημιουργία της εγγραφής του DNS μας:
είσοδος:
ενεργοποιημένο: true
certManager: αλήθεια
όνομα κεντρικού υπολογιστή: redminek8s.ddns.net
tls: αλήθεια
σχολιασμοί:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt
Επίσης, στις τελευταίες δύο γραμμές συνδέουμε την εφαρμογή μας με τον Ingress Controller και με τον Cluster Issuer που δημιουργήσαμε προηγουμένως.
Τώρα μπορούμε να αναπτύξουμε το Redmine την προσαρμοσμένη διαμόρφωσή μας:
helm εγκαταστήστε Redmine -f Values.yaml bitnami / redmine
Αυτή η γραμμή είναι παρόμοια με άλλες γραμμές εγκατάστασης helm που χρησιμοποιήσαμε προηγουμένως, αλλά αυτή τη φορά παρέχουμε ένα προσαρμοσμένο values.yaml. Αυτός είναι ο τρόπος να προσαρμόσετε την εφαρμογή Helm.
Πρέπει να έχουμε ακόμη λίγη υπομονή, καθώς η δημιουργία της απαιτεί κάποιο χρόνο. Μπορείτε να εκτελέσετε αυτήν την εντολή για να ελέγξετε την κατάσταση των εφαρμογών σας:
kubectl πάρτε λοβό - ρολόι
Η εντολή θα επιστρέψει κάτι παρόμοιο με αυτό:
ΟΝΟΜΑ ΕΤΟΙΜΟΙ ΚΑΤΑΣΤΑΣΕΙΣ ΕΠΑΝΑΦΟΡΑ ΗΛΙΚΙΑΣ
. . .
redmine-999c68dd9-x7h2k 1/1 Running 0 6m40s
redmine-postgresql-0 1/1 Τρέξιμο 0 6m40s
Πρέπει να περιμένετε μέχρι την κατάσταση και των δύο εφαρμογών να είναι Running και όλες δεν είναι έτοιμες 1/1, πράγμα που στην περίπτωσή μου πήρε περίπου 6 λεπτά.
Τώρα είμαστε έτοιμοι να ανοίξουμε τον περιηγητή και να μεταφερθούμε στη νέα εγκατάστασή μας:
Το Redmine είναι έτοιμο
Συνοψίζοντας
Το Kubernetes είναι ένα πολύπλοκο εργαλείο για την ανάπτυξη εφαρμογών, αλλά πλοηγηθήκαμε μέσα από αυτήν την πολυπλοκότητα με τη βοήθεια του Helm (χωρίς παιχνίδι λέξεων) και αναπτύχθηκε μια αξιόπιστη εγκατάσταση του Redmine.
Μπορείτε να βρείτε μια περίληψη αυτού του οδηγού στο ακόλουθο αποθετήριο git: https://github.com/lcofre/redmine-on-k8s. Μη διστάσετε να το συγκρίνετε με τα αρχεία σας αν αντιμετωπίζετε προβλήματα.
Αφήσαμε ορισμένες έννοιες εκτός της συζήτησης επειδή ήταν πο
Η απόλυτη αναβάθμιση του Redmine; Ευκολη.
Αποκτήστε όλα τα ισχυρά εργαλεία για τον τέλειο σχεδιασμό, διαχείριση και έλεγχο των έργων σας σε ένα λογισμικό.