Redmine и Kubernetes - Дел 2: Инсталирайте Redmine

6/30/2020
8 минути
Лукаш Бена
Това е andra delen av серия от разпространението на Redmine и Kubernetes. I den här artikeln kommer vi att ge instruktioner om hur man distribuerar en pålitlig installation av Redmine.

Återberättelse Del 1

Vid det här laget ser du formodligen fram emot installationen av Redmine på Kubernetes. Det är ju trots allt det du kom hit for, eller hur?

I Redmine на Kubernetes - Дел 1: Предварителен милион инсталирайте vi Ingress Controller, en компонент за omdirigera internetförfrågningar innuti ditt kluster, och vi skapade en DNS-domän, redminek8s.ddns.net. Не трябва да конфигурирате HTTPS и да възстановите разпространението на Redmine.


HTTPS мед мениджър на сертификати

Även om vi kan behålla Redmine som HTTP har HTTPS blivit standarden för webbplatser, så mycket att de flesta webbläsare varnar dig för en säkerhetsrisk när HTTPS inte används av en webbplats.

Att aktivera HTTPS är vanligtvis inte en trivial uppgift, eftersom du behöver köpa ett certifikat och ladda upp det till din webbplats, förnya det after en viss tid or prepa processen. Мениджърът на сертификати автоматизира всичко това, включващо предварителни сертификати и до други безплатни сертификати. Du kan se mer информация på deras webbplats, men jag kommer att förklara allt du behöver veta härnäst.


Мениджър на сертификати за инсталиране

Извеждане на стъпка за инсталиране на cert-manager в този клъстер:

helm repo добави jetstack https://charts.jetstack.io && helm repo update

helm install cert-manager jetstack / cert-manager --set installCRDs = true

Först lägger du till registret där cert-manager finns och sedan installerar du den senaste versionen.


Anslut till certifikatmyndigheten

Nu behöver vi instruera cert-manager att ansluta till den certifikatleverantör vi väljer. Когато използвате LetsEncrypt, можете да използвате безплатен сертификат. Skapa först denna fil (kom ihåg att ersätta med en riktig e-postadress) och döp den till cluster-issuer.yaml

apiВерсия: cert-manager.io/v1alpha2

вид: ClusterIssuer

метаданни:

  име: letsencrypt

спец:

  Acme:

    сървър: https://acme-v02.api.letsencrypt.org/directory

    електронна поща:

    privateKeySecretRef:

      име: letsencrypt

    решават:

    - http01:

        проникване:

          клас: nginx

Tillämpa sedan den på ditt kluster med

kubectl прилагам -f cluster-issue.yaml

Гратис! Файлът ovan е първата конфигурация на Kubernetes на скрийвъра и е включен в групата. Du kanske hart markt att den Visar hur man sluter till LetsEncrypt, men den beskriver också Ingress Controller som vi skapad in Del 1 (classen: nginx i slutet). Den här typen av konfiguration har några rader med mellanslag för att ange beroende av vissa egenskaper till andra. Behåll dessa mellanslag som visas for att säkerställa att filen läses och tillämpas korrekt.

Този клъстер не е активиран за HTTPS. När vi installerar en aplikation kan vi instruera den att fungera med HTTPS och готово! Hela processen med att få certifikatet kommer att göras automatiskt i bakgrunden.


Инсталиране на Redmine

Detta är vad vi alla har väntat på. Ако можете да инсталирате Redmine на друго място, мъжете, които най-често са инсталирани, са насочени към Helm. Precis som vi gjorde tidigare, först lägger vi till lagret där Redmine finns

helm repo добавете битнами https://charts.bitnami.com/bitnami && helm repo update

Men den här gången kommer vi inte att installera директно, vi kommer att skapa en konfigurationsfil för att ange några anpassade beteenden som vill att Redmine ska ha.

Vi kommer att separera alla konfigurationer i egna avsnitt men du lägger dem alla i samma fil, en efter den andra. Изтеглете файла до values.yaml.

