w Kubernetes – Część 2: Instalacja Redmine
לצחוק druga część serii dotyczącej wdrażania Redmine w Kubernetes. W tym artykule przedstawimy instrukcje dotyczące wdrażania niezawodnej instalacji Redmine.
Przeliczenie części 1
Teraz musisz z niecierpliwością czekać na instalację Redmine na Kubernetes. W końcu o to przyszedłeś, prawda?
W Redmine na Kubernetes - Część 1: Przygotowanie środowiska zainstalowaliśmy controler Ingress, רכיבים לעשות przekierowywania żądań internetowych wewnątrz klasstra, ו-DNS, redminek8s.ddns.net. Teraz musimy tylko skonfigurować HTTPS i 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 strona ni korzysta.
Zazwyczaj włączenie HTTPS לא צריך לנסות את zadaniem, ponieważ musisz kupić certyfikat i przesłać go na swoją stronę, odnawiając go po określonym czasie i powtarzając process. Cert-מנהל 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
Wykonaj następujące kroki, aby zainstalować cert-manager w swoim klasrze:
הגה ריפו להוסיף https://charts.jetstack.io & עדכון ריפו על ההגה
helm install cert-manager jetstack / cert-manager - set installCRDs = true
Najpierw dodajesz repozytorium, w którym znajduje się cert-manager, a następnie instalujesz jego najnowszą wersję.
Połącz z dostawcą certyfikatów
Teraz musimy poinstruować מנהל Certificate, 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 adresem 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 -f אשכול-מנפיק. yaml
תודה! Powyższy plik to pierwsza konfiguracja kubernetes, którą piszemy i stosujemy w klasrze. 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 and zastosowany poprawnie.
Teraz Twój klaster obsługuje HTTPS. Za każdym razem, gdy instalujemy aplikację, możemy ją instruować, aby działała z HTTPS i Voila! Cały process uzyskania certyfikatu zostanie wykonany automatycznie w tle.
התקנת Redmine
כדי לצחוק, נא 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
הגה ריפו להוסיף ביטנמי https://charts.bitnami.com/bitnami & עדכון ריפו על ההגה
Ale tym razem zamiast instalować 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 values.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 same 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
Redmine סיסמא:
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ą instalację.
Baza danych PostgreSQL
Domyślnie nasza instalacja Helm będzie wymagała utworzenia bazy danych mariadb. Zamiast tego skonfigurujemy naszą instalację do korzystania z PostgreSQL. Musisz również dodać co najmniej hasło, aby uzyskać dostęp do tej bazy danych, jak możesz zobaczyć poniżej
מסד נתונים: postgresql
מריאדב:
מופעל: שקר
postgresql:
מופעל: נכון
postgresql בסיס נתונים: Redmine
postgresql שם משתמש: Redmine
סיסמה:
Musimy wyraźnie powiedzieć naszej instalacji, że nie chcemy, aby MariaDB była instalowana razem z konfiguracją dla bazy danych PostgreSQL.
הגדרת DNS מקורית
Poniższa configuracja jest drugą stroną konfiguracji DNS, którą wykonaliśmy w części 1. Jak widać, włączamy TLS, פרוטוקול ל-HTTPS, ו-ustawiamy nazwę hosta, którą użdczy pourmy rekords:
חודר:
מופעל: נכון
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ą:
ההגה התקן Redmine -f Values.yaml bitnami / redmine
Ta linia jest podobna do innych linii instalacji helm, które używaliśmy wcześniej, ale tym razem dostarczamy niestandardowy plik values.yaml. To sposób na dostosowanie dowolnej aplikacji Helm.
Potrzebujemy jeszcze trochę cierpliwości, ponieważ tworzenie aplikacji zajmuje trochę czasu. Możesz wykonać ten polecenie, aby sprawdzić stan kontenerów Twojej aplikacji:
קבל תרמילים - שעון
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 instalacji:
Redmine jest 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) i wdrożyliśmy Red niezalacjęne.
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 aplikacji, configuracja przychodzących wiadomości דואר אלקטרוני 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.
האם האקטואליזציה של Redmine? לאטווה.
Zdobądź wszystkie potężne narzędzia do doskonałego planowania, zarządzania i kontroli projektów w jednym oprogramowaniu.