כשמפעילים משאבי קבוצת Kubernetes, לפעמים יש צורך לפעול בסדר מסוים. לדוגמה, הגדרת משאב מותאם אישית (CRD) חייבת להתקיים לפני שניתן ליצור משאבים מותאמים אישית מסוג זה.
Svelto יכולה לעזור לך לפתור בעיה זו על ידי הרשאה לך לציין את הסדר שבו משאבי Kubernetes מופעלים.
סדר ClusterProfile
A ClusterProfile is a Kubernetes custom resource definition (CRD) that defines the resources that you want to deploy on a set of Kubernetes clusters.
ClusterProfile מאפשר ללקוחות להגדיר סדר:
- באמצעות השדה
helmCharts
: השדהhelmCharts
מאפשר לך לציין רשימה של תרמילי Helm שצריך להפעיל. Svelto יפעיל את תרמילי ה-Helm בסדר שהם מופיעים בשדה זה. - באמצעות השדה
policyRefs
: השדהpolicyRefs
מאפשר לך להתייחס לרשימה של משאביConfigMap
ו-Secret שמספקים את התוכן הדרוש להפעלה. Svelto יפעיל את המשאבים בסדר שהם מופיעים בשדה זה.
הנה כמה דוגמאות:
- ה-
ClusterProfile
הבא יפעיל תחילה את תרמיל ה-Prometheus ואז את תרמיל ה-Grafana:
apiVersion: config.projectsveltos.io/v1alpha1
kind: ClusterProfile
metadata:
name: prometheus-grafana
spec:
clusterSelector: env=fv
syncMode: Continuous
helmCharts:
- repositoryURL: https://prometheus-community.github.io/helm-charts
repositoryName: prometheus-community
chartName: prometheus-community/prometheus
chartVersion: 23.4.0
releaseName: prometheus
releaseNamespace: prometheus
helmChartAction: Install
- repositoryURL: https://grafana.github.io/helm-charts
repositoryName: grafana
chartName: grafana/grafana
chartVersion: 6.58.9
releaseName: grafana
releaseNamespace: grafana
helmChartAction: Install
סדר פרוספטת משאבים עם אירועים
במקרים מסוימים, יש צורך לפעול משאבי Kubernetes רק אחרי שמשאבים אחרים נמצאים במצב בריא. לדוגמה, משימה שיוצרת טבלה במסד נתונים לא צריכה להיפעל עד שהפרויקט המסד הנתונים בריא.
Sveltos יכול לעזור לך לפתור בעיה זו על ידי שימוש באירועים לשליטה בפרוץ היישום שלך.
אירוע הוא הודעה שנשלחת כאשר מתקיים תנאי מסוים. לדוגמה, באפשרותך ליצור אירוע שנשלח כאשר פרוץ המאגר המידעי נעשה בריא.
לאחר מכן באפשרותך להשתמש באירוע זה לעורר את הפרוץ של המשימה שיוצרת את השולחן במאגר המידע.
על ידי שימוש באירועים, באפשרותך להבטיח שהיישום שלך יופרש באופן מבוקר ומסודר.
בדוגמה לעיל, Sveltos מושלם ל:
- לפרוץ את פרוץ PostgreSQL והשירות
- לחכות עד שפרוץ PostgreSQL מוכן
- לפרוץ משימה שיוצרת שולחן ב-DB
- לחכות עד שהמשימה תשלים
- לפרוץ את todo-app, שיכול לגשת לפרוץ PostgreSQL
- לחכות עד שtodo-app בריא
- לפרוץ משימה שמוסיפה רשומה למאגר המידע באמצעות todo-app
כל ה-YAMLs לדוגמה זו ניתן למצוא בתיעוד של projectsveltos.
תמיכה בפרויקט זה
I hope you enjoyed this article! If you did, please check out the GitHub repo for the project. The repo contains the code, documentation, and examples, so it’s a great resource for getting started.
בנוסף באפשרותך לכוון את הפרויקט אם אתה מוצא אותו מועיל.
תודה שקראת!
Source:
https://dzone.com/articles/deploy-kubernetes-resources-in-a-controlled-and-or