0

Kubernetes Manifest Linter

Lint Kubernetes YAML בא לידי ביטוי נגד שיטות עבודה מומלצות להקשחת אשכולות, באופן לא מקוון לחלוטין בדפדפן שלך.

Buy Me a Coffee at ko-fi.com
מעבד... 0%
ניתוח YAML
מניפסט הליכה
בדיקת כללי הקשחה
בוצע

תוצאה

מניפסטים של Kubernetes נבדקים בדרך כלל על ידי עין בבקשת משיכה, מה שאומר שאותן קומץ טעויות הקשחה ממשיכות להגיע לייצור: Deployment ללא מגבלת זיכרון שבסופו של דבר נהרגת OOM ולוקחת איתה צומת, מיכל שפועל בשמחה כ-root כי אף אחד לא הגדיר runAsNonRoot, או Pod שהוצמד לתגית תמונה שמשתנה תחת תג תמונה שמשתנה ללא הפסקה. ה-linter הזה תופס את הסוג הזה של הבעיה ברגע שאתה מדביק מניפסט, מבלי להזדקק לאשכול רץ, להקשר kubectl או אישורים כלשהם.

מתחת למכסה המנוע הוא כולל מנתח YAML קטן מגולגל ידנית שנכתב במיוחד עבור תת-הקבוצה הריאליסטית של YAML שבה משתמשת Kubernetes Manifests בפועל: `---`-מסמכים מופרדים, קינון מבוסס הזחה, מיפוי של מפתח: ערך ומיפוי בלוקים מקוננים, `- `פריטים ברצף כולל רשימות של מפות, רשימות של מפות וציטוטים ו``בלוקים לא ציטוטים|` סקלרים עבור דברים כמו ערכי ConfigMap מרובי שורות או הערות. אין שום ספריית YAML חיצונית מעורבת - המנתח ומנוע הכלל מצורפים יחד עם הכלי ומופעלים לחלוטין בדפדפן שלך.

טבלת הכללים מבוססת על הנחיה ידועה להקשחת אשכולות - ה-CIS Kubernetes Benchmark, kube-score ופרופיל Pod Security Standards "Restricted" - ובודקת כל קונטיינר עבור בקשות/מגבלות משאבים חסרות, קונטיינרים שיכולים לפעול כ-root או במצב מיוחס, בדיקות חיסוניות חסרות ומוכנות ב-Damons, ריצה ארוכה, רכיבי נפח hostPath שחושפים את מערכת הקבצים המארחת, את השימוש ב-hostNetwork ותמונות ':latest' או לא מתויגות שאינן ניתנות לשחזור. הממצאים מקובצים לפי מסמך ולפי מיכל, עם חומרת שגיאה/אזהרה ברורה על כל אחד מהם, כך שתוכל לדעת מה בעצם מסוכן ממה שהוא רק דחיפה של שיטות עבודה מומלצות.

זה עובד על מניפסטים בודדים או קבצי ריבוי מסמכים שלמים המודבקים היישר מעיבוד תבנית Helm או פלט 'התאמה אישית', תוך הבנת משאבי Pod, Deployment, StatefulSet, DaemonSet, Job, ReplicaSet ו-CronJob. מכיוון שהכל פועל באופן מקומי, זה בטוח להדביק מניפסטים המכילים שמות שירותים פנימיים, גודל משאבים אמיתי או כל דבר אחר שלא תרצה לשלוח ל-API של צד שלישי - שימושי לבדיקת שפיות מהירה מראש, עזר לסקירת קוד, או סתם למידה כיצד "מוקשה" נראה בפועל.