Σύνδεση
en

Γλώσσα

  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr

Μηχανική μετάφραση

  • bg
  • cs
  • dk
  • gr
  • hu
  • il
  • it
  • pl
  • se
  • tr

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

Ημερομηνία:7 / 1 / 2020
Μήκος:7 λεπτά
Μουσικός:Λεάντρο Κοφρέ
Κοινοποίηση:

Αυτό είναι ένα δεύτερο μέρος της σειράς ανάπτυξη του Redmine στο Kubernetes. Σε αυτό το άρθρο, θα παρέχουμε οδηγίες σχετικά με τον τρόπο ανάπτυξης μιας αξιόπιστης εγκατάστασης του Redmine.

Αρίθμηση Μέρος 1

Μέχρι τώρα πρέπει να περιμένετε την εγκατάσταση του Redmine στο Kubernetes. Σε τελική ανάλυση, για αυτό ήρθες, έτσι;

In Redmine in Kubernetes - Μέρος 1: Προετοιμασία περιβάλλοντος, εγκαταστήσαμε το Ingress Controller, ένα στοιχείο για ανακατεύθυνση αιτημάτων διαδικτύου μέσα στο σύμπλεγμα και δημιουργήσαμε έναν τομέα dns, redminek8s.ddns.net. Τώρα πρέπει μόνο να διαμορφώσουμε το HTTPS και είμαστε έτοιμοι να αναπτύξουμε το Redmine.

HTTPS με διαχειριστή πιστοποιητικών

Παρόλο που θα μπορούσαμε να διατηρήσουμε το Redmine ως HTTP, το HTTPS έχει γίνει το πρότυπο για ιστότοπους, τόσο που τα περισσότερα προγράμματα περιήγησης να σας προειδοποιούν για ένα ζήτημα ασφαλείας όταν το HTTPS δεν χρησιμοποιείται από έναν ιστότοπο.

Συνήθως, η ενεργοποίηση του HTTPS δεν είναι ασήμαντη εργασία, καθώς πρέπει να αγοράσετε ένα πιστοποιητικό και να το ανεβάσετε στον ιστότοπό σας, να το ανανεώσετε μετά από ένα ορισμένο χρονικό διάστημα και να επαναλάβετε τη διαδικασία. Ο διαχειριστής πιστοποιητικών αυτοματοποιεί όλα αυτά, συμπεριλαμβανομένης της ανανέωσης πιστοποιητικών, και αποκτά ακόμη και δωρεάν πιστοποιητικά. Μπορείτε να δείτε περισσότερες πληροφορίες σχετικά με Την περιοχή τους, αλλά θα σας εξηγήσω όλα όσα πρέπει να γνωρίζετε στη συνέχεια.

Εγκατάσταση πιστοποιητικού διαχειριστή

Εκτελέστε τα ακόλουθα βήματα για να εγκαταστήσετε το cert-manager στο σύμπλεγμα:

τιμόνι repo προσθέστε jetstack https://charts.jetstack.io && helm repo ενημέρωση

helm install cert-manager jetstack / cert-manager - set installCRDs = true

Πρώτα προσθέτετε το αποθετήριο όπου είναι το 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

Στη συνέχεια, εφαρμόστε το στο σύμπλεγμα σας με

kubectl apply -f cluster -issuer.yaml

Συγχαρητήρια! Το παραπάνω αρχείο είναι η πρώτη διαμόρφωση kubernetes που γράφουμε και εφαρμόζουμε στο σύμπλεγμα. Μπορεί να έχετε παρατηρήσει ότι δείχνει πώς να συνδεθείτε με το LetsEncrypt, αλλά περιγράφει επίσης τον Επεξεργαστή εισόδου που δημιουργήσαμε στο Μέρος 1 (Η κλάση: nginx στο τέλος) Αυτός ο τύπος διαμόρφωσης έχει μερικές γραμμές με κενά για να υποδείξει την εξάρτηση ορισμένων ιδιοτήτων από οι υπολοιποι. Διατηρήστε αυτούς τους χώρους όπως φαίνεται για να διασφαλίσετε ότι το αρχείο διαβάζεται και εφαρμόζεται σωστά.

Τώρα το σύμπλεγμα σας είναι ενεργοποιημένο HTTPS. Κάθε φορά που εγκαθιστούμε μια εφαρμογή, μπορούμε να την καθοδηγήσουμε να λειτουργεί με HTTPS και voilà! Η όλη διαδικασία λήψης του πιστοποιητικού θα γίνει αυτόματα πίσω από τα παρασκήνια.

Εγκατάσταση Redmine

Αυτό περιμέναμε όλοι. Μπορούμε να εγκαταστήσουμε το Redmine με διάφορους τρόπους, αλλά μακράν το πιο βολικό είναι να χρησιμοποιήσετε το Helm. Όπως έχουμε ήδη κάνει, πρώτα προσθέτουμε το αποθετήριο ήταν το Redmine is

helm repo προσθέστε bitnami https://charts.bitnami.com/bitnami && helm repo ενημέρωση

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

