w Kubernetes – Część 2: Instalacja Redmine

6/30/2020
8 minut
Lukáš Beňa -> Łukasz Beňa

To druga część serii aktualizacji Redmine w Kubernetes. W tym artykule przedstawiono instrukcje dotyczące uruchamiania instalacji Redmine.

Przeliczenie części 1

Teraz należy poczekać na podłączenie Redmine na Kubernetes. W końcu o to przyszedłeś, prawda?

W Redmine na Kubernetes - Część 1: Przygotowanie środowiska zainstalowaliśmy kontroler Ingress, komponent do przekierowywania stron internetowych wewnątrz klastra, utworzyliśmy domenę DNS, redminek8s.ddns.net. Teraz musimy tylko udostępnić HTTPS i jesteśmy gotowi do uruchomienia Redmine.


Menedżer certyfikatów HTTPS z

Moglibyśmy uruchomić nasz Redmine jako HTTP, HTTPS stał się standardem dla stron internetowych, tak bardzo, że główny użytkownik ostrzega Cię o problemach z aktualizacją, gdy strona nie korzysta z HTTPS.

połączenie z HTTPS nie jest trywialne, wymagane jest posiadanie certyfikatu i certyfikatu, przejdź na swoją stronę, odnawiając go po określonym czasie i powtarzając proces. Cert-manager automatyzuje to wszystko, w tym odnawianie certyfikatów, a nawet daje darmowe certyfikaty. Więcej informacji na temat moja strona, ale wyjaśnię Ci wszystko, co musisz wiedzieć poniżej.


Zainstaluj menedżera certyfikatów

Wykonaj kroki, aby sprawdzić menedżera certyfikatów w swoim klastrze:

repozytorium sterów dodaje jetstack https://charts.jetstack.io Aktualizacja repozytorium sterów &&

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

Podaj repozytorium, które zawiera menedżera certyfikatów, a następnie zainstaluj jego najnowsze wydanie.


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. Fragment utworu z ten plik (pamiętaj, aby znaleźć prawdziwy adres e-mail) i przejdź do klastra-issuer.yaml

Wersja api: cert-manager.io/v1alpha2

rodzaj: ClusterIssuer

metadane:

  nazwa: letsencrypt

specyfikacja:

  kulminacja:

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

    e-mail:

    prywatnyKeySecretRef:

      nazwa: letsencrypt

    solwery:

    - http01:

        ingres:

          klasa: nginx

Posiadane miejsce do twojego klastra za pomocą

kubectl stosuje -f klaster-emiter.yaml

Gratulacje! Powyższy plik do przygotowania kubernetes, który piszemy i używamy w klastrze. Możesz udostępnić, że istnieje, jak połączenie się z LetsEncrypt, ale także dołączony do kontrolera Ingress, który utworzyliśmy w Części 1 (klasa: nginx na końcu). Ten rodzaj konfiguracji ma kilka linii z odstępami, aby wykryć niektóre właściwości od innych. Zachowaj te odstępy, jak zabezpieczone, aby dane były dostępne, że plik zostanie odczytany i wprowadzony ponownie.

Teraz Twój klaster obsługuje HTTPS. Za każdym razem, gdy instalujemy aplikację, możemy użyć instrukcji, aby zastosować funkcję z HTTPS i voilà! Cały proces uzyskiwania certyfikatu zostanie wykonany automatycznie w tle.


Instalacja Redmine

Żeby żartować, na co wszyscy czekaliśmy. Można określić Redmine na kilka różnych sposobów, ale zdecydowanie najwygodniejszym jest wybór Helm. Jak już wcześniej o tym poinformowaliśmy, najpierw dodajemy repozytorium, które zawiera się z Redmine

repozytorium sterów dodaj bitnami https://charts.bitnami.com/bitnami Aktualizacja repozytorium sterów &&

Ale tym razem zamiast instalować od razu, stworzyliśmy plik konfiguracyjny, aby wykryć niektóre zagrożenia, które chcemy, aby Redmine miał.

