פריסת יישומים ב-Kubernetes יכולה להיות מורכבת, במיוחד עבור מתחילים. הכנסו ל-Argo CD, כלי דקלרטיבי המופעל על ידי GitOps, שנועד לאוטומט את פריסות היישומים ב-Kubernetes. בסדנה זו, תלמדו כיצד להקים ולהשתמש ב-Argo CD כדי לפרוס יישומים בצורה חלקה, עם שלב-אחר-שלב המיועד למתחילים מוחלטים.
מה תלמדו
- התקנה והגדרה של Argo CD.
- פריסת יישומים באמצעות עקרונות GitOps.
- ניטור פריסות ופתרון בעיות.
- חזרה לגרסאות קודמות וניהול גרסאות של יישומים.
- הבטחת Argo CD לשימוש בייצור.
למה Argo CD?
Argo CD מפשט את ניהול היישומים ב-Kubernetes על ידי סנכרון מתמשך של הקלאסטר שלכם עם המניפסטים שהוגדרו ב-מאגרי Git. היתרונות כוללים:
- ניהול דקלרטיבי: הגדירו את מצב הקלאסטר הרצוי ב-Git.
- אספקה רציפה: אוטומטו את הפריסות עם סנכרון בזמן אמת.
- ניהול גרסאות: חזרו לגרסאות קודמות בקלות.
דרישות מוקדמות
לפני שתתחיל, ודא שיש לך:
- קלאסטר Kubernetes (השתמש ב-Minikube, Kind, או שירות מנוהל כמו GKE, EKS, AKS).
kubectl
מותקן ומוגדר להתחבר לקלאסטר שלך.- חשבון GitHub או GitLab לאחסון המניפסטים של Kubernetes שלך.
- היכרות בסיסית עם תחביר YAML (נלמד בסדנה הזו אם אתה חדש).
מדריך שלב-אחר-שלב
1. הגדרת קלאסטר Kubernetes
שלב 1: התקנת Minikube
אם אין לך קלאסטר, השתמש ב-Minikube:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikube
שלב 2: הפעלת Minikube
הרץ את הפקודה minikube start
לאחר התקנת Minikube במערכת שלך:
minikube start
שלב 3: אמת קלאסטר
אמת שהקלאסטר רץ:
kubectl cluster-info
kubectl get nodes
2. התקנת Argo CD
שלב 1: צור Namespace
Argo CD רץ ב-Namespace משלו לצורך בידוד:
kubectl create namespace argocd
שלב 2: התקנת Argo CD
החל את המניפסטים הרשמיים כדי להתקין את Argo CD:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
שלב 3: אמת התקנה
בדוק את הפודים של Argo CD:
kubectl get pods -n argocd
3. גישה ל-UI של Argo CD
שלב 1: חשוף את Argo CD
חשוף את argocd-server
למחשב המקומי שלך:
kubectl port-forward svc/argocd-server -n argocd 8080:443
שלב 2: השגת אישורי מנהל
השג את סיסמת המנהל ברירת מחדל:
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
שלב 3: התחברות לממשק המשתמש
- פתח את https://localhost:8080 בדפדפן שלך.
- התחבר עם:
- שם משתמש: admin
- סיסמה: הושגה בשלב הקודם.
4. חיבור Argo CD למאגר Git שלך
שלב 1: הכנת מאגר Git
- צור מאגר Git (למשל, ב-GitHub).
- הוסף את המניפסטים של Kubernetes למאגר. השתמש בדוגמת
deployment.yaml
:
apiVersion apps/v1
kind Deployment
metadata
name nginx-deployment
labels
app nginx
spec
replicas2
selector
matchLabels
app nginx
template
metadata
labels
app nginx
spec
containers
name nginx
image nginx1.19
ports
containerPort80
שלב 2: הוסף מאגר ל-Argo CD
מממשק המשתמש:
- עבור אל הגדרות > מאגרי נתונים.
- הוסף את כתובת ה-URL של מאגר Git שלך ואת פרטי האימות (SSH או HTTPS).
או, השתמש ב-CLI:
argocd repo add <REPO_URL> --username <USERNAME> --password <PASSWORD>
5. פריסת היישום הראשון שלך
שלב 1: צור יישום
בממשק המשתמש של Argo CD:
- לחץ על יישום חדש.
-
- שם האפליקציה: nginx-app
- פרויקט: default
- כתובת המאגר: כתובת Git שלך
- נתיב: נתיב אל
deployment.yaml
- כתובת ה-Cluster:
https://kubernetes.default.svc
- מרחב השמות: default
שלב 2: סנכרן את האפליקציה
לאחר יצירת האפליקציה:
- לחץ על סנכרן בממשק ה-Argo CD.
- צפה כיצד האפליקציה מתקינה באשכול ה-Kubernetes שלך.
6. אוטומציה של ההתקנות
שלב 1: הפעלת סנכרון אוטומטי
הפעל סנכרון רציף:
argocd app set nginx-app --sync-policy automated
שלב 2: בדוק שינויים
- שנה את
deployment.yaml
ב-Git. - העלה את השינויים למאגר.
- Argo CD תזהה את השינויים ותסנכרן אותם באופן אוטומטי לאשכול.
7. ניטור ואיתור תקלות
שלב 1: ניטור בריאות האפליקציה
בממשק המשתמש, בדוק:
- בריאות: מציין האם היישום פועל כצפוי.
- מצב סנכרון: מבטיח שמצב הקבוצה תואם ל-Git.
שלב 2: צפה בלוגים
אם משהו השתבש:
kubectl logs -n argocd <POD_NAME>
שלב 3: החזר שינויים
החזרה למצב קודם:
argocd app rollback nginx-app <REVISION>
8. מאבטח את Argo CD
שלב 1: שינוי של סיסמת מנהל ברירת מחדל
שנה את סיסמת המנהל הברירת מחדל באמצעות הפקודה argocd account update-password
:
argocd account update-password
שלב 2: שלב SSO
לסביבות ייצור, שלב SSO (Single Sign-On) עם פתרונות כמו GitHub או LDAP.
שיטות מובילות של GitOps
- אסטרטגיות ענפים: השתמש בענפים נפרדים לפיתוח, סטייג'ינג וייצור.
- סקירות קוד: הכח סקירות על ידי עמיתים עבור שינויים במניפסטים.
- לוגי בדיקה: בדוק באופן קבוע את לוגי Argo CD לצורכי תאימות ותיקוני באגים.
מסקנה
Argo CD מציע דרך ידידותית למתחילים אך עוצמתית לניהול פרסום Kubernetes באמצעות עקרונות GitOps. הסדנה הזו מציידת אתך בכישורים לפרסום, מעקב וניהול יישומים ביעילות. על ידי הצפייה בכללי אלו, אתה בדרך הנכונה ללמידת משך פרסום Kubernetes.
Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd