Redmine σε Kubernetes - Μέρος 2: Εγκατάσταση Redmine

6/30/2020
7 λεπτά
Λουκάς Μπένα

Αυτό είναι το δεύτερο μέρος της σειράς για την ανάπτυξη του 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; Ευκολη.

Αποκτήστε όλα τα ισχυρά εργαλεία για τον τέλειο σχεδιασμό, διαχείριση και έλεγχο των έργων σας σε ένα λογισμικό.

Δοκιμάστε το Easy Redmine σε δωρεάν δοκιμαστική περίοδο 30 ημερών

Πλήρεις λειτουργίες, προστασία SSL, καθημερινά αντίγραφα ασφαλείας, στην τοποθεσία σας