Всички приложения на Helm имат value.yaml-fil с всички möjliga конфигуратори, които могат да бъдат намерени за приложения. När vi skapar vår egen values.yaml definierar vi de ändringar vi vill ha. Alla värden som vi inte inkluderar i vår fil kommer att vara oförändrade i standardfilen.

Alla standardvärden kan också hittas på Helm-applikationens sida, https://hub.helm.sh/charts/bitnami/redmine. Gå vidare och kolla alla konfigurationer.


Första administratörsanvändaren

Redmine Användarmn: adminUser

RedmineLösenord:

Detta steg är lika nödvändigt som lätt att förstå. Det är vår första användare på Redmine, den som vi kommer att använda för att logga in för första gången.

Близо до Redmine се инсталира коммер, ако не можете да конфигурирате тази инсталация.


PostgreSQL-бази данни

Som standard kommer vår Helm-installation att kräva att en mariadb-databas skapas. Извеждане на съобщение чрез конфигуриране или инсталиране при използване на PostgreSQL. Du behöver också lägga till minst ett lösenord for att komma åt denna databas, som du kan se nedan

Тип на базата данни: postgresql

mariadb:

  активиран: false

PostgreSQL:

  активиран: вярно

  postgresql База данни: Redmine

  postgresqlИме на потребителя: Redmine

  postgresqlПарола:

Vi måste tydligt tala om for för installation att vi inte ll att MariaDB ska installeras tillsammans med configurationen för PostgreSQL-база данни.


Конфигурация на DNS име

Конфигурацията не е друга страница на DNS конфигурация в джорда в Del 1. Така можете да се активирате чрез TLS, HTTPS протокол, както и да се задържите във версията, когато използвате скапад в DNS-пост:

проникване:

  активиран: вярно

  certManager: вярно

  име на хост: redminek8s.ddns.net

  tls: вярно

  анотации:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Också på de två sista raderna länkar vi vår aplikation med Ingress Controller och med Cluster Issuer som vi skapade tidigare.

Не можете да разпространявате Redmine с различна конфигурация за преминаване:

helm инсталатор Redmine -f values.yaml bitnami/redmine

Den raden liknar andra helm installera rader vi använde tidigare, men den här gången tillhandahåller vi en anpassad values.yaml. Detta är sättet att anpassa vilken Helm-приложение som helst.

Vi behöver lite mer tålamod ändå, eftersom skapandet av aplikationen tar lite tid. Du kan köra det här commandot för att status kontrollera för dina aplikationscontainrar:

kubectl få pods --гледайте

Commandot kommer att returnera något liknande detta:

NAMN KLAR СТАТУТ OMSTART ÅLDER

. . .

redmine-999c68dd9-x7h2k    1/1     Kör   0          6m40s

redmine-postgresql-0 1/1 Kör 0 6m40s

Du måste vänta tills statusen för båda containrarna är Kör och alla är redo 1/1, vilket i mitt fall tog cirka 6 minute.

Nu är allt klart för att öppna webbläsaren och gå till vår nya distribution:

Redmine е повторен


резюме

Kubernetes е още един комплекс, използван за приложението за разпространение, вие можете да навигирате в генома на комплекса с помощта на Helm (не е добавен ордлек) и да разпространявате pålitlig инсталация от Redmine.

Вие можете да се справите с това ръководство и следното git-repo: https://github.com/lcofre/redmine-on-k8s. Känn dig fri att jämföra med dina filer om du fastnar.

Vi lämnade några begrepp utanför diskussionen eftersom de var kompleksa или förklaringen var molnspecifik. Bland dem finns Liveness och Readiness for din aplikation, konfiguration av inkommande e-post och skalning för att hantera mer belastning. Låt oss veta nedan vad som intresserar dig mest så kan vi diskutera det i en framtida guide.

Последно надграждане на Redmine? Enkel.

Få alla kraftfulla verktyg för perfekt projektplanering, -hantering och -kontroll i en enda programvara.

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

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geografiska plats