w Kubernetes – Część 2: Instalacja Redmine

6/30/2020
8 λεπτά
Lukáš Beňa -> Łukasz Beňa

Να αστειεύομαι druga część serii dotyczącej wdrażania Redmine w Kubernetes. W tym artykule przedstawimy instrukcje dotyczące wdrażania niezawodnej installacji Redmine.

Przeliczenie części 1

Teraz musisz z niecierpliwością czekać na installację Redmine na Kubernetes. W końcu o to przyszedłeś, prawda?

W Redmine na Kubernetes - Część 1: Przygotowanie środowiska zainstalowaliśmy controler Ingress, komponent do przekierowywania żądań internetowych wewnątrz klastra, και utworzyliśmy domenę DNS, redminek8s.ddns.net. Teraz musimy tylko konfigurować HTTPS and jesteśmy gotowi do wdrożenia Redmine.


HTTPS z cert-manager

Chociaż moglibyśmy zachować nasz Redmine jako HTTP, HTTPS stał się standardem dla stron internetowych, tak bardzo, że większość przeglądarek ostrzega Cię o problemach z bezpieczeństwem, gdy zTTPS korzysta nie.

Zazwyczaj włączenie HTTPS nie jest trywialnym zadaniem, ponieważ musisz kupić certyfikat i przesłać go na swoją stronę, odnawiając go po określonym czasie i powtarzając. Cert-manager automatyzuje to wszystko, w tym odnawianie certyfikatów, a nawet uzyskuje darmowe certyfikaty. Więcej informacji znajdziesz na την πλευρά τους, ale wyjaśnię Ci wszystko, co musisz wiedzieć poniżej.


Zainstaluj cert-manager

Wykonaj następujące kroki, aby zainstalować cert-manager w swoim klastrze:

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

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

Najpierw dodajesz repozytorium, w którym znajduje się cert-manager, a następnie installujesz jego najnowszą wersję.


Połącz z dostawcą certyfikatów

Teraz musimy poinstruować cert-manager, aby połączył się z wybranym przez nas dostawcą certyfikatów. Skorzystamy z LetsEncrypt, darmowego dostawcy certyfikatów. Najpierw utwórz ten plik (pamiętaj, aby zastąpić prawdziwym addressem e-mail) i nazwij go cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

είδος: ClusterIssuer

μεταδεδομένα:

  όνομα: letsencrypt

προδιαγραφή:

  ακμή:

    υπηρέτης: https://acme-v02.api.letsencrypt.org/directory

    ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:

    privateKeySecretRef:

      όνομα: letsencrypt

    επιλυτές:

    - http01:

        είσοδος:

          τάξη: nginx

Następnie zastosuj go do swojego klastra za pomocą

kubectl apply -f cluster -issuer.yaml

Gratulacje! Προσαρμόστε το pierwsza konfiguracja kubernetes, którą piszemy and stosujemy w klastrze. Możesz zauważyć, że pokazuje, jak połączyć się z LetsEncrypt, ale opisuje również kontroler Ingress, który utworzyliśmy w Części 1 (κλάση: nginx na końcu). Ten rodzaj konfiguracji ma kilka linii z odstępami, aby wskazać zależność niektórych właściwości od innych. Zachowaj te odstępy, jak pokazano, aby zapewnić, że plik zostanie odczytany i zastosowany poprawnie.

Το Teraz Twój klaster obsługuje HTTPS. Za każdym razem, gdy installujemy aplikację, możemy ją instruować, aby działała z HTTPS i voilà! Cały διαδικασία uzyskania certyfikatu zostanie wykonany automatycznie w tle.


Εγκαταστήστε το Redmine

Να αστειεύομαι, na co wszyscy czekaliśmy. Możemy zainstalować Redmine na kilka różnych sposobów, ale zdecydowanie najwygodniejszym jest użycie Helm. Jak już wcześniej zrobiliśmy, najpierw dodajemy repozytorium, w którym znajduje się Redmine

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

Ale tym razem zamiast installować od razu, stworzymy plik konfiguracyjny, aby wskazać niektóre niestandardowe zachowanie, które chcemy, aby Redmine miał.

Rozdzielimy wszystkie konfiguracje na własne sekcje, ale umieścimy je wszystkie w tym samym pliku, jeden po drugim. Τιμές Nazwij plik.yaml.

