ענן ו-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 ענק.