w Kubernetes – Część 2: Instalacja Redmine
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.