This is automatic translation. If you do not like it, switch to English or another language. Thank you for understanding. OK Show original
Treść

Redmine in Kubernetes - Część 1: Przygotowanie środowiska

W tej dwuczęściowej serii będziemy wdróż Redmine w Kubernetes. Użyjemy zalecanych narzędzi i praktyk w celu wdrożenia odpornej instancji Redmine przez HTTPS.

Poradnik podzieliliśmy na dwie części, na których należy się skupić instalowanie narzędzi i komponentów zostanie użyte wdrożenie Redmine. Ale nie martw się o złożoność. Nawet jeśli jesteś nowy w Kubernetes, będzie to zrozumiałe wytłumaczenie.

Ten przewodnik został napisany agnostyk chmurowy, więc celowo pominęliśmy wszystkie wzmianki o chmurze, z której korzystaliśmy. Zostaw komentarz, jeśli potrafisz odgadnąć chmurę, której użyliśmy i powiedz nam, jakie szczegóły ją przekazały. Zalecamy korzystanie z usługi Kubernetes oferowanej przez chmurę, ponieważ jest ona dobrze zintegrowana z innymi usługami, które zapewnia również chmura.

Środowiska takie jak microk8s lub minikube nie są tutaj brane pod uwagę, ponieważ wymagają nieco większej konfiguracji, która jest poza zakresem tego przewodnika. W szczególności nasz Konfiguracja HTTPS wymaga od naszego klastra publicznego adresu IP.

Użyjmy Hełmu

Kubernetes to kompleksowe narzędzie do aranżacja kontenerów. Jest wiele koncepcji, których musimy nauczyć się, aby zacząć. Na szczęście dla nas istnieje projekt o nazwie Ster który zapewnia poziom abstrakcji, którego potrzebujemy. Ich własnymi słowami „Jeśli zrobilibyśmy to dobrze, użytkownicy mogliby zainstalować Helm, a następnie w ciągu kilku minut instalować gotowe do produkcji komponenty”

Pomijając powody ich nazw (wszystko opowiada historię metafory, Hełmu, Kubernetesa i Kontenerów) steru naprawdę upraszcza instalację jednocześnie pozwalając na dostosowanie komponentu do naszych potrzeb. Użyjemy Helm 3, ich najnowszej i jeszcze prostszej wersji.

Jeśli używasz powłoki chmurowej dostawcy chmury, istnieje duże prawdopodobieństwo, że Helm 3 jest już dostępny, ale jeśli nie, możesz go zainstalować zgodnie z instrukcją dostarczoną przez dokumenty Helm, helm.sh/docs/intro/install/, Musisz się zalogować już masz dostęp do klastra z linii poleceń, której używasz. Twój dostawca usług w chmurze ma przewodnik, jak to zrobić.

Zainstaluj sterownik Ingress

Jest to pierwszy komponent, który zainstalujemy w naszym klastrze, a także pierwsza koncepcja kubernetes, którą zobaczymy. Kontroler Ingress siedzi przy drzwiach wejściowych klastra, odbiera wszystkie żądania sieciowe i przekierowuje je do wewnętrznego komponentu odpowiedzialnego za odpowiedź na żądanie. Początkowo nikt nie będzie gotowy na odpowiedź, ale gdy zainstalujemy Redmine, zostanie dodany jako miejsce docelowe żądań.

Kubernetes zapewnia Sterownik Ingress NGINX użyjemy. Ich dokumentacja wyjaśnia, jak zainstalować go za pomocą Helm:

repozytorium sterów dodaje ingress-nginx https://kubernetes.github.io/ingress-nginx Aktualizacja repozytorium sterów &&

ster instaluje ingress-controller ingress-nginx / ingress-nginx

Pierwsze polecenie dodaje repozytorium aplikacji, w których znajduje się kontroler wejściowy, a drugie instaluje je w klastrze. Po zakończeniu polecenie wydrukuje pewne informacje, aby rozpocząć, w tym sposób uzyskania publiczny adres IP przypisany do kontrolera:

kubectl uzyskać usługi - zegarek

Wynik będzie podobny do tego:

NAZWA RODZAJ KLASTER-IP ZEWNĘTRZNY-PORT IP WIEK

Kontroler nginx LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

ClusterIP 10.0.135.226 <none> 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 <brak> 443 / TCP 44h

Zwróć uwagę na ZEWNĘTRZNE IP, ponieważ będziemy go potrzebować w następnym kroku. Może się zdarzyć, że zamiast adresu IP wartość, którą tam otrzymasz, to <oczekująca>. Chmura zajmuje trochę czasu aby uzyskać publiczny adres IP i przypisać go do klastra. Poczekaj jeszcze kilka sekund, a adres IP powinien być dostępny.

Utwórz rekord DNS A

Teraz, gdy masz już adres IP, możesz po prostu przejść do przeglądarki i zobaczyć, jak klaster odpowiada. Oczywiście, ponieważ żadna aplikacja nie jest jeszcze zainstalowana, klaster odpowie błędem „404 Not Found”. Stworzymy domenę DNS, którą możemy powiązać z tym adresem IP, miejmy nadzieję, łatwiejsze do zapamiętania niż lista liczb i kropek.

Sposób na utworzenie domeny internetowej dla Redmine w dużej mierze zależy od twojego dostawcy domeny, ale we wszystkich przypadkach powstaje rekord DNS A, który łączy nazwę domeny z adresem IP. Zobacz jako odniesienie poniższy zrzut ekranu od dostawcy DNS no-ip.com.

Tworzenie naszego DNS A Rekord

Dane do uzupełnienia, jak można się spodziewać, to nazwa DNS i adres IP. Brak adresu IP jest tym, czego potrzebujemy, aby zilustrować utworzenie domeny, ale prawdopodobnie masz lub wybierzesz innego dostawcę DNS. Proces jest dość podobny we wszystkich.

Rozpowszechnienie nowego rekordu zajmuje trochę czasu, więc możesz użyć polecenia ping, aby sprawdzić, kiedy adres IP został poprawnie rozwiązany:

ping redminek8s.ddns.net

Następne kroki

Teraz, gdy mamy kontroler wejściowy i domenę DNS, pozostaje nam tylko skonfiguruj HTTPS dla naszej strony i zainstaluj Redmine. Będziemy używać PostgreSQL jako naszej bazy danych, ale zobaczysz, jak łatwo jest skonfigurować wszystkie za pomocą Helm.

Bądź na bieżąco z Redmine w Kubernetes Part 2: Installing Redmine.

Autor: Leandro Cofre, Lukáš Beňa

Dodatkowe informacje
Free Trial

Łatwy upgrade Redmine 10
Najlepsze wtyczki i funkcje
Nowy i mobilny projekt
Uaktualnienia serwera
Globalna chmura

Zacznij Free Trial

Wypróbuj Easy Redmine w 30-dniowej bezpłatnej wersji próbnej

Pełne, 30 Dni, chronione przez SSL, codzienne archiwizacje, w Twojej lokalizacji geograficznej

or