מאמרים
פלטפורמת CI/CD ולוגים מלאה על EKS — Jenkins ו־ELK
פרויקט שבניתי כדי להראות איך שלושת הדברים שמחזיקים תשתית מודרנית — אוטומציה, נראות וסקיילינג — נראים כשהם עובדים יחד על Kubernetes, ולא כשלושה כלים נפרדים.
מה יש בפלטפורמה
- Jenkins על Kubernetes — master וסוכנים דינמיים שעולים לפי עומס ונסגרים אחרי הבנייה.
- פייפליין מלא — clone, build, test, ושליחת הלוגים הלאה לניתוח.
- מחסנית ELK — Elasticsearch, Logstash ו־Kibana לאיסוף לוגים וחיפוש בהם.
- רשת מסודרת — VPC, תת־רשתות ציבוריות ופרטיות, ו־security groups.
- חשיפה מינימלית — רק Jenkins ו־Kibana נגישים דרך load balancer, כל השאר פנימי.
איך זה בנוי
תשתית כקוד
Terraform מקים את ה־VPC, תת־הרשתות, קלאסטר ה־EKS, הרשאות ה־IAM, את Jenkins ואת ה־load balancers. אותו קוד מריץ סביבה חדשה מאפס, וזה ההבדל בין פלטפורמה לבין שרת שמישהו הקים פעם.
פריסה
Helm פורס את Jenkins, ו־Terraform מפעיל את Helm — כך שאין שלב ידני באמצע. מחסנית ELK נפרסת במניפסטים של Kubernetes לתוך namespace נפרד.
הפרדת namespace
שני namespaces: jenkins ו־elk. ההפרדה נשמעת טריוויאלית עד שצריך להגביל הרשאות, לקבוע מכסות משאבים, או למחוק סביבה שלמה בלי לפגוע בשנייה.
צינור הלוגים
Jenkins שולח לוגים דרך תוסף Logstash אל Logstash שרץ בתוך הקלאסטר, משם ל־Elasticsearch, ו־Kibana מציג אותם. התוצאה: במקום לפתוח build אחרי build בממשק של Jenkins, מחפשים טקסט חופשי על פני כל הבניות.
מה למדתי מזה
- נראות צריכה להיכנס מההתחלה. להוסיף לוגים אחרי שהמערכת כבר רצה זה תמיד פרויקט בפני עצמו.
- סוכנים דינמיים משנים את העלות. סוכן שקיים רק בזמן בנייה חוסך יותר מכל אופטימיזציה אחרת בפייפליין.
- Terraform ו־Helm ביחד נותנים תהליך שאפשר לחזור עליו — וזה מה שהופך את זה לפלטפורמה ולא להתקנה חד־פעמית.
- חשיפה מינימלית היא החלטה ארכיטקטונית, לא הגדרה שמבצעים בסוף.
הקוד
הקוד המלא ומדריך הפריסה נמצאים ב־GitHub(הפרויקט k8-jenkins-kibana-project), כולל README עם שלבי ההרצה.
גרסה קצרה יותר פורסמה לראשונהב־LinkedIn.
המשך קריאה
- Kubernetes ו־GitOps — איך זה נראה בפרודקשן עם Argo CD.
- DevOps ו־CI/CD — אותם עקרונות כשירות.
- ECS או EKS — מתי בכלל צריך קלאסטר.
רוצים את אותו הדבר בענן שלכם?
שיחה קצרה, ואחריה תוכנית כתובה עם הערכת עלות והיקף עבודה מוגדר. ללא התחייבות.