Redmine ב-Kubernetes - חלק 2: התקנת Redmine ב-Kubernetes
זה השני חלק ואן דה סדרה על פני היישום של Redmine ב-Kubernetes. במאמר זה אנו נותנים הוראות כיצד ניתן ליישם את ההתקנה של Redmine.
Terugblik Deel 1
ברגע זה אתה יכול לראות את ההתקנה של Redmine על Kubernetes. Daarvoor ben je tenslotte hier, toch?
In Redmine in Kubernetes - חלק 1: Voorbereiden van de omgeving התקנתנו בקר Ingress, ישנו רכיב של חיפושים באינטרנט בתוך אשכול כדי להוביל, ויש לנו DNS-domein, redminek8s.ddns.net, נוצר. עכשיו אנחנו רק לא יכולים להגדיר HTTPS ואנחנו מתכננים ליישם את Redmine.
HTTPS נפגש עם cert-manager
למרות שאנו Redmine als HTTP יכולים לשמור, HTTPS הוא סטנדרטי עבור אתרי אינטרנט. צור אפילו את רוב הדפדפנים כדי לאפשר בעיה אבטחה כאשר HTTPS אינו משמש דרך אתר אינטרנט.
ההחלפה של HTTPS היא בדרך כלל לא עבודה פשוטה, מכיוון שאתה צריך לקנות את האישור וההעלאה לאתר שלך. מנהל אישורים אוטומטית את כל זה, כולל אישורים של אישורים, וקבלת אישורים בחינם. אתה יכול יותר מידע למצוא על אתר hun, maar ik zal je alles uitleggen wat je moet weten.
מנהל אישורי מתקין
ראה את השלבים הבאים כדי להתקין את ה-cert-manager באשכול:
הגה ריפו להוסיף https://charts.jetstack.io & עדכון ריפו על ההגה
helm install cert-manager jetstack / cert-manager - set installCRDs = true
קודם כל הוסיפו את המאגר בו נמצא ה-cert-manager, ולאחר מכן התקן את הגרסה החדשה.
ורבינדן פגש את רשות האישורים
עכשיו אנחנו צריכים להדריך את ה-cert-manager כדי ליצור קשר עם הדלת שנבחרה לספק אישורים. אנחנו נשתמש ב-LetsEncrypt, רשות אישורים בחינם. עשה קודם את הקובץ (vergeet not om תחליף את כתובת הדוא"ל האמיתית) וקרא את cluster-issuer.yaml
apiVersion: cert-manager.io/v1alpha2
סוג: ClusterIssuer
מטא נתונים:
שם: letsencrypt - -
מפרט:
שִׂיא:
שרת: https://acme-v02.api.letsencrypt.org/directory
אימייל:
privateKeySecretRef:
שם: letsencrypt - -
פתרונות:
- http01:
חודר:
כיתה: nginx
לאחר מכן יצאו לדרך באשכול
להחיל kubectl -f אשכול-מנפיק. yaml
אושר! הקובץ העליון הוא הקונפיגורציה הראשונה של קוברנטות שאנו כותבים ונוסעים על האשכול. אתה יכול אולי להגדיר את זה אחרון לראות איך אתה יכול ליצור קשר עם LetsEncrypt, אבל הוא כתב גם את Ingress Controller שעשינו ב-Deel 1 (De class: nginx aan het einde). זה סוג קונפורמציה יש כמה כללים עם ספציות על התלות של כמה תכונות אחרות על מתן. Houd die spaaties כפי שאתה צריך לדאוג שהקובץ הנכון ייעשה.
כעת מופעלת אשכול HTTPS. Telkens כאשר אנו מפעילים יישום, אנו יכולים להדריך אותם עם HTTPS כדי לעבוד Voila! כל התהליך של השגת האישורים אוטומטית מתבצעת אחר הצג.
התקנת Redmine
זה מה שאנחנו צריכים. אנחנו יכולים להתקין את ה-Redmine בדרכים שונות, אבל אנחנו יכולים להשתמש בצורה הטובה ביותר. כמו שאנחנו קודם כל דידן, מוסיפים אנחנו קודם את המאגר בו רדמיין נמצא.
הגה ריפו להוסיף ביטנמי https://charts.bitnami.com/bitnami & עדכון ריפו על ההגה
אנחנו עושים את זה באופן ישיר כדי להתקין קובץ קונפיגורציה כדי לתת התנהגות מותאמת אישית, אנחנו רוצים להציג את Redmine.
אנחנו נצטרך את כל ההגדרות ב-hun eigen sectie scheiden, אבל זה הכל במקומות קבצים זהים, אחד עם השני. Noem het bestand values.yaml.
כל יישום ה-Helm יש אחד values.yaml-bestand עם כל הגדרות אפשריות ליישום שניתן ליצור. כאשר אנחנו שלנו eigen values.yaml עושים, definiëren we de change die we will. Elke waarde die we not in ons bestand, נשאר כמו שהוא ב-het standardbestand.
כל הסטנדרטים נמצאים גם בדף ההגה-יישום, https://hub.helm.sh/charts/bitnami/redmine. שמור על כל ההגדרות.
Eerste beheerdersgebruiker
Redmine-gebruikersnaam: adminUser
Redmine-wachtwoord:
זה פשוט הכרחי כמו גם קל להבין. זה המשתמש הראשון שלנו ב-Redmine, אנחנו נשתמש ב-for the first keer in the loggen.
כאשר Redmine מותקן, אתה יכול לקבל גישה למשתמש הזה להגדרת ההתקנה שלך.
מסד נתונים PostgreSQL
סטנדרטי מחייב את התקנת ה-Helm שלנו שתתבצע ב-Mariadb-database. אנו נשתמש בהגדרה של ההתקנה שלנו כדי להשתמש ב-PostgreSQL. אתה צריך גם להוסיף את הסיסמה הטובה ביותר כדי לקבל את מסד הנתונים הזה, כמו שאתה יכול לראות למטה.
מסד נתונים: postgresql
מריאדב:
מופעל: שקר
postgresql:
מופעל: נכון
postgresql בסיס נתונים: Redmine
postgresql שם משתמש: Redmine
postgresqlPassword:
אנחנו צריכים להסביר את ההתקנה שלנו שאנחנו לא רוצים את MariaDB יחד עם ההגדרה של מסד הנתונים PostgreSQL מותקן.
הגדרת שמות DNS
הקונפיגורציה שלהלן היא חלק אחר של קונפיגורציית ה-DNS של חלק 1 שנעשה. כמו שאתה יכול לראות, schakelן אנחנו TLS, פרוטוקול אחר HTTPS, ומציבים את המארחים שלנו בשימוש בו נעשה שימוש ב-DNS-record שלנו:
חודר:
מופעל: נכון
certManager: נכון
שם מארח: redminek8s.ddns.net
tls: נכון
הערות:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt
גם בשתי התקנות האחרונות, אנחנו באפליקציה שלנו עם בקר Ingress ועם מנפיק אשכולות שהיינו קודם לכן.
אנחנו יכולים ליישם את Redmine עם ההגדרה המותאמת שלנו:
ההגה התקן Redmine -f Values.yaml bitnami / redmine
השגרה היא דומה עם תקנות התקן אחרות שהיינו קודם לכן, אבל אנחנו מספקים ערכים מותאמים. זה אופייני לכל יישום של Helm.
אנחנו לא צריכים מה להתנדב, כי אנחנו עושים את היישום של זמן קצר ב-Beslag לוקח. אתה יכול לבצע פקודות על הסטטוס של מיכלי האפליקציה שלך כדי לבדוק:
קבל תרמילים - שעון
Het commando נותן משהו סוגים חוזרים גם:
שם מוכנה סטטוס אתחול מחדש גיל
. . .
redmine-999c68dd9-x7h2k 1/1 Running 0 6m40s
redmine-postgresql-0 1/1 רץ 0 6m40s
אתה צריך להמתין עד הסטטוס של שני המכולות. הריצה היא כמעט 1/1, מה קורה בערך 6 דקות.
Nu is alles klaar om de browser te openen en naar our new implementatie te gaan:
Redmine מוכן
סִיוּם
Kubernetes הוא כלי מורכב עבור יישומים ליישם, אבל יש לנו דלת מורכבות מנווטת בעזרת של Helm (כל מילות מפתח מיועדות) והתקנה בטוחה של Redmine.
אתה יכול למצוא סיכום של המדריך הבא ב-git-repo: https://github.com/lcofre/redmine-on-k8s. Vergelijk gerust met uw bestanden als u vastloopt.
יש לנו כמה מושגים מחוץ לדיונים הלכתיים בגלל שהקומפלקסים היו מוצקים במיוחד עבור ענן. להלן ניתן לראות את Liveness ו-Readiness של האפליקציה שלך, להגדיר הודעות דוא"ל מצטברות ולהתעדכן על יותר עוצמה. שלח לנו למטה לדעת היכן אתה הכי מתעניין, כך שנוכל להתקשר בעתיד.
השדרוג הסופי של Redmine? Makkelijk.
צור כלים חזקים לתכנון פרויקט מושלם, ניהול ושליטה בתוכנה אחת.