w Kubernetes – Чехия 2: Инсталиране на Redmine
To jest druga część serii dotyczącej wdrażania Redmine в 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 на Kubernetes. W końcu o to przyszedłeś, prawda?
W Redmine на Kubernetes - Część 1: Przygotowanie środowiska instalwaliśmy контролер Ingress, компонент за przekierowywania żądań internetowych wewnątrz klastra, и използвам my domenę DNS, redminek8s.ddns.net. Можете да конфигурирате HTTPS и да сте готови за инсталиране на Redmine.
HTTPS z мениджър на сертификати
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 nie korzysta z HTTPS.
Zazwyczaj włączenie HTTPS nie trywialnym zadaniem, ponieważ musisz kupić certyfikat и przesłać go na swoją stronę, odnawiając go po określonym czasie и powtarzając process. 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 инсталирате cert-manager с всички класове:
helm repo добави jetstack https://charts.jetstack.io && helm repo update
helm install cert-manager jetstack / cert-manager --set installCRDs = true
Najpierw добавяsz repozytorium, w którym znajduje się cert-manager, a następnie instalujesz 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
apiВерсия: cert-manager.io/v1alpha2
вид: ClusterIssuer
метаданни:
име: letsencrypt
спец:
Acme:
сървър: https://acme-v02.api.letsencrypt.org/directory
електронна поща:
privateKeySecretRef:
име: letsencrypt
решават:
- http01:
проникване:
клас: nginx
Następnie zastosuj go do swojego klastra za pomocą
kubectl прилагам -f cluster-issue.yaml
Поздравления! Powyższy plik to pierwsza konfiguracja kubernetes, którą piszemy i stosujemy w klastrze. Możesz zauważyć, że shows, jak połączyć się z LetsEncrypt, но описва również контролер Ingress, który utworzyliśmy w Części 1 (klasa: nginx na konń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 instalujemy aplikację, możemy ją instruować, aby działała z HTTPS i готово! Cały proces uzyskania certyfikatu zostanie wykonany automatycznie w tle.
Инсталиране на Redmine
Да се пошегувам, na co wszyscy czekaliśmy. Можем да инсталираме Redmine на няколко различни способа, но zdecydowanie najwygodniejszym е използване на Helm. Jak już wcześniej zrobiliśmy, najpierw dodajemy repozytorium, w którym znajduje się Redmine
helm repo добавете битнами https://charts.bitnami.com/bitnami && helm repo update
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 drugi. 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ę.
База данни на PostgreSQL
Domyślnie nasza instalacja Helm będzie wymagała utworzenia bazy danych mariadb. Zamiast tego skonfigurujemy naszą instalację do korzystania s 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:
активиран: вярно
postgresql База данни: Redmine
postgresqlИме на потребителя: Redmine
postgresqlPassword:
Musimy wyraźnie powiedzieć naszej instalacji, że nie chcemy, aby MariaDB трябва да бъде инсталирана заедно с конфигурацията на базата на PostgreSQL.
Конфигуриране на DNS
Poniższa konfiguracja jest other 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ą użyliśmy podczas tworzenia naszego rekordu DNS:
проникване:
активиран: вярно
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
Тази линия е подобна на innych линия на инсталация 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:
kubectl вземете шушулки - гледайте
Polecenie zwróci coś podobne 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 minute.
Teraz wszystko jest gotowe, aby otworzyć przeglądarkę i przejść do naszej nowej instalacji:
Redmine е готов
сумиране
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ą instalację Redmine.
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, konfiguracja przychodzących wiadomości e-mail или raz 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.