en
שפה
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
תרגום AI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Redmine ב- Kubernetes - חלק 2: התקנת Redmine

6/30/2020
דקות 8
Lukáš Beňa

זהו החלק השני של הסדרה על פריסת Redmine לתוך Kubernetes. במאמר זה, נספק הנחיות כיצד לפרוס התקנה אמינה של Redmine.

ספר חלק 1

עכשיו אתה בוודאי מצפה להתקנה של Redmine ב- Kubernetes. אחרי הכל, בשביל זה באת, נכון?

In Redmine ב- Kubernetes - חלק 1: הכנת סביבה, התקנו את בקר Ingress, רכיב לניתוב מחדש של בקשות אינטרנט בתוך האשכול שלך, ויצרנו דומיין DNS, redminek8s.ddns.net. עכשיו אנחנו צריכים רק להגדיר HTTPS ואנחנו מוכנים לפרוס את Redmine.


HTTPS עם מנהל cert

למרות שנוכל לשמור על Redmine שלנו כ- HTTP, HTTPS הפך להיות הסטנדרט לאתרים, עד כדי כך שרוב הדפדפנים מזהירים אותך על נושא אבטחה כאשר HTTPS לא נמצא בשימוש על ידי אתר אינטרנט.

בדרך כלל הפעלת HTTPS אינה משימה של מה בכך, מכיוון שאתה צריך לקנות אישור ולהעלות אותו לאתר שלך, לחדש אותו לאחר זמן מסוים ולחזור על התהליך. Cert-Manager הופך את כל זה לאוטומטי, כולל חידוש האישורים, ואף משיג אישורים בחינם. אתה יכול לראות מידע נוסף על באתר שלהם, אבל אני אסביר את כל מה שאתה צריך לדעת בהמשך.


התקן מנהל cert

בצע את הצעדים הבאים להתקנת cert-manager באשכול שלך:

הגה ריפו להוסיף https://charts.jetstack.io & עדכון ריפו על ההגה

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

ראשית מוסיפים את המאגר היכן שנמצא cert-manager ואז מתקינים את הגרסה האחרונה שלו.


התחבר לרשות האישורים

