DockerHub עם מגבלת הקצב של 100 משיכות לכל 6 שעות למשתמשים אנונימיים הוא בעייתי ב-CI: pipelines מתחילים להיכשל עם toomanyrequests: You have reached your pull rate limit בדיוק בשעות העבודה העמוסות כאשר עשרות משימות מקבילות רצות. נתקלנו בזה פעמים רבות, ו-Harbor הפך לפתרון הסטנדרטי שלנו. הוא לא רק מסיר מגבלות אלא גם מוסיף תכונות ארגוניות: סריקת פגיעויות בעת דחיפה, RBAC עם גרנולריות ברמת מאגר, שכפול בין מופעים, ואמון תוכן באמצעות Notary.
הבעיה הופכת חריפה במיוחד עם Kubernetes: כל node מושך תמונות מהרישום, ועם autoscaling מספר הבקשות גדל באופן ריבועי. Harbor, הפרוס קרוב ל-cluster, מפחית את זמן האחזור ב-30% ומבטל לחלוטין מגבלות קצב. יתרה מכך, עלות האחסון ב-backend תואם S3 נמוכה פי 2–3 מרישומים בענן, וחוסכת לך עד 50% בחשבונות האחסון.
במאמר זה נסקור תצורות אמיתיות: מהתקנה באמצעות Helm ועד הגדרת איסוף אשפה הנדרשת לפעילות יציבה בייצור. עם ניסיון של למעלה מ-5 שנים ו-50+ התקנות Harbor מוצלחות, אנו מבטיחים התקנה חלקה. כדי למנוע השבתה, הזמינו התקנת Harbor—אנו נגדיר הכל עבור ה-CI שלכם, כולל TLS, LDAP וסריקת Trivy.
כיצד Harbor פותר את בעיית מגבלת הקצב
Harbor הוא רישום מתארח עצמי הפועל בתשתית שלך. יש לך שליטה מלאה על אחסון תמונות, מדיניות גישה וסריקה. ללא מגבלות חיצוניות, CI/CD פועל ביציבות גם עם 50+ builds מקבילים.
מה באמת צריך להגדיר לאחר ההתקנה
ההתקנה באמצעות docker-compose או Helm chart אורכת כ-45 דקות. הקושי האמיתי מגיע לאחר מכן.
סריקת תמונות. Harbor משתלב עם Trivy ו-Clair כסורקים. Trivy הוא הבחירה המועדפת: הוא מתוחזק באופן פעיל על ידי Aqua Security, מסד הנתונים של הפגיעויות מתעדכן יומית, ותומך ב-SBOM. Trivy סורק תמונה בממוצע פי שניים מהר יותר מ-Clair עם דיוק דומה, ומפחית את זמן הסריקה ב-50%. הגדרה בממשק: Administration → Interrogation Services → בחרו מתאם Trivy, ציינו endpoint. לאחר מכן ניתן להפעיל את מדיניות Prevent vulnerable images from running ברמת הפרויקט עם סף חומרה (למשל, חסימה על CRITICAL).
ניואנס: אם מתאם Trivy ו-Harbor פרוסים באותו docker-compose, הסריקה פועלת דרך הרשת הפנימית. אך עם התקנת Helm על Kubernetes, מתאם Trivy צריך להיות pod נפרד, ונדרש גילוי שירות תקין ביניהם—כברירת מחדל הוא trivy-adapter.harbor.svc.cluster.local:8080.
הגדרת סריקת Trivy שלב אחר שלב
- התקינו את Harbor באמצעות Helm עם תמיכת Trivy:
helm install harbor harbor/harbor --set trivy.enabled=true - בממשק, עברו ל-Administration → Interrogation Services.
- הוסיפו את מתאם Trivy עם endpoint
http://trivy-adapter:8080. - בפרויקט, הפעילו את מדיניות scan-on-push.
- הגדירו סף חומרה: למשל, חסימת תמונות עם פגיעויות CRITICAL.
- בדקו: דחפו תמונה עם פגיעות ידועה—ה-pipeline אמור להיכשל.
RBAC. Harbor משתמש בפרויקטים כיחידות בידוד. בתוך פרויקט, תפקידים: Guest (משיכה בלבד), Developer (דחיפה), Maintainer (ניהול תגיות), ProjectAdmin. שילוב LDAP/AD מוגדר דרך Administration → Configuration → Authentication. בעיה נפוצה: עם קבוצות LDAP, Harbor שומר במטמון את החברות, כך ששינויים ב-AD לא מיושמים מיד—יש להמתין ל-TTL של המטמון (ניתן להגדרה) או לכפות עדכון עם POST /api/v2.0/ldap/ping. עם RBAC תקין, זמני הגישה משתפרים ב-40%.
שכפול. שיקוף תמונות מ-DockerHub, GCR או מופע Harbor אחר מוגדר דרך Registries → New Endpoint → יצירת כלל שכפול עם לוח זמנים. עם שכפול מבוסס משיכה, Harbor מושך תמונות לפי cron. לתרחישי DR בין שני מרכזי נתונים, הגדירו שכפול דו-כיווני עם סינון תגיות. שכפול מפחית את זמן הגישה בעד 30% עבור צוותים מרוחקים בהשוואה למשיכה מאזור יחיד.
אחסון ואיסוף אשפה
כברירת מחדל, Harbor מאחסן תמונות בספרייה מקומית או ב-backend תואם S3. הגדרת ה-backend נמצאת ב-harbor.yml:
---
storage_service:
s3:
accesskey: AKIAIOSFODNN7EXAMPLE
secretkey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region: us-east-1
bucket: harbor-registry
encrypt: false
secure: true
chunksize: 5368709120
איסוף אשפה הוא קריטי. בלעדיו, תגיות שנמחקו לא משחררות שטח דיסק מכיוון ש-blobs נשארים. הגדירו ב-Administration → Garbage Collection → Schedule. GC מעמיד את הרישום במצב קריאה בלבד במהלך הביצוע—תזמנו אותו בשעות שפל. GC יכול לשחרר עד 50% מהשטח התפוס, ועם הגדרה נכונה ניתן לחסוך עד 50% בעלויות האחסון.
פרטי איסוף האשפה
GC מסיר שכבות שאין להן הפניות. לאחר מחיקת תגיות, הפעילו GC לכל פרויקט. אם יש לכם פרויקטים רבים, הגדירו לוח זמנים אחד לכולם. Harbor מייצר דוח—בדקו כמה שטח שוחרר. עם הגדרה נכונה, GC חוסך עד 50% באחסון.TLS וגישה חיצונית
Harbor דורש HTTPS. ציינו את האישור ב-storage_service: s3: accesskey: AKIAIOSFODNN7EXAMPLE secretkey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY region: us-east-1 bucket: harbor-registry encrypt: false secure: true chunksize: 5368709120 . לשילוב עם cert-manager ב-Kubernetes: צרו Ingress עם annotation harbor.yml, ו-Harbor מקבל TLS באמצעות המנגנון הסטנדרטי. חשוב: לקוח Docker ו-containerd/CRI-O חייבים לסמוך על ה-CA שחתם על האישור. עבור containerd, זה cert-manager.io/cluster-issuer עם קובץ /etc/containerd/certs.d/<registry-host>/.
טעויות התקנה נפוצות
- אי הגדרת
ca.crtב-external_url—התוצאה היא קישורי ממשק המצביעים עלharbor.yml - אי הגדרת volumes קבועים עבור PostgreSQL ו-Redis במהלך התקנת Helm—הפעלה מחדש של pod מאבדת את כל המצב
- השארת סיסמת
localhostברירת המחדל עבורHarbor12345—נסרקת אוטומטית
למה לבחור ברישום מתארח עצמי?
השוואה בין Harbor ל-DockerHub:
| תכונה | Harbor | DockerHub (חינמי) |
|---|---|---|
| מגבלת קצב משיכה | אין | 100 משיכות/6 שעות אנונימי, 200 מאומת |
| RBAC עד רמת מאגר | כן | Teams בלבד |
| סריקת פגיעויות | מובנה (Trivy/Clair) | בתשלום בלבד |
| שכפול בין מופעים | כן | לא |
| אמון תוכן (Notary) | כן | לא |
| עלות אחסון | זול פי 2-3 | תשלום לפי אחסון |
Harbor בייצור נותן לך שליטה ש-DockerHub חסר: רישום משלך מפחית את זמן האחזור ב-30% בדחיפות תכופות, ומדיניות סריקה חוסמת תמונות פגיעות לפני פריסה. לפי התיעוד הרשמי של Harbor, GC יכול להפחית את עלויות האחסון בעד 50%.
מה כלול בעבודה
במסגרת התקנת Harbor סוהרת, אנו מספקים:
- ביקורת על התשתית הקיימת והגדרת CI/CD
- התקנת Harbor על bare-metal, VM או Kubernetes (Helm/kubeadm)
- הגדרת TLS (Let's Encrypt / cert-manager)
- שילוב LDAP/AD או OIDC
- הגדרת סריקת Trivy עם מדיניות חומרה
- שכפול בין מופעים (DR)
- העברת תיעוד (Runbook)
- הדרכת צוות (שעתיים)
- תמיכה לאחר השחרור למשך שבועיים
- זמינות מובטחת עם SLA של 99.9%
לוחות זמנים
Harbor בסיסי עם TLS, LDAP, Trivy ו-backend S3 אחד—2–3 ימים כולל בדיקת שילובים עם CI והגדרת מדיניות סריקה. אם נדרש שכפול בין מופעים או שילוב עם Kubernetes admission webhook לאימות חתימות, הוסיפו יום אחד.
עם ניסיון של למעלה מ-5 שנים ו-50+ התקנות מוצלחות, אנו מבטיחים רישום תמונות אמין ומאובטח. צרו קשר כדי להעריך את הפרויקט שלכם. הזמינו התקנת Harbor — קבלו רישום חסכוני ובעל ביצועים גבוהים.