Θα διαχωρίσουμε όλες τις διαμορφώσεις στη δική τους ενότητα, αλλά τις βάζετε όλες στο ίδιο αρχείο, το ένα μετά το άλλο. Καλέστε το αρχείο values.yaml.

Όλες οι εφαρμογές Helm έχουν ένα αρχείο names.yaml με όλες τις πιθανές διαμορφώσεις που μπορούν να γίνουν στην εφαρμογή. Όταν δημιουργούμε τις δικές μας τιμές.yaml καθορίζουμε τις αλλαγές που θέλουμε. Οποιαδήποτε τιμή δεν συμπεριλαμβάνουμε στο αρχείο μας θα παραμείνει όπως είναι στο προεπιλεγμένο αρχείο.

Όλες οι προεπιλεγμένες τιμές μπορούν επίσης να βρεθούν στη σελίδα εφαρμογής τιμονιού, https://hub.helm.sh/charts/bitnami/redmine. Προχωρήστε και ελέγξτε όλες τις διαμορφώσεις.

Πρώτος χρήστης διαχειριστή

RedmineUsername: adminUser

RedminePassword:

Αυτό το βήμα είναι εξίσου απαραίτητο και κατανοητό. Είναι ο πρώτος μας χρήστης στο Redmine, αυτός που θα χρησιμοποιήσουμε για να συνδεθούμε για πρώτη φορά.

Όταν εγκατασταθεί το Redmine θα μπορείτε να έχετε πρόσβαση σε αυτόν με αυτόν τον χρήστη για να διαμορφώσετε την ολοκαίνουργια εγκατάσταση.

Βάση δεδομένων PostgreSQL

Από προεπιλογή, η εγκατάσταση Helm απαιτεί τη δημιουργία βάσης δεδομένων mariadb. Αντ 'αυτού θα ρυθμίσουμε την εγκατάστασή μας για να χρησιμοποιήσουμε το PostgreSQL. Πρέπει επίσης να προσθέσετε τουλάχιστον έναν κωδικό πρόσβασης για πρόσβαση σε αυτήν τη βάση δεδομένων, όπως μπορείτε να δείτε παρακάτω

Τύπος βάσης δεδομένων: postgresql

mariadb:

  ενεργοποιημένο: false

postgresql:

  ενεργοποιημένο: true

  postgresql Βάση δεδομένων: Redmine

  postgresql Όνομα χρήστη: Redmine

  postgresql Κωδικός πρόσβασης:

Πρέπει να πούμε ρητά στην εγκατάστασή μας ότι δεν θέλουμε να εγκατασταθεί το mariadb μαζί με τη διαμόρφωση για τη βάση δεδομένων PostgreSQL.

Διαμόρφωση ονόματος 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.

Χρειαζόμαστε ακόμη περισσότερη υπομονή, καθώς η δημιουργία της εφαρμογής απαιτεί λίγο χρόνο. Μπορείτε να εκτελέσετε αυτήν την εντολή για να ελέγξετε την κατάσταση των κοντέινερ της εφαρμογής σας:

kubectl πάρτε λοβό - ρολόι

Η εντολή θα επιστρέψει κάτι παρόμοιο με αυτό:

ΟΝΟΜΑ ΕΤΟΙΜΟΙ ΚΑΤΑΣΤΑΣΕΙΣ ΕΠΑΝΑΦΟΡΑ ΗΛΙΚΙΑΣ

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 Τρέξιμο 0 6m40s

Πρέπει να περιμένετε μέχρι να τρέξει η κατάσταση και για τα δύο κοντέινερ και όλα να είναι έτοιμα 1/1, το οποίο στην περίπτωσή μου χρειάστηκε περίπου 6 λεπτά.

Τώρα όλοι είναι έτοιμοι να ανοίξουν το πρόγραμμα περιήγησης και να μεταβούν στη νέα μας ανάπτυξη:

Το Redmine είναι έτοιμο

Ολοκληρώνοντας

Το Kubernetes είναι ένα σύνθετο εργαλείο για την ανάπτυξη εφαρμογών, αλλά περάσαμε από αυτήν την πολυπλοκότητα με τη βοήθεια του Helm (χωρίς πρόβλεψη) και αναπτύξαμε μια αξιόπιστη εγκατάσταση του Redmine.

Μπορείτε να βρείτε μια σύνοψη αυτού του οδηγού στο ακόλουθο git repo: https://github.com/lcofre/redmine-on-k8s. Μη διστάσετε να συγκρίνετε με τα αρχεία σας εάν κολλήσετε.

Αφήσαμε κάποιες έννοιες εκτός συζήτησης επειδή ήταν περίπλοκες ή η εξήγηση ήταν συγκεκριμένη για το σύννεφο. Μεταξύ αυτών είναι η ζωντάνια και η ετοιμότητα της εφαρμογής σας, η διαμόρφωση εισερχόμενων μηνυμάτων και η κλιμάκωση για χειρισμό περισσότερου φορτίου. Ενημερώστε μας παρακάτω τι σας ενδιαφέρει περισσότερο, ώστε να το συζητήσουμε στο μέλλον.

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

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