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

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

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

Podzieliliśmy ten przewodnik na due części, aby skupić się najpierw na installa i componenti e i componenti, których Redmine będzie używał podczas wdrożenia. Ale nie martw się o złożoność. Adesso siamo ora su Kubernetes, per 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, e powiedz nam, co to ujawniło. Zalecamy korzystanie z usługi Kubernetes oferowanej przez Twoją chmurę, ponyważ jest dobrze zintegrowana z innymi usługami, które Twoja chmura również oferuje.

Il takie e il microk8s di microkXNUMXs lub minikube nie są tutaj brane pod uwagę, ponieważ wymagają una nieco więcej konfiguracji, która wykracza poza zakres tego przewodnika. W szczególności nasza configurazione HTTPS wymaga, aby nasz klaster mioł publiczny adres IP.


Użyjmy Helma

Kubernetes a złożone narzędzie fare contenuti orchestrali. Jest wiele koncepcji, których musimy się nauczyć, aby zacząć. Na szczęście istnieje projekt nazwie Casco, 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), timone naprawdę upraszcza instalację, pozwalając jednocześnie na dostosowanie komponentu do naszych potrzeb. Będziemy korzystać z Helma 3, ich najnowszej e 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 do Kumentacji Helma, helm.sh/docs/intro/install/. Musisz już mieć dostęp do swojego klastra z wiersza poleceń, którego używasz. Due dostawca chmury ma również przewodnik, jak to zrobić.


Controllo dell'installazione Ingress

Per scherzare pierwszy komponent, który zainstalujemy w naszej grupie e jest to również pierwsze pojęcie kubernetes, które zobaczymy. Il controllo di Ingress si verifica durante il nostro accesso a Twojej grupy, odbiera wszystkie żądania internetowe e 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ń.

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

helm repo aggiungi ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo update

helm install ingress-controller ingress-nginx / ingress-nginx

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

kubectl ottieni servizi --watch

Wynik będzie podobny do tego:

NOME TIPO CLUSTER-IP PORTA / E IP ESTERNO ETÀ

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

Controller-ammissione ClusterIP 10.0.135.226 443 / TCP 5m22s

Kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Zanotuj EXTERNAL-IP, ponyważ będziemy go potrzebować w następnym kroku. Może się zdarzyć, że zamiast adresu IP wartość, którą tam otrzymasz, a . Chwilę zajmie chmurze uzyskanie adresu IP publicznego i przypisanie go do Twojej grupy. Dopo un paio di secondi, l'indirizzo IP sarà disponibile.


Utilizzare la registrazione DNS A

Teraz, gdy masz address, możesz po prostu przejść do przeglądarki e zobaczyć, jak two klaster odpowiada. Quando il pony non è installato, non è possibile visualizzare l'app di cui sopra, due klaster odpowie błędem "404 Not Found". Utilizza il mio dominio DNS per poter gestire il tuo indirizzo IP, miejmy nadzieję, łatwiejszą do zapamiętania niż lista cyfr e kropek.

Sposób tworzenia domeny internetowej da twojego Redmine znacznie zależy od twojego dostawcy domen, ma abbiamo due record DNS A che ci troviamo di fronte a due indirizzi 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ć, to nazwa DNS i indirizzo IP. No-IP è un tempo dokładnie, cego potrzebujemy, aby zilustrować tworzenie domeny, ale prawdopodobnie wybierzesz innego dostawcę DNS lub już go masz. Process 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 indirizzo IP jest poprawnie rozwiązany:

eseguire il ping di redminek8s.ddns.net


Prossimi passi

Teraz, mamy kontroler wejścia i domenę DNS, pozostało nam tylko skonfigurować HTTPS dla naszej witryny e zainstalować Redmine. Ho usato PostgreSQL come il mio bambino, ma in realtà, come due sono stati configurati per il comando Helm.

Rimani aggiornato con Redmine in Kubernetes Parte 2: Installazione di Redmine.

Najlepsza aktualizacja Redmine? Latwa.

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

Prova Easy Redmine per 30 giorni

Funzionalità aggiuntive, crittografia SSL, copia codificata disponibile in due località