Rozdzielamy wszystkie konfiguracje na własne sekcje, ale umieścimy je wszystkie w tym samym pliku, jeden po drugim. Nazwij plik wartości.yaml.

Wszystkie aplikacje Helm mają plik wartości.yaml z zastosowaniem, które można zastosować, które można zastosować w aplikacji. Gdy tworzymy własny plik wartości.yaml, określamy zmiany, które chcemy wprowadzić. Wartości, które nie są dostępne w naszym pliku, pozostają takie same jak w formacie domyślnym.

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


Pierwszy użytkownik-administrator

Redmine Nazwa użytkownika: adminUser

RedminePassword:

Ten krok jest równie konieczny, co łatwo zrobić. To nasz pierwszy użytkownik w Redmine, który może być zatwierdzony do pierwszego logowania.

Po zainstalowaniu Redmine można podłączyć do komputera z dostępem do tego użytkownika, aby móc podłączyć swoje nowe oprogramowanie.


Baza danych PostgreSQL

Domyślnie nasza instalacja Helm będzie wymagała bazy danych mariadb. Zamiast tego skonfigurujemy naszą instalację do użytku z PostgreSQL. Musisz także dodać co najmniejsze hasło, aby uzyskać dostęp do tej bazy danych, jak można zobaczyć poniżej

DatabaseType: postgresql

mariadb:

  włączone: fałsz

postgresql:

  włączone: prawda

  postgresqlBaza danych: Redmine

  postgresqlNazwa użytkownika: Redmine

  postgresqlPassword:

Jeśli nie chcemy, aby MariaDB była zainstalowana razem z konfiguracją dla bazy danych PostgreSQL.


Konfiguracja o nazwie DNS

Następna jest inna konfiguracja DNS, którą wykonaliśmy w części 1. Jak widać, włączamy TLS, protokoły za HTTPS, i ustawiamy istniejący hosta, który został użyty podczas tworzenia naszego rekordu DNS:

ingres:

  włączone: prawda

  certManager: prawda

  nazwa hosta: redminek8s.ddns.net

  tls: prawda

  adnotacje:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: Letencrypt

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

Teraz udostępniliśmy Redmine z naszą niestandardową konfiguracją:

ster instaluje Redmine -f values.yaml bitnami / redmine

Ta linia jest dostępna dla innych linii urządzeń sterujących, które używaliśmy wcześniej, ale tym razem dostarczamy niestandardowy plik wartości.yaml. Aby uzyskać dostęp do dodatkowej aplikacji Helm.

szczątkowe jeszcze trochę, spowodowane tworzeniem aplikacji trochę czasu. Możesz wykonać dziesięć decyzji, aby sprawdzić stan kontenerów aplikacji:

kubectl dostać strąki - zegarek

Polecenie zrzucenia czegoś do tego:

IMIĘ IMIĘ GOTOWY STATUS WZNOWUJE WIEK

. . .

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

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

Musisz stworzyć, aż status dla obu kontenerów będzie Running i wszystkie gotowe 1/1, co w moim przypadku około 6 minut.

Teraz wszystko jest gotowe, aby przejść do naszej nowej instalacji:

Redmine jest gotowy


Podsumowanie

Kubernetes to narzędzie składające się z wdrożenia aplikacji, ale poradziliśmy sobie z tą komplikacją dzięki pomocy Helm (bez żartów) i wdrożyliśmy niezawodną instalację Redmine.

Podsumowanie tego poradnika znajdziesz w repozytorium git: https://github.com/lcofre/redmine-on-k8s. Sprawdź do porównania z plikami, jeśli utkniesz.

Rozwiązaliśmy kilka koncepcji poza dyskusją, ponieważ były one jedną konstrukcją lub wyjaśnieniem, które dotyczyło chmury. Wśród nich są dostępne i dostępne aplikacje, które dotyczą wiadomości e-mail oraz skalowanie w celu obsługi administracyjnej. Prosimy o podanie w komentarzach, co najbardziej zagraża, abyśmy mogli omówić to w przypadku poradniku.

Najlepsza aktualizacja Redmine? Łatwa.

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

Wypróbuj Easy Redmine przez 30 dni za darmo

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