en
Wybierz język
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Tłumaczenie SI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

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

6/22/2020
6 minut
Łukasz Beňa

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

Podzieliliśmy ten poradnik na dwie części, na których najpierw się skupimy 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 TYP KLASTER-IP PORT (y) ZEWNĘTRZNEGO IP WIEK

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

Cluster-admission Controller ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 godz

Zwróć uwagę na ZEWNĘTRZNY adres IP, ponieważ będziemy go potrzebować w następnym kroku. Może się zdarzyć, że zamiast adresu IP otrzymamy wartość . 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:

pinguj 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 Część 2: Instalowanie Redmine.

Najlepsza aktualizacja Redmine? Łatwo.

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

Wypróbuj Easy Redmine w 30-dniowym bezpłatnym okresie próbnym

Pełne funkcje, ochrona SSL, codzienne kopie zapasowe w Twojej geolokalizacji