Wszystkie aplikacje Helm mają plik values.yaml z wszystkimi możliwymi konfiguracjami, które można wprowadzić do aplikacji. Gdy tworzymy własny plik values.yaml, definiujemy zmiany, które chcemy wprowadzić. Wartości, których nie uwzględniamy w naszym pliku, pozostaną takie ίδιο jak w pliku domyślnym.

Wszystkie wartości domyślne można również znaleźć na stronie aplikacji Helm, https://hub.helm.sh/charts/bitnami/redmine. Sprawdź wszystkie konfiguracje.


Pierwszy użytkownik admin

RedmineUsername: adminUser

RedminePassword:

Ten krok jest równie konieczny, co łatwy do zrozumienia. To nasz pierwszy użytkownik w Redmine, którego będziemy używać do pierwszego logowania.

Po zainstalowaniu Redmine będziesz mógł uzyskać do niego dostęp z tym użytkownikiem, aby skonfigurować swoją całkowicie nową installację.


Baza danych PostgreSQL

Domyślnie nasza installacja Helm będzie wymagała utworzenia bazy danych mariadb. Zamiast tego ρυθμίστε την εγκατάσταση και την εγκατάσταση σε PostgreSQL. Musisz również dodać co najmniej hasło, aby uzyskać dostęp do tej bazy danych, jak możesz zobaczyć poniżej

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

mariadb:

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

postgresql:

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

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

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

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

Musimy wyraźnie powiedzieć naszej installacji, że nie chcemy, aby MariaDB była installowana razem z konfiguracją dla bazy danych PostgreSQL.


Διαμόρφωση nazwy DNS

Poniższa konfiguracja jest drugą stroną konfiguracji DNS, którą wykonaliśmy w części 1. Jak widać, włączamy TLS, protokół za HTTPS, i ustawiamy nazwę hosta, którąs nazwę hosta, któśrą naswę śněrąs:

είσοδος:

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

  certManager: αλήθεια

  όνομα κεντρικού υπολογιστή: redminek8s.ddns.net

  tls: αλήθεια

  σχολιασμοί:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Także w ostatnich dwóch liniach łączymy naszą aplikację z kontrolerem Ingress iz wydawcą klastra, który utworzyliśmy wcześniej.

Teraz możemy wdrożyć Redmine z naszą niestandardową konfiguracją:

helm εγκαταστήστε Redmine -f Values.yaml bitnami / redmine

Ta linia jest podobna do innych linii installacji τιμόνι, które używaliśmy wcześniej, ale tym razem dostarczamy niestandardowy plik values.yaml. Για να υποστηρίξετε την εφαρμογή Helm.

Potrzebujemy jeszcze trochę cierpliwości, ponieważ tworzenie aplikacji zajmuje trochę czasu. Możesz wykonać ten polecenie, aby sprawdzić stan kontenerów Twojej aplikacji:

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

Polecenie zwróci coś podobnego do tego:

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

. . .

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

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

Musisz poczekać, aż status dla obu kontenerów będzie Running i wszystkie będą gotowe 1/1, co w moim przypadku zajęło około 6 λεπτά.

Teraz wszystko jest gotowe, aby otworzyć przeglądarkę i przejść do naszej nowej installacji:

Redmine αστείο gotowy


άθροιση

Kubernetes to narzędzie o złożonej strukturze do wdrażania aplikacji, ale poradziliśmy sobie z tą złożonością dzięki pomocy Helm (bez żartów) και wdrożyliśmy niezawodnąacjęminąe install.

Podsumowanie tego poradnika znajdziesz w następującym repozytorium git: https://github.com/lcofre/redmine-on-k8s. Zachęcamy do porównania z Twoimi plikami, jeśli utkniesz.

Pozostawiliśmy kilka koncepcji poza dyskusją, ponieważ były one złożone lub wyjaśnienie było związane z chmurą. Wśród nich są żywotność i gotowość Twojej application, konfiguracja przychodzących wiadomości e-mail oraz skalowanie w celu obsługi większego obciążenia. Prosimy o podanie w komentarzach, co Cię najbardziej interesuje, abyśmy mogli omówić to w przyszłym poradniku.

Najlepsza aktualizacja Redmine; Łatwa.

Zdobądź wszystkie potężne narzędzia do doskonałego planowania, zarządzania i kontroli projektów w jednym oprogramowaniu.

Wypróbuj Easy Redmine για 30 μέρες

Pełne funkcje, zabezpieczenie SSL, codzienne kopie zapasowe, dostępne w Twojej lokalizacji