ניהול רב-אשכולות של Kubernetes עם Portainer

כאשר מופיעים מספר אשכולות Kubernetes בתשתית שלכם, ניהולם באמצעות kubectl הופך למסורבל ומאט את הצוות. אנו מגדירים ניהול מרכזי עם Portainer Business, המאחד את כל האשכולות וסביבות Docker בממשק אינטרנט יחיד. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד הטמעה ותמיכה שוטפת, תוך הבטחת תשתית אמינה וניתנת להרחבה.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

בואו נהיה כנים: כשהתשתית של חברה גדלה וכוללת קלאסטר Kubernetes שני, ניהול הכל באמצעות kubectl מפסיק להיות נוח. כל מהנדס שומר קבצי kubeconfig, עובר בין קונטקסטים, והמצב נעשה מורכב עוד יותר עם תשתית היברידית (K8s + Docker Compose). נתקלנו בזה פעמים רבות ומצאנו פתרון — Portainer. הכלי הזה ממלא את הפער בין Lens (כלי למפתחים) לבין Rancher (פלטפורמה ארגונית): זהו ממשק אינטרנט נגיש לכל הצוות, שעובד היטב גם עם סביבות Kubernetes וגם עם Docker. במשך יותר מ-5 שנים הגדרנו את Portainer עבור 15+ חברות — מסטארטאפים ועד ארגונים עם 10+ קלאסטרים. הניסיון שלנו מאפשר לנו לפרוס ניהול רב-קלאסטרי תוך 1-2 ימים עם סובלנות תקלות מובטחת. אם אתם צריכים ניהול מרכזי, צרו איתנו קשר — נבחן את התשתית שלכם ונציע את התצורה האופטימלית.

Portainer לעומת Lens ו-Rancher

Lens מצוין למפתחים: מהיר, מקומי, אך דורש התקנה על כל מכונה. Rancher חזק אך מורכב להגדרה וצורך משאבים רבים. Portainer הוא נקודת האיזון: ממשק משתמש פשוט הפועל בדפדפן, המסוגל לנהל גם Kubernetes וגם Docker. הוא אידיאלי לצוותים של עד 20 אנשים שאינם זקוקים ל-SSO ארגוני. לפי הערכתנו, Portainer מוגדר פי 3 מהר יותר מ-Rancher — שעתיים במקום 6.

כלי סוג ניהול Docker RBAC מורכבות הגדרה
Portainer Business אינטרנט כן מובנה נמוכה
Lens שולחני לא באמצעות RBAC של k8s בינונית
Rancher אינטרנט באמצעות כלים של צד שלישי מתקדם גבוהה

כיצד Portainer מנהל מספר קלאסטרים

ארכיטקטורה: שרת וסוכן

Portainer מורכב משני רכיבים:

Portainer Server — השירות הראשי עם ממשק אינטרנט. מותקן פעם אחת, בדרך כלל ב-namespace נפרד של Kubernetes או על מארח Docker.

Portainer Agent — סוכן קל משקל המותקן בכל קלאסטר מנוהל או על מארח Docker. הסוכן פותח חיבור הפוך מאובטח חזרה לשרת.

זהו הבדל מרכזי מ-Lens: Portainer נגיש באמצעות URL לכל משתמש עם דפדפן, ללא צורך בהתקנה על המכונה המקומית.

התקנת שרת וחיבור קלאסטר: שלב אחר שלב

  1. התקינו את Portainer Server ב-Kubernetes באמצעות Helm:
helm repo add portainer https://portainer.github.io/k8s/
helm install portainer portainer/portainer \
  --namespace portainer \
  --create-namespace \
  --set service.type=LoadBalancer \
  --set tls.force=true
  1. קבלו את כתובת ה-URL של השרת (לדוגמה, helm repo add portainer https://portainer.github.io/k8s/ helm install portainer portainer/portainer \ --namespace portainer \ --create-namespace \ --set service.type=LoadBalancer \ --set tls.force=true ).

  2. בממשק Portainer, עברו אל Environments → Add Environment → Kubernetes.

  3. בחרו את שיטת החיבור: Agent או kubeconfig. אם תבחרו Agent, Portainer ייצור manifest עבור kubectl.

  4. החילו את ה-manifest על הקלאסטר היעד: https://portainer.example.com.

  5. תוך דקה, הקלאסטר יופיע ברשימת ה-Environments — מוכן לניהול.

כל התהליך של חיבור קלאסטר אחד אורך כ-15 דקות.

רכיב CPU RAM אחסון דרישות רשת
Portainer Server 2 vCPU 4 GB 10 GB רוחב פס גבוה לסוכנים
Portainer Agent 0.5 vCPU 512 MB 1 GB גישה לשרת דרך 9443/tcp

מה Portainer יכול לעשות עם Kubernetes

באמצעות ממשק האינטרנט, ניתן:

  • לנהל Namespaces עם Resource Quotas ו-Limit Ranges
  • לפרוס יישומים באמצעות טופס או manifest YAML
  • לנהל Deployments, Services, Ingresses, ConfigMaps, Secrets
  • לצפות ביומני pods בזמן אמת
  • להריץ פקודות במכולות ישירות מהדפדפן
  • לנהל Helm Charts באמצעות App Templates מובנים

Portainer Business מוסיף RBAC מעל ה-RBAC הסטנדרטי של Kubernetes — זה חשוב לארגונים שבהם צריך להגביל מפתחים ל-namespaces ספציפיים ללא הגדרת ClusterRoles מורכבים.

תכונה Portainer CE Portainer Business
קלאסטרי K8s כן כן
מארחי Docker כן כן
RBAC לא כן (עם מיפוי LDAP/OIDC)
רישומי מכולות כן כן
תמיכה ב-GitOps באמצעות App Templates באמצעות App Templates + מאגרים חיצוניים
מסד נתונים חיצוני (PostgreSQL) לא כן

סביבות Docker בממשק אחד

זה משהו שגם Lens וגם Rancher לא מציעים בצורה כל כך נוחה. אם חלק מהשירותים עדיין רצים על Docker Compose (מארחים legacy, סביבות פיתוח), Portainer מנהל אותם לצד קלאסטרי Kubernetes. חלון אחד לפריסת stack ב-Docker Compose ו-Helm release ב-Kubernetes.

התקינו את Portainer Agent על מארח Docker:

docker run -d \
 -p 9001:9001 \
 --name portainer_agent \
 --restart always \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /var/lib/docker/volumes:/var/lib/docker/volumes \
 portainer/agent:latest

המארח יופיע אז ברשימת ה-Environments לצד קלאסטרי Kubernetes.

אבטחה ומגבלות

Portainer Business תומך ב-OAuth2/OIDC ו-LDAP עבור SSO. המהדורה הקהילתית תומכת רק במשתמשים מקומיים או LDAP.

ה-Portainer Agent דורש הרשאות ברמת קלאסטר רחבות (ClusterAdmin) לניהול מלא. זהו פשרה: נוחות במחיר הרשאות סוכן מוגברות. אם אתם צריכים הרשאות מינימליות, השתמשו במצב קריאה בלבד או הגבילו את הסוכן ל-namespaces ספציפיים, אך הפונקציונליות תהיה מוגבלת.

Portainer Server מאחסן אסימונים ופרטי התחברות במסד הנתונים שלו (BoltDB או מסד חיצוני). אם מסד הנתונים אובד, כל תצורות הסביבה אובדות. לכן, אנו תמיד מגדירים גיבויי מסד נתונים ל-S3 או משתמשים במסד נתונים חיצוני PostgreSQL.

הגדרת RBAC ב-Portainer Business למפתחים

הפעילו אימות חיצוני (LDAP/OIDC), צרו צוותים על בסיס קבוצות ספק, והקצו לכל צוות גישה רק לסביבות ו-namespaces ספציפיים. כך, מפתחים רואים רק את ה-pods והיומנים שלהם, ללא גישה לקלאסטר הייצור. ב-Portainer Business, ניתן למפות תפקידי LDAP לצוותים, תוך ריכוז ניהול ההרשאות.

מתי להשתמש ב-Portainer

Portainer הוא בחירה טובה אם:

  • הצוות קטן (עד 20 אנשים) ואינו זקוק ל-SSO ארגוני
  • התשתית כוללת שילוב של Kubernetes ו-Docker
  • אתם צריכים ממשק משתמש פשוט ללא מורכבות ההגדרה של Rancher
  • אתם רוצים לתת למפתחים גישה מהירה לצפייה במצב היישומים שלהם ללא kubectl apply -f portainer-agent.yaml

עבור ארגונים גדולים עם מאות מפתחים ועשרות קלאסטרים, Rancher מציע ניהול מתקדם יותר ואינטגרציית GitOps. אך גם במקרים כאלה, Portainer יכול להיות שימושי ככלי נוסף לגישה מהירה.

מה כלול בעבודה שלנו

הזמינו התקנת Portainer סוהר וקבלו חלון ניהול אחיד תוך 1-2 ימים. השירות כולל:

  • התקנה והגדרה של Portainer Server (Kubernetes או Docker)
  • פריסת Portainer Agent בכל הקלאסטרים ומארחי Docker
  • הגדרת TLS, LDAP/OIDC, RBAC
  • יצירת צוותים והרשאות גישה למפתחים
  • אינטגרציה עם מאגרי Git באמצעות App Templates
  • גיבוי מסד הנתונים של Portainer
  • תיעוד והדרכת צוות

אנו מבטיחים ביצועים יציבים תחת עומס. אם יש לכם תשתית מורכבת, פנו אלינו — נבצע ביקורת ונציע ארכיטקטורה אופטימלית. צרו קשר כדי לדון בפרויקט שלכם.

לוחות זמנים ועלות

זמן הגדרה: בין יום ל-3 ימים, תלוי במספר הקלאסטרים ובדרישות האבטחה. העלות מחושבת באופן אישי — שלחו בקשה, ונעריך את הפרויקט ונציע מחיר קבוע.

Portainer הוא כלי קוד פתוח המשמש בסביבות ייצור.