כעת עלינו להורות למנהל אישורים להתחבר לספק האישורים שבחרנו. נשתמש ב- LetsEncrypt, רשות אישורים בחינם. צור תחילה את הקובץ הזה (זכור להחליף אותו עם כתובת דוא"ל אמיתית) ושמו cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

סוג: ClusterIssuer

מטא נתונים:

  שם: letsencrypt - -

מפרט:

  שִׂיא:

    שרת: https://acme-v02.api.letsencrypt.org/directory

    אימייל:

    privateKeySecretRef:

      שם: letsencrypt - -

    פתרונות:

    - http01:

        חודר:

          כיתה: nginx

ואז החל אותו לאשכול שלך עם

להחיל kubectl -f אשכול-מנפיק. yaml

מזל טוב! הקובץ שלמעלה הוא תצורת ה- kubernetes הראשונה שאנו כותבים ומחילים על האשכול. יכול להיות שציינת שהוא מראה כיצד להתחבר ל- LetsEncrypt, אך הוא גם מתאר את בקר Ingress שיצרנו בחלק 1 (המחלקה: nginx בסוף) סוג זה של תצורה כולל כמה שורות עם רווחים המצביעים על תלות של תכונות מסוימות ל אחרים. שמור על אותם רווחים כמוצג כדי להבטיח שהקובץ נקרא ומוחל כראוי.

כעת האשכול שלך מאופשר HTTPS. בכל פעם שאנחנו מתקינים יישום אנו יכולים להורות לו לעבוד עם HTTPS ו- Voila! כל תהליך קבלת האישור ייעשה באופן אוטומטי מאחורי הקלעים.


מתקין Redmine

לזה חיכינו כולנו. אנו יכולים להתקין את Redmine בכמה אופנים שונים, אך ללא ספק הנוח ביותר הוא להשתמש בהלם. כפי שכבר עשינו בעבר, ראשית נוסיף את המאגר שבו Redmine הוא

הגה ריפו להוסיף ביטנמי https://charts.bitnami.com/bitnami & עדכון ריפו על ההגה

אך הפעם, במקום להתקין מייד, ניצור קובץ תצורה, שיציין התנהגות אישית כלשהי שאנו רוצים ש- Redmine תהיה.

נפריד בין כל התצורות בקטע שלהם, אך אתה שם את כולם באותו קובץ בזה אחר זה. התקשר לערכי הקובץ. Yaml.

לכל יישומי Helm יש קובץ Values.yaml עם כל התצורות האפשריות שניתן לבצע ליישום. כאשר אנו יוצרים ערכים משלנו. אנו מגדירים את השינויים שאנו רוצים. כל ערך שלא נכלול בקובץ שלנו יישאר כפי שהוא בקובץ ברירת המחדל.

ניתן למצוא את כל ערכי ברירת המחדל גם בדף יישום ההגה, https://hub.helm.sh/charts/bitnami/redmine. קדימה בדוק את כל התצורות.


משתמש מנהל מערכת ראשון

RedmineUsername: adminUser

Redmine סיסמא:

שלב זה נחוץ כמו קל להבנה. זהו המשתמש הראשון שלנו ב- Redmine, זה בו נשתמש בכניסה לראשונה.

כאשר Redmine מותקן, תוכלו לגשת אליו באמצעות משתמש זה כדי להגדיר את ההתקנה החדשה שלכם.


מסד נתונים PostgreSQL

כברירת מחדל, התקנת Helm שלנו תחייב ליצור בסיס נתונים של mariadb. במקום זאת נקבע את תצורת ההתקנה שלנו לשימוש ב- PostgreSQL. עליך להוסיף לפחות סיסמא כדי לגשת למאגר זה, כפי שתוכל לראות בהמשך

מסד נתונים: postgresql

מריאדב:

  מופעל: שקר

postgresql:

  מופעל: נכון

  postgresql בסיס נתונים: Redmine

  postgresql שם משתמש: Redmine

  סיסמה:

אנחנו צריכים לומר במפורש להתקנה שלנו שאנחנו לא רוצים ש-MariaDB תותקן יחד עם התצורה של מסד הנתונים PostgreSQL.


תצורת שם DNS

התצורה שלמטה היא הצד השני של תצורת ה- DNS שעשינו בחלק 1. כפי שאתה יכול לראות אנו מאפשרים TLS, הפרוטוקול שמאחורי HTTPS, וקובעים את שם המארח בו השתמשנו בעת יצירת רשומת ה- DNS שלנו:

חודר:

  מופעל: נכון

  certManager: נכון

  שם מארח: redminek8s.ddns.net

  tls: נכון

  הערות:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

גם בשתי השורות האחרונות אנו מקשרים בין היישום שלנו לבקר Ingress ועם מנפיק האשכולות שיצרנו לפני כן.

כעת נוכל לפרוס את Redmine באמצעות התצורה המותאמת אישית שלנו:

ההגה התקן Redmine -f Values.yaml bitnami / redmine

קו זה דומה לקווי התקנה אחרים ששימשנו בעבר, אך הפעם אנו מספקים ערכים מותאמים אישית. Yaml. זו הדרך להתאים אישית כל יישום Helm.

אנו זקוקים עדיין לסבלנות רבה יותר, שכן יצירת האפליקציה אורכת זמן מה. אתה יכול לבצע פקודה זו כדי לבדוק אם המצב של מכלי היישומים שלך:

קבל תרמילים - שעון

הפקודה תחזיר משהו דומה לזה:

שם סטטוס מוכן מחדש

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 רץ 0 6m40s

אתה צריך לחכות עד שהסטטוס של שני המכולות פועל וכולם מוכנים 1/1, שבמקרה שלי זה לקח בערך 6 דקות.

כעת הכל מוכן לפתוח את הדפדפן ולעבור לפריסה החדשה שלנו:

Redmine מוכן


גלישה את

Kubernetes הוא כלי מורכב לפריסת יישומים, אך ניווטנו במורכבות זו בעזרת Helm (ללא משחק מילים) והוצאנו התקנה אמינה של Redmine.

אתה יכול למצוא סיכום של הוראות כיצד לבצע זאת ברשימת repo הבאה: https://github.com/lcofre/redmine-on-k8s. אל תהסס להשוות לקבצים שלך אם אתה נתקע.

השארנו כמה מושגים מחוץ לדיון כי הם היו מורכבים או שההסבר היה ספציפי לענן. ביניהם חיות ומוכנות היישום שלך, תצורת הודעות דוא"ל נכנסות והרחבה להתמודדות עם עומס רב יותר. אנא יידע אותנו להלן מה שהכי מעניין אותך כדי שנוכל לדון בזה בעתיד כיצד לעשות זאת.

השדרוג האולטימטיבי של Redmine? קַל.

קבל את כל הכלים החזקים לתכנון מושלם, ניהול ובקרה של פרויקטים בתוכנה אחת.

נסה את Easy Redmine תוך 30 יום ניסיון חינם

תכונות מלאות, מוגנת SSL, גיבויים יומיים, במיקום הגיאוגרפי שלך