Redmine w Kubernetes – Część 1: Przygotowanie środowiska

6/22/2020
6 минути
Лукаш Беня -> Лукаш Беня

С тази серия dwuczęściowej wdrożymy Redmine в Kubernetes. Използване на zalecanych narzędzi и практика, ако се отстрани отпорна инстанция Redmine чрез HTTPS.

Podzieliliśmy ten przewodnik na dwie części, aby skupić się najpierw na instalacji narzędzi i komponentów, których Redmine będzie używał podczas wdrożenia. Ale nie martw się o złożoność. Nawet jeśli jesteś nowy w Kubernetes, to będzie zrozumiałe wyjaśnienie.

Ten przewodnik został napisany w sposób niezależny od chmury, więc celowo pominięto wszelkie wzmianki o użytej chmurze. Zostaw komentarz, jeśli zgadujesz, jaką chmurę użyliśmy, i powiedz nam, co to ujawniło. Zalecamy korzystanie z usługi Kubernetes oferowanej przez Twoją chmurę, ponieważ jest dobrze zintegrowana z innymi usługami, które Twoja chmura również oferuje.

Środowiska takie jak microk8s lub minikube nie są tutaj brane pod uwagę, ponieważ wymagają one nieco więcej konfiguracji, która wykracza poza zakres tego przewodnika. W szczególności nasza конфигуриране на HTTPS wymaga, aby nasz klaster miał publiczny adres IP.


Ужийми Хелма

Kubernetes to złożone narzędzie do orchestracji kontenerów. Jest wiele koncepcji, których musimy się nauczyć, aby zacząć. Na szczęście istnieje projekt o nazwie Шлем, który zapewnia poziom abstrakcji, którego potrzebujemy. W ich własnych słowach "Jeśli zrobiliśmy wszystko dobrze, użytkownicy mogliby zainstalować Helma iw ciągu kilku minut instalować komponenty gotowe do produkcji"

Pomijając powody ich nazw (wszystko opowiada historię metafory, Helma, Kubernetesa i Kontenerów), helm naprawdę upraszcza instalację, pozwalając jednocześnie na dostosowanie komponentu do naszych potrzeb. Będziemy korzystać z Helma 3, ich najnowszej i jeszcze prostszej wersji.

Jeśli korzystasz z powłoki chmury swojego dostawcy chmury, szanse są takie, że Helm 3 jest już dostępny, ale jeśli nie, możesz go zainstalować, postępując zgodnie z przewodnikiem, który znajdziesz w dokumentacji Helma, helm.sh/docs/intro/install/. Musisz już mieć dostęp do swojego klastra z wiersza poleceń, którego używasz. Twój dostawca chmury ma również przewodnik, jak to zrobić.


Инсталирайте контролер Ingress

To jest pierwszy komponent, który zainstalujemy w naszej grupie i jest to również pierwsze pojęcie kubernetes, które zobaczymy. Kontroler Ingress znajduje się przy drzwiach wejściowych do Twojej grupy, odbiera wszystkie żądania internetowe и przekierowuje je do wewnętrznego komponentu odpowiedzialnego za odpowiedź na żądanie. Początkowo nie będzie nikogo gotowego do odpowiedzi, ale gdy zainstalujemy Redmine, zostanie on dodany jako cel dla żądań.

Kubernetes zapewnia Контролер Ingress NGINX, którego będziemy używać. W ich dokumentacji wyjaśniono, jak go zainstalować za pomocą Helm:

helm repo добавете ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo update

helm инсталирате входящ контролер ingress-nginx / ingress-nginx

Pierwsze polecenie добавя репозиториум aplikacji, с którym znajduje się контролер Ingress, а други се инсталират в група Twojej. Po zakonczeniu polecenia zostaną wydrukowane informacje o rozpoczęciu pracy, w tym sposób uzyskania przypisanej do controlera IP publicznego IP адрес:

kubectl получите услуги - гледайте

Wynik będzie podobny do tego:

ИМЕ ТИП КЛАСТЪР-IP ВЪНШЕН-IP ПОРТ (И) ВЪЗРАСТ

nginx-контролер LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

клъстер за прием на контролер IP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44ч

Zanotuj EXTERNAL-IP, ponieważ będziemy go potrzebować w następnym kroku. Może się zdarzyć, że zamiast adres IP wartość, którą tam otrzymasz, to . Chwilę zajmie chmurze uzyskanie IP publicznego IP адрес и przypisanie go do Twojej grupy. Poczekaj kilka sekund, a IP adres powinien być dostępny.


Създаване на рекорд DNS A

Teraz, gdy masz adres IP, możesz po prostu przejść do przeglądarki i zobaczyć, jak twój klaster odpowiada. Oczywiście, ponieważ nie zainstalowano iszcze żadnej aplikacji, двата кластера отговарят на „404 Not Found“. Utworzymy domenę DNS, którą możemy powiązać s tym addressem IP, miejmy nadzieję, łatwiejszą do zapamiętania niż lista cyfr i kropek.

Sposób tworzenia internetowej domeny dla twojego Redmine znacznie zależy od twojego dostawcy domen, ale we wszystkich przypadkach kończysz tworzenie rekordu DNS A, który łączy nazwę domeny z twoim addressem IP. Jako odniesienie zobacz poniższy zrzut screen od dostawcy DNS no-ip.com.

Tworzenie naszego rekordu DNS A

Dane do uzupełnienia, jak można się spodziewać, to име DNS и IP адрес. No-IP е dokładnie tym, czego potrzebujemy, aby zilustrować tworzenie domeny, ale prawdopodobnie wybierzesz innego dostawcę DNS lub już go masz. Proces jest dość podobny we wszystkich z nich.

Nowy rekord potrzebuje trochę czasu, aby się rozprzestrzenił, więc możesz użyć polecenia ping, aby sprawdzić, kiedy IP adres jest poprawnie rozwiązany:

ping redminek8s.ddns.net


Следващи стъпки

Teraz, gdy mamy kontroler wejścia i domenę DNS, pozostało nam tylko конфигуриране на HTTPS за използване на Witryny и инсталиране на Redmine. Използваме PostgreSQL като нашата база данни, но зобачи, както и łatwo е конфигурирано всичко за помощ Helm.

Bądź na bieżąco z Redmine в Kubernetes, част 2: Инсталиране на Redmine.

Най-добрата актуализация на Redmine? латва.

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

Изпробвайте Easy Redmine за 30 дни безплатно

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