יישומים מודרניים דורשים דרוגיות, עמידות, וזרימת מהיר של אדריכלות Microservices פוגש דרישות אלה על ידי ניתוק יישומים מונוליטיים לשירותים קטנים, בלתי תלויים פריסה. Azure Kubernetes Service (AKS) מספק סביבה מנוהלת לחלוטין Kubernetes כי לייעל את הפריסה, דרוג וניהול תפעולי של microservices. מאמר זה מציע מדריך מקיף לפרוס וניהול של microS שירות, תבניות אבטחה מיטביות, פריסה, פריסה, פריסה, פריסה, פריסה, ניהול תפעולית, ניהול תפעולי תיבות אבטחה תפעוליים, וניהול תפעוליים של microS, וכן ניהול תפעוליים של microservices.

למה AKS for Microservices?

הפעלת microservices על Kubernetes היא התאמה טבעית, ו- AKS מופשטת הרבה של ניהול אשכול מעל ראש. AKS משתלב עמוק עם מערכת האקולוגית Azure, המציע ניטור מובנה באמצעות Azure Monitor, ניהול זהות עם Azure Active Directory, ורשתות באמצעות Azure Network. Managed Kubernetes מבטלת את הצורך לשמור על מטוסים, מטפל באופן אוטומטי שדרוגים, ומספק פלטפורמה חזקה עבור שירות וירטואלי כבר מאיץ זמן עבור חברות.

אספקת Microservices ב-AKS

1.השתמש בשירותים שלך

כל מיקרו-שירות חייב להיות ארוז כתמונה מכולה. השתמש ב-Dockerfiles כדי להגדיר תלותיות והגדרות זמן ריצה. Multi-שלב בונה עזרה לשמור תמונות קטנות ומאובטחות.אחסן את התמונות שלך ב- Azure Container הרישום (ACR) עבור גישה מהירה ובטוחה של אשכול AKS. ACR משלבת עם AKS לאימות, ביטול הצורך כדי למשוך סודות באופן ידני.

יצירת וידוי AKS Cluster

אתה יכול לספק אשכול AKS באמצעות Azure CLI, Azure Portal, או תשתיות כמו כלים קוד כמו Terraform. Key תצורה החלטות כוללות גודל צומת (CPU / memory), node, אזורי זמינות לזמינות גבוהה, ותוסף רשת (אזור CNI או kubenet) עבור מיקרו-שירותים לייצור, להשתמש ב- Azure CNI לביצועים טובים יותר ושילוב עם תכונות רשתיות אפשריות של Azure.

3.הספיד את ה-Coernetes Manifests או Helms

עבור פריסות פשוטות, Kubernetes מתבטא (הקבצי YML) מגדירות את ה Deployments, שירותים, ConfigMaps וסודות. עבור מערכות אקולוגיות מיקרו-שירות מורכבות, ⁇ Helm מספקים פריסות ממותרות ניתנות להחלפה. תרשים אחד של Helm יכול לפרוס מספר רב של מיקרו-שירותים קשורים עם פרמטרים תצורה, ביצוע פריסות ספציפיות לסביבה בהתאם ל-HMA באמצעות ניהול החיים של כל שירות, כולל רולק ו-Res.

4.הפצה של Networking and Service Discovery

Microservices צריך תקשורת אמינה. Kubernetes שירותים (ClusterIP, NodePort, LoadBalancer) לספק נקודות קצה יציבות. השתמש ClusterIP לתקשורת פנימית.עבור גישה חיצונית, ליישם בקר תוקפנות כגון NGINX או Azure Application Gateway Ingress Controller.שלב עם Azure DNS עבור שמות דומיין מתקדמים.

ניהול וסודות

תצורה נפרדת מקוד באמצעות ConfigMaps וסודות.עבור נתונים רגישים כמו סיסמאות מסד נתונים ומפתחי API, השתמש ב- Azure Key Vault ו-Scar CSI כדי להזריק סודות ישירות לתוך pods. זה נמנע אחסון סודות בקבצי YML ומאפשר סיבוב אוטומטי.סביבה ספציפית הגדרות ניתן לאחסן כמו ConfigMaps וליישם במהלך פריסה.

ניהול Microservices ב-AKS

סקר

Kubernetes מציע כמה מנגנונים מדרגים.The Horizontal Pod Autoscaler (HPA) באופן אוטומטי להתאים את מספר העתקים המבוססים על CPU או ניצול זיכרון, או מדדים מותאמים אישית (למשל, בקשות לשנייה) עבור עומסי עבודה מונעים אירוע, להשתמש KEDA (Kubernetes Event-Driveing) כדי בקנה מידה מבוסס על אורך, lag, או מקורות אחרים ללא תשלום Cluster.

מעקב ושקיפות

ניהול יעיל דורש חשיפה בזמן אמת. Enable Azure Monitor עבור מכולות לאסוף מדדים, יומני ותובנות על בריאות אשכול. עבור ניטור מפורט ברמת היישום, לפרוס Prometheus ו Grafana. Prometheus גרוטאות מ pacts מ pods ו nodes; Grafana הדמיה לוחות נתונים. Azure השתמש Analytics כדי לאסוף יומני מכל microservices.חשב.coming.

עדכונים ו-Rolouts

השתמש בעדכונים מתגלגלים כדי לפרוס גרסאות חדשות עם אפס זמן.אסטרטגיות של Kubernetes Deployment (RollingUpdate או Recreate) לשלוט בקצב העדכון.עבור דפוסי פריסה מתקדמים, ליישם מהדורות צ'ילינריות או פריסות ירוקות כחולות.פריסות Canary מנטרות את אחוז קטן של התנועה לגרסה החדשה, ומאפשר אימות בעולם האמיתי לפני הפעלת כלי מלא.

אבטחה

יש לאכוף את האבטחה בכל שכבה. Integrate Azure Active Directory (אזור AD) עם AKS עבור Kubernetes RBAC, מתן הרשאות מורשות היטב למפתחים ומפעילים.שימוש במדיניות Azure עבור AKS כדי לאכוף את חוקי הציות (למשל, ביטול מדיניות רשת מבוזרת כדי להגביל את התקשורת ה-Fed-to-pod.

קווים מנחים למיקרו-שירותים ב-AKS

צינורות אוטומטיים הם חיוניים עבור microservices agility. השתמש Azure DevOps או GitHub פעולות לבנות, מבחן, לפרוס כל שירות באופן עצמאי. צינור טיפוסי: (1) לבנות תמונה של מיכל עם יחידות ובדיקות אינטגרציה; (2) לדחוף תמונה ל- ACR; (3) הפעלת סריקות אבטחה; (4) Deploy כדי לייצב סביבה ממריצים באמצעות Helm; (5) מבחנים עשן; (6) קידום ייצור באמצעות עדכון מתגלגל או יכול להבהיר כלי תיקון הרצויים, כגון Gitito לתקן קבצים תיקון יישומים.

עבור סביבות עם הרבה מיקרו-שירותים, לשקול גישה מונורופו או רב-repo בהתאם למבנה הצוות ושחרור סגל. השתמש צינורות נפרדים עבור כל שירות כדי לאפשר פריסות עצמאיות. פריסת חנות באה לידי ביטוי ב- Gitto repository ולהשתמש מפעיל GitOps כדי לסנכרן שינויים אל המקבץ.

מבנה פיפיר (אזור DevOps)

  • (ב) ,0Build Stage:cioFLT:1 ,Build docker image, Push to ACR.
  • (ב) ויקרא י"ד: "ה' אלקים" (שם) "וישא" (שם) ו"וישתמש בלמה" (שם בדוי) וב- Azure CLI) כדי לשדרג את השירות ב-Edvedow.
  • (ב) תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > תוצאות חיפוש > [15]
  • (ב) ,0) אישור שער: 1 ידני או בדיקות איכות אוטומטיות לפני הייצור.
  • (ב) ,0) דיפלוי ל Prod:FLT:1 עדכון הרולינג עם בדיקות בריאות; נסיגה אוטומטית על כישלון.

אופטימיזציה ו ניהול משאבים

Microservices על AKS יכול לייצר עלויות משמעותיות אם לא מנוהל בקפידה. הגדרת מכסות משאבים עבור שם מקום כדי למנוע צוות אחד מצריכת משאבים אשכוליים. השתמש Azure Spot VMs עבור עומסי עבודה אצווה או לקויה בהנחה. צומת בגודל הנכון: להשתמש בריכות קטנות יותר עבור עומסי עבודה מפורשים ונקודות ניהול גדולות יותר עבור שירותי זיכרון-מצטבר AKSscaler כדי לזהות את קנה המידה עם קוצים.

Best Practices for Production Microservices on AKS

  • (FLT:0)עיצוב עבור מצב של חוסר מצב: FLT:1 , חנות נתונים חיצוניים או שירותים מנוהלים (אזור קוסמוס DB, Azure SQL, או Redis Cache) נמנעים מאחסון מקומי עבור נתונים קריטיים.
  • בדיקה אחרונה ב-17 במאי 2010. ^ "0.10.10.10.10.10.10.10.10.10.10.10.18:0.05.Implement Health Investigations: AFPImplement Health Investigations: FLT: FLT: A CONCEING AND INDINGS FOR CERS TOOERS TOOERS TOOERCINGS TOOTERS AND TERS AND TERLL REFERS AND TERLL TERLL REFER TERS AND TERS AND TERS AND TERS AND TERSTORINS AND TERSTORINSTORETORS AND TERSTORINSTORSTORSTORSTORSTORSTORSTORS AND TERSTORETORETORETORSTORSTORETORSTORSTORSTORETORETORED RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RETELL RE
  • (FLT:0) תקציבי השיבושים של ה-FeloLT:1) להגן על שירותים קריטיים מלהיות מופסק במהלך הפרעות מרצון (לא תחזוקת , שדרוגים).
  • (FLT:0) תשתיות אדפטו כקוד: FLT:1 השתמש טרהפור או Bicep כדי לספק אשכולות AKS, בריכות ללא חת, ומקורות Azure הקשורים.
  • (FLT:0) סביבות נפרדות:FLT:103) השתמש במסגרות שמות נפרדות (קוד, עוקץ, פרוד) וליישם מדיניות רשת ו- RBAC כדי לבודד סביבות.
  • (FLT:0) לעדכן באופן קבוע את גרסת Kubernetes:BuildFLT:1 ; AKS אוטומטיmates העדכונים , אבל אתה צריך לתכנן שדרוגים קטנים. השתמש בגישה מובנת: לשדרג dev ראשון, ולאחר מכן עוקץ, ולאחר מכן ייצור.
  • (FLT:0) שחזור ושיקום אסון: FLT:1hil השתמש Velero כדי לגבות את משאבי Kubernetes ואת כרכים מתמיד.

משאבים חיצוניים

(ב) ב[[1924]] [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]], [[1924]]]]

מסקנה

חלוקת וניהול של microservices על Azure Kubernetes Service דורש תכנון זהיר בארכיטקטורה, פריסה, ניטור, אבטחה ואוטומציה. AKS מפשט את המורכבות של מטוסי בקרה Kubernetes ומשתלב עם המערכת האקולוגית של Azure, ומאפשר לצוותים להתמקד באספקת תכונות.על ידי מעקב אחר שיטות המפורטות לעיל - מכילות את האבולוציה, פריסות מבוססות Helmscals, obvcalsability, תצורה מאובטחת ו-Creativesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivesivessssivesivesivesivesivesivesivesivesivesivesivesive