דלג לתוכן הראשי

ענן ו-DevOps

Kubernetes: Pods, Deployments, Services והרצת אפליקציות

יסודות K8s – יחידות הרצה, בקרים, קונפיג, סודות, Ingress ומגבלות משאבים.

Kubernetes מתזמר קונטיינרים על מכונות תוך הסתרת מחזור חיים מהיר. הוא חושף API הצהרתי למצב רצוי — רפליקות, תמונות, טפסים — ומסנכרן מציאות ברציפות. הבנת Pod, workload ורשת מספיקה לבנייה, אך פרודקשן דורש גם מכסות, מדיניות ותצפית.

Pod מקשר קונטיינרים צמודים שחולקים רשת ולעיתים volumes. עדיפו קונטיין ראשי אחד ל-pod למעט sidecar ללוגים, mTLS או proxy. Pod הוא חד-פעמי; בקרים יוצרים מחדש — עיצבו stateless בשכבת האפליקציה.

Deployments מנהלים ReplicaSets ומגלגלים תבניות pod בהדרגה. הגדירו maxUnavailable ו-maxSurge לאיזון זמינות ומהירות. פריסות מושהות עוזרות כשמאבחנים שחרור רע בלי לקרוס לגמרי.

בדיקות חיוניות (liveness/readiness) מבדילות בין "רץ" לבין "מוכן". קונפיגורציה שגויה יוצרת לולאות restart או ירידה שקטה של תעבורה — וודאו מול עקומות עליה אמיתיות.

Services נותנים נקודות קצה יציבות ו-DNS בתוך האשכול. ClusterIP לתעבורה פנימית; NodePort ו-LoadBalancer צפונית-דרומית; headless לתבניות גילוי שירותים עם StatefulSets.

Ingress או Gateway API מרכזים ניתוב HTTP/S וסיום TLS. בחרו בקר מתוחזק והבינו headers גדולים, WebSocket ומגבלות קצב נפוצות לאפליקציה.

ConfigMaps ו-Secrets מפרידים קונפיג לא רגיש מסודות, אך זכרו ש-Secret אינו הצפנה קסומה — הגנו על etcd במנוחה, רוטציה שוטפת ואינטגרציה ל-KMS או External Secrets. Git מחזיק הפניות, לא ערכים.

בקשות ומגבלות משאבים משפיעות על תזמון והוגנות. קיצור יתר ב-CPU גורם ל-throttling; היעדר מגבלות זיכרון מזמין evictions. מדדו שימוש אמיתי לפני העתקת דוגמאות מבלוגים.

HPA מבצע סקייל אופקי לפי CPU, זיכרון או מדדים מותאמים — לעיתים עומק תור כמבשר עומס. צמדו עם cluster autoscaler בזהירות; רפליקות בלי Nodes לא עוזרות.

Namespaces ו-RBAC מבודדים צוותים. default deny עם RoleBinding מפורש עדיף על cluster-admin משותף. ביקורת מי יכול exec ולקרוא Secrets — אלה נתיבי גישה לפרודקשן.

NetworkPolicies מוסיפות סמנטיקת חומת אש בין pod-ים. בלי כך, כל pod פרוץ סורק שכנים. התחילו ב-deny ברירת מחדל לnamespaces רגישים ואז אפשרו קצוות מינימליים.

StatefulSets, Operators ו-CRD מופיעים כשמריצים DB או בקרי תור על Kubernetes — אך שקלו האם שירות מנוהל מחוץ לאשכול מצמצם עומס.

לסיכום: שלטו ב-Deployments, Services, probes, ingress ומשמעת סודות לפני רדיפת פיצ׳רים אקזוטיים. אשכולות יציבים מגיעים ממניפסטים צנועים שמופעלים בעקביות, לא מאוסף Helm ענק.

חזרה למרכז הידע