gr
Γλώσσα
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Μετάφραση AI
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

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

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

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

helm repo add jetstack https://charts.jetstack.io && helm repo update

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

Πρώτα προσθέτετε το αποθετήριο όπου βρίσκεται το cert-manager και στη συνέχεια εγκαθιστάτε την τελευταία έκδοσή του.


Σύνδεση με την Αρχή Πιστοποίησης

Τώρα πρέπει να οδηγήσουμε το cert-manager να συνδεθεί με τον πάροχο Πιστοποιητικών της επιλογής μας. Θα χρησιμοποιήσουμε το LetsEncrypt, μια δωρεάν αρχή πιστοποίησης. Δημιουργήστε πρώτα αυτό το αρχείο (μην ξεχάσετε να αντικαταστήσετε το <your-email-address> με μια πραγματική διεύθυνση email) και ονομάστε το cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

kind: ClusterIssuer

metadata:

  name: letsencrypt

spec:

  acme:

    server: https://acme-v02.api.letsencrypt.org/directory

    email: <your-email-address>

    privateKeySecretRef:

      name: letsencrypt

    solvers:

    - http01:

        ingress:

          class: nginx

Στη συνέχεια, εφαρμόστε το στο cluster σας με

kubectl apply -f cluster-issuer.yaml

Συγχαρητήρια! Το παραπάνω αρχείο είναι η πρώτη δια

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

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

helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update

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

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

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

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


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

RedmineUsername: adminUser

RedminePassword: <my-password>

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

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

Διαμόρφωση ονόματος DNS

Η παρακάτω διαμόρφωση είναι η αντίστοιχη πλευρά της διαμόρφωσης DNS που κάναμε στο Μέρος 1. Όπως μπορείτε να δείτε, ενεργοποιούμε το TLS, το πρωτόκολλο πίσω από το HTTPS, και ορίζουμε το όνομα κεντρικού υπολογιστή που χρησιμοποιήσαμε κατά τη δημιουργία της εγγραφής DNS μας:

ingress:

  enabled: true

  certManager: true

  hostname: redminek8s.ddns.net

  tls: true

  annotations:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Επίσης, στις τελευταίες δύο γραμμές συνδέουμε την εφαρμογή μας με τον Ingress Controller και με τον Cluster Issuer που δημιουργήσαμε προηγουμένως.

Τώρα μπορούμε να αναπτύξουμε το Redmine με την προσαρμοσμένη διαμόρφωσή μας:

helm install Redmine -f values.yaml bitnami/redmine

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

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

kubectl get pods --watch

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

NAME                       READY   STATUS    RESTARTS   AGE

. . .

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

redmine-postgresql-0       1/1     Running   0          6m40s

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

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

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


Συνοψίζοντας

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

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

Αφήσαμε ορισμένες έννοιες εκτός της συζήτησης επειδή ήταν πο

Η απόλυτη αναβάθμιση του Redmine; Εύκολη.

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

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

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