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

6/22/2020
6 minutter
Lukáš Beňa -> Łukasz Beňa

W tej dwuczęściowej serii wdrożymy Redmine w Kubernetes. Będziemy korzystać z zalecanych narzędzi i praksis, aby wdrożyć odporną instancję Redmine przez HTTPS.

Podzieliliśmy ti przewodnik na dwie części, aby skupić się najpierw na instalacji narzędzi og 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.

Ti przewodnik został napisany w sposób niezależny od chmury, więc celowo pominięto wszelkie wzmianki o użytej chmurze. Zostaw kommentarz, jeśli zgadujesz, jaką chmurę użyliśmy, i powiedz nam, co to ujawniło. Zalecamy korzystanie med 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 ikke są tutaj brane pod uwagę, ponieważ wymagają en nieco więcej konfiguracji, która wykracza poza zakres tego przewodnika. W szczególności nasza konfigurere HTTPS wymaga, aby nasz klaster miał publiczny adresse IP.


Użyjmy Helma

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 of nazwie Helm, 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), ror 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 zwodnikiem wow , 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ć.


Zainstaluj kontroler Ingress

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

Kubernetes zapewnia kontrol Ingress NGINX, którego będziemy używać. W ich dokumentacji wyjaśniono, jak go zainstalować za pomocą Helm:

roret repo tilføj ingress-nginx https://kubernetes.github.io/ingress-nginx && roret repo-opdatering

ror installer ingress-controller ingress-nginx / ingress-nginx

Pierwsze polecenie dodaje repozytorium aplikacji, w którym znajduje się kontroler Ingress, a drugie instaluje go w Twojej grupie. Po zakończeniu polecenia zostaną wydrukowane informacje o rozpoczęciu pracy, w tym sposób uzyskania przypisanej do kontrolera adresseu IP publicznego:

kubectl få tjenester - ur

Wynik będzie podobny do tego:

NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (E) ALDER

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

controller-adgang ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Zanotuj EXTERNAL-IP, ponieważ będziemy go potrzebować w następnym kroku. Może się zdarzyć, że zamiast adresu IP wartość, którą tam otrzymasz, til . Chwilę zajmie chmurze uzyskanie adresu IP publicznego i przypisanie go do Twojej grupy. Poczekaj kilka sekund, en adresse IP powinien być dostępny.


Udført rekord DNS A

Teraz, gdy masz adresse IP, możesz po prostu przejść do przeglądarki i zobaczyć, jak twój klaster odpowiada. Oczywiście, ponieważ nie zainstalowano jeszcze żadnej aplikacji, twój klaster odpowie błędem "404 Not Found". Udvorzymy domenę DNS, którą możemy powiązać med tym adresseem IP, miejmy nadzieję, łatwiejszą do zapamiętania niż lista cyfr i kropek.

Sposób tworzenia domeny internetowej 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 adresseem IP. Jako odniesienie zobacz poniższy zrzut ekranu od dostawcy DNS no-ip.com.

Tworzenie naszego rekordu DNS A

Dane do uzupełnienia, jak można się spodziewać, til nazwa DNS og IP-adresse. No-IP jest 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 adresse IP jest poprawnie rozwiązany:

ping redminek8s.ddns.net


Næste skridt

Teraz, gdy mamy kontroler wejścia og domenę DNS, pozostało nam tylko skonfigurować HTTPS dla naszej witryny i zainstalować Redmine. Będziemy używać PostgreSQL jako naszej bazy danych, ale zobaczysz, jak łatwo jest skonfigurować wszystko za pomocą Helm.

Bądź na bieżąco z Redmine i Kubernetes Del 2: Installation af Redmine.

Vil du aktualisere Redmine? Łatwa.

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

Udfør Easy Redmine til 30 dage på darmo

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