Table of Contents

בעולם המיכל של היום, ניהול תמונות דוקר רבות באופן מאובטח ויעיל הוא חיוני עבור ארגונים של כל הגדלים. כמו ארגונים בקנה מידה פריסות המכולות שלהם, הצורך במרשם רב עוצמה, מאובטח, ומורכב מכולות הופך להיות מכריע.ר.ר.ר, פרויקט CNCF בוגר עם יותר מ-30,000 כוכבי GitHub, הוא המרשם הפתוח ביותר.

מה זה נמל ולמה לבחור אותו?

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

VMware Open-sourced Harbor בשנת 2016, היא הצטרפה ל- CNCF ביולי 2018, והיא סיימה ביוני 2020 - מה שהופך אותו למרשם קוד פתוח הראשון להגיע למעמד בוגר CNCF. אבן דרך זו משקפת הן את בשלותה והן את כוחה של התמיכה בקהילה שלה.

תכונות עיקריות Set Harbor מלבד

הנמל מבחין עצמו מרישום דוקרים בסיסיים ואפילו חלופות מסחריות באמצעות מספר יכולות ברמה ארגונית:

  • (FLT:0) גידול באמצעות פרויקטים: ההרחבה 1 (FLT:1) מרחיבה תוכן לפרויקטים, עם כל פרויקט מקבל מדיניות RBAC משלו, הגדרות סריקה, גבולות מכסה, כללי שימור תג
  • (FLT:0)Built-in Vulnerability Scanning:FLT) 1 הארבור כולל מדיניות סריקות-on-push עם החזרות ניתנות להתאמה כולל Trivy, Clair ו- Anchore שחוסמת תמונות פגיעות לפני הפריסה לפני הפריסה
  • (FLT:0) צילום ואמון תוכן: FLT:1 הארבור תומך בממצאים שחתמה עם חתימה ורישום עבור אבטחת שרשרת האספקה, בתוספת מדיניות אמון תוכן אשר כופת רק תמונות חתום ניתן למשוך
  • (FLT:0)Multi-registry Replication:cioFLT:1) הארבור מסנכרן תמונות ברחבי מרכזי נתונים, אזורי ענן, או סביבות היברידיות עם מסננים המבוססים על מדיניות על מאגרי מידע, תגים ותוויות
  • (FLT:0)Comprehensive Access Control:FIRLT:1 , Authentication מתחבר ל-LDAP, Active Directory, ספקי OIDC, או מסד הנתונים המובנה
  • (FLT:0) חשבונות רובוט עבור אוטומציה: חשבונות רובוט 1FLT 1) לתת צינורות CI /CD ללא גישה אנושית עם הרשאות מתחלפות
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

מתי לבחור את הנמל על פני חלופות

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

בהשוואה לדוקר הובר, הנמל מציע סריקה של פגיעות מובנה, חתימה תמונה, RBAC, ביקורת logging, ושכפול רב-אזורי - תכונות הדורשות Docker Hub שילם תוכניות או אינן זמינות.עבור ארגונים עם דרישות תושבות נתונים, מנדט ציות, או הצורך בחידושים פרטיים בלתי מוגבלים, נמל מספק חלופה ממוקדת-עצמי.

אדריכלות רב-העוצמה של הנמל

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

פרויקטים כעשרת אלפים

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

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

בקרת גישה מבוססת-תפקיד (RBAC)

משתמשים ניגשים לשרידים שונים באמצעות "פרוקים" ומשתמש יכול לקבל אישור שונה לתמונות או ל ⁇ הלמה תחת פרויקט.נמל מיישמת מערכת RBAC מתוחכמת עם תפקידים מוגדרים מראש שניתן להקצות ברמת הפרויקט:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0) ראשיטנר: 1.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
  • (ב) מיזם Adminische:0) :0.10.10.1 שליטה מלאה על הפרויקט כולל יכולות של קידוד-כתיבה

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

שילוב Authentication

במקרים הפשוטים ביותר, משתמשים יכולים להיווצר על ידי הנמל עצמו ולנהל את עצמם, עם זאת, זה לא בקנה מידה במיוחד, כך גם נמל מספק שילוב שירותים פופולריים אחרים כגון OIDC, Active Directory ו LDAP. גמישות זו מאפשרת לארגונים למנף תשתיות ניהול זהות קיימות, צמצום פני השטח האדמיניסטרטיבי ולהבטיח מדיניות גישה עקבית על פני מערכות.

דרישות מערכת ודרישות מערכת

לפני התקנת נמל, ודא שהסביבה שלך עומדת בדרישות הדרושות לפריסה מוכנה לייצור.

דרישות חומרה

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

  • (FLT:0)CPU: ⁇ FLT:1 ; 4 ליבות מינימום (8+ ליבות מומלץ לסביבות טרף גבוהה)
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ :0) , ⁇ (ב) תלוי בנפח התמונה; להתחיל עם 100 GB ותכנית לצמיחה
  • (FLT:0Network: VisofLT:1) קישוריות רשתית עם רוחב פס מספיק עבור פעילות צילום

Software Prerequisites

נמל דורש את רכיבי התוכנה הבאים:

  • (FLT:0)Operating System: FLT:1 לינוקס הפצה (Ubuntu 20.04+, CentOS 7+, RHEL 7+, או דומה)
  • (ב) ,0) ,Docker Engine: 10.10.10.10.0.
  • (ב) ,0) ,Docker Compose: FLT:1 Version 1.29.0 ומעלה (עבור שיטת ההתקנה של Docker Compose)
  • (ב) ,0)13: (בתרגום: 1) ,5+ (אם הם מופיעים באמצעות הלמה)
  • (ב) ,0) פתח: 1 (ב) להנפיק תעודות SSL/TLS

רשת ו- Domain Configuration

עבור פריסת ייצור, תצטרך:

  • שם דומיין מוסמך לחלוטין (FQDN) מצביע על שרת הנמל שלך
  • תעודות SSL/TLS (החתימה עצמית לבדיקות, CA-signed for Production)
  • נמלי חומת אש פתוחים: 80 (HTTP), 443 (HTTPS), ואופציונלית 4443 (Notary)

התקנת נמל: Step-by-Step Guide

ניתן להתקין את הנמל על כל סביבת Kubernetes או על מערכת עם תמיכה דוקר.מדריך זה מכסה הן שיטות ההתקנה, החל עם הגישה של Docker Compose עבור פשטות, ואחריו פריסת Kubernetes באמצעות ⁇ Helm.

שיטה 1: התקנת נמל עם Docker Compose

Docker Compose מספק את הדרך המהירה ביותר להגיע לנמל ולריצה, מה שהופך אותו אידיאלי עבור סביבות פיתוח ופריסה קטנה יותר.

שלב 1: התקנת Docker ו-Docker Compose

ראשית, ודא Docker ו Docker Compose מותקנים על המערכת שלך. On Ubuntu, אתה יכול להתקין אותם עם ההוראות הבאות:

# Update package index
sudo apt update

# Install prerequisites
sudo apt install -y ca-certificates curl gnupg lsb-release

# Add Docker's official GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Set up Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Install Docker Engine and Docker Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Start and enable Docker
sudo systemctl start docker
sudo systemctl enable docker

# Verify installation
docker --version
docker compose version

שלב 2: הורד את הנמל

הורד בינאריות של שחרור הארבור והמשך & מדריך קירור להתקין את הארבור.You יכול להוריד את היציאה האחרונה של הנמל מן ה- GitHub repository:

# Download the latest Harbor release
cd /opt
curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep '.tgz$' | wget -i -

# Extract the archive
tar xzvf harbor-offline-installer-*.tgz

# Navigate to Harbor directory
cd harbor

שלב 3: Conform Harbour

נמל משתמש בקובץ YAML , אשר חייב להיות מותאם אישית לסביבה שלך:

# Copy the template configuration file
cp harbor.yml.tmpl harbor.yml

# Edit the configuration file
nano harbor.yml

פרמטרים מרכזיים לשינוי:

# The hostname or IP address of your Harbor server
hostname: harbor.yourdomain.com

# HTTP configuration
http:
 port: 80

# HTTPS configuration (recommended for production)
https:
 port: 443
 certificate: /path/to/your/certificate.crt
 private_key: /path/to/your/private_key.key

# Harbor admin password (change this!)
harbor_admin_password: YourSecurePassword123!

# Database configuration
database:
 password: DatabasePassword123!
 max_idle_conns: 100
 max_open_conns: 900

# Data storage location
data_volume: /data

# Log configuration
log:
 level: info
 local:
 rotate_count: 50
 rotate_size: 200M
 location: /var/log/harbor

שלב 4: יצירת תעודות SSL (אופציונליות אך מומלץ)

עבור פריסות ייצור, השתמש באישורים של CA-signed. for Testing, באפשרותך ליצור תעודות חתום עצמית:

# Create certificate directory
mkdir -p /opt/harbor/certs
cd /opt/harbor/certs

# Generate private key
openssl genrsa -out harbor.key 4096

# Generate certificate signing request
openssl req -new -key harbor.key -out harbor.csr -subj "/C=US/ST=State/L=City/O=Organization/CN=harbor.yourdomain.com"

# Generate self-signed certificate (valid for 365 days)
openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -out harbor.crt

# Update harbor.yml with certificate paths
# certificate: /opt/harbor/certs/harbor.crt
# private_key: /opt/harbor/certs/harbor.key

שלב 5: התקנת נמל עם טריבי סקנר

Trivy הוא הסורק ברירת המחדל מאז הארבור v2.2. להתקין את הארבור עם הסורק הפגיעות Trivy אפשר:

# Run the installation script with Trivy
sudo ./install.sh --with-trivy

# Verify all containers are running
docker compose ps

אתה צריך לראות פלט המציג את כל שירותי הנמל פועל, כולל הנמל, הנמל-פורטל, הנמל-דב, הרישום, הטריבי-אדפלטר ואחרים.

שלב 6: Access Harbor Web Interface

לאחר ההתקנה הושלמה, עליך להיות מסוגל לגשת לנמל UI בדפדפן האינטרנט שלך ב-https.yourdomain.com ולהיכנס עם המשתמש הניהול ואת הסיסמה שאתה מגדיר.

שיטה 2: התקנת נמל על Kubernetes עם Helm

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

שלב 1: הוסף את נמל הלמה רסטורי

# Add Harbor Helm repository
helm repo add harbor https://helm.goharbor.io

# Update Helm repositories
helm repo update

# Create namespace for Harbor
kubectl create namespace harbor

שלב 2: יצירת קובץ ל- Helm Values

צור קובץ ערכים מותאם אישית כדי להגדיר את פריסת הנמל שלך:

cat > harbor-values.yaml <<EOF
expose:
 type: ingress
 tls:
 enabled: true
 certSource: secret
 secret:
 secretName: harbor-tls
 ingress:
 hosts:
 core: harbor.yourdomain.com
 className: nginx
 annotations:
 cert-manager.io/cluster-issuer: "letsencrypt-prod"

externalURL: https://harbor.yourdomain.com

persistence:
 enabled: true
 resourcePolicy: "keep"
 persistentVolumeClaim:
 registry:
 storageClass: "fast-ssd"
 size: 500Gi
 database:
 storageClass: "fast-ssd"
 size: 10Gi
 redis:
 storageClass: "fast-ssd"
 size: 1Gi

harborAdminPassword: "ChangeThisPassword123!"

database:
 type: internal

redis:
 type: internal

trivy:
 enabled: true

notary:
 enabled: true
EOF

שלב 3: התקנת נמל באמצעות Helm

# Install Harbor
helm install harbor harbor/harbor
 -n harbor
 -f harbor-values.yaml

# Wait for all components to be ready
kubectl wait --for=condition=available --timeout=600s
 deployment --all -n harbor

# Check pod status
kubectl get pods -n harbor

# Get Harbor admin password
kubectl get secret harbor-core -n harbor -o jsonpath='{.data.HARBOR_ADMIN_PASSWORD}' | base64 -d

סודיות רבה בנמל

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

יצירת פרויקטים עבור Tenants

אתה יכול ליצור פרויקטים מרובים בנמל כדי להפריד את הפריטים המאוחסנים על ידי קבוצות שונות או ארגוני משנה בתוך הארגון. פרויקטים ניתן ליצור באמצעות ממשק האינטרנט של הארבור או באמצעות תוכנית דרך ה- API.

יצירת פרויקטים באמצעות Web Interface

כדי ליצור פרויקט דרך פורטל הנמל:

  1. היכנסו אל הנמל כמנהל
  2. לחץ על "פרויקטים" בתפריט הניווט השמאלי
  3. לחץ על כפתור "NEW PROJECT"
  4. (ב) עיין ב-[[1924]]: [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]
  5. (FLT:0) גישה רמה:03FLT:1) בחר "ציבור" (כל אחד יכול למשוך) או "פרטי" (requires Identity)
  6. (ב) ,0) ,סורת קווטה: ⁇ 1 , קבע גבול למנוע כל דייר אחד לצרוך אחסון מופרז
  7. (ב) ⁇ :0) פרוקסי Cache: FLT:1 , להגדיר את הפרויקט באופן אופציונלי כגורם פרוקסי עבור רשם חיצוני
  8. לחץ על "OK" כדי ליצור את הפרויקט

יצירת פרויקטים באמצעות API

עבור יצירת פרויקט אוטומטית או פעילות מרבית, השתמש ב-Rover REST API:

# Set Harbor credentials
HARBOR_URL="https://harbor.yourdomain.com"
HARBOR_USER="admin"
HARBOR_PASSWORD="YourSecurePassword123!"

# Create multiple projects
for project in team-frontend team-backend team-ml customer-alpha customer-beta; do
 curl -X POST "${HARBOR_URL}/api/v2.0/projects"
 -H "Content-Type: application/json"
 -u "${HARBOR_USER}:${HARBOR_PASSWORD}"
 -d "{
 "project_name": "${project}",
 "public": false,
 "storage_limit": 107374182400
 }"
 echo "Created project: $project"
done

# List all projects
curl -X GET "${HARBOR_URL}/api/v2.0/projects"
 -u "${HARBOR_USER}:${HARBOR_PASSWORD}" | jq .

הגדרות הפרויקט-Level

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

אחסון Quotas

מכסות אחסון מונעות מסוחרים בודדים לצרוך שטח דיסק מורחב:

  1. לנווט בפרויקט
  2. לחץ על הכרטיסיה "Configuration"
  3. תחת "ניהול מקור", הגדר את מכסת האחסון (למשל, 100 GB)
  4. לחץ על "Save"

מדיניות Vulnerability Scanning

הגדרה של פגיעת ראייה אוטומטית סריקה עבור תמונות לדחוף לפרויקט:

  1. פרויקט "Configuration"
  2. ניתן "לצלם באופן אוטומטי על דחיפה"
  3. הגדר "תמונות פגיעות מריצה" כדי לחסום תמונות עם פרצות קריטיות
  4. סף חומרת הכותרת (למשל, חסימת תמונות עם "גבוה" או "פגיעות"

מדיניות מיקוד

מדיניות השיקום מנקה באופן אוטומטי תמונות ישנות או לא בשימוש לניהול אחסון ביעילות:

  1. ניווט לפרוייקט "Policy" tab
  2. לחץ על "Add Rule" תחת קידוד Retention
  3. קריטריונים לשימור (FLT:0) 1Repositoryתואמים דפוס (למשל, "**" לכל השרידים)
  4. חוק הכוונות (למשל, "לכבוש את עשרת החפצים האחרונים")
  5. דפוס התאמה (למשל, לא לכלול תגים "מוכיחים" ו"ייצור")
  6. לחץ על "Add" ולאחר מכן "ברח עכשיו" כדי לבדוק את המדיניות

תוכן אמון ודימויים

ניתן להבטיח רק תמונות חתום ניתן למשוך:

  1. בפרויקט "Configuration" מאפשר "אמון תוכן אמין"
  2. זה דורש תמונות כדי להיות חתום באמצעות Docker Content Trust או Cosign
  3. תמונות לא חתומות יבוטלו כאשר משתמשים מנסים למשוך אותם

ניהול גישה למשתמש ו- Permissions

ריבוי יעיל דורש ניהול זהיר של גישה למשתמש ו הרשאות כדי להבטיח הדיירים יכולים רק לגשת למשאבים המיועדים שלהם.

אסטרטגיות ניהול משתמשים

הנמל תומך במספר רב של אימותים, ומאפשר לך לבחור את הגישה המתאימה ביותר לתשתית ניהול הזהות של הארגון שלך.

ניהול משתמשים מקומי

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

  1. היכנס כמנהל
  2. ניווט ל"אישור"
  3. לחץ על "NEWER"
  4. מלא בפרטים של המשתמש (שם המשתמש, דוא"ל, שם מלא, סיסמה)
  5. לחץ על "OK"

LDAP / Active Directoryאינטגרציה

עבור פריסות ארגוניות, לשלב את הנמל עם ה-LDAP הקיים שלך או Active Directory:

  1. ניווט ל"אישור" - "ההתמדה"
  2. בחר "LDAP" כמצב אימות
  3. ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  4. (ב) DN:0 (ב) ,4 ,4 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  5. (ב) DN:0) ,4 ,9=שלך,
  6. (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  7. שם הסרטון:0.13
  8. שם מקור:0.13
  9. בדוק את הקשר
  10. לחץ על "Save"

אינטגרציה OIDC

עבור ספקי הזהות המודרניים כמו Okta, Auth0 או Keycloak:

  1. בהגדרות "הוות" בחרו "OIDC"
  2. (ב) ,UIDC פרמטרים: FLT:0) ,001:2OIDC שם ספק:2 מעלות צלזיוס:
  3. (ב) 0 (OIDC Endpoint: FLT:103) , תרגומים
  4. (ב) ,0) ,OIDC מזהה לקוח: 1FLT 1
  5. ← סוד הלקוח:0 (OIDC): 1FLT 1
  6. (ב) ,0) ,OIDC Scope:FLT:1 openid,פרופיל, דואר אלקטרוני
  7. לבדוק ולהציל

הרשמה למשתמשים לפרויקטים

ברגע שמשתמשים יושמו, להקצות אותם לפרויקטים עם תפקידים מתאימים:

  1. לנווט בפרויקט
  2. לחץ על הכרטיסיה "Members"
  3. לחץ על "USER" או "GROUP" כדי להוסיף חברים
  4. חיפוש עבור המשתמש או הקבוצה
  5. (ב) עיין ב[[1924]]: [[1924]]]]
  6. (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  7. (ב) ,0) ראשיטרינר: 1.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
  8. (ב) מיזם אדמיניסטר: 1:1 שליטה מלאה על הפרויקט
  9. לחץ על "OK"

חשבונות רובוט לשילוב CI /CD

חשבונות רובוט הם חשבונות שירות בנמל עם הרשאות ספציפיות, המשמשות לפעולות אוטומטיות כגון צינורות CI /CD לדחוף או למשוך תמונות מבלי לדרוש אישורים אנושיים.

כדי ליצור חשבון רובוט:

  1. לנווט בפרויקט
  2. לחץ על "חשבונות רובוט"
  3. לחץ על "NEW ROBOT ACCOUNT"
  4. (ב) ויקרא ט"ז: ויקרא י"א): "וַיְּהַּדָּבְתָּבְתָּבְתָּבְתָּבְתָּבְתָּבְתָּבְתָּבָר" (שם, כ"ד).
  5. (ב) ,0) , נספח: 1 (ב) , עיין בפרשת פסיקה
  6. (ב) ,0) ,[[1924]]]], [[1924]]]]]]
  7. לחץ על "ADD"
  8. העתק את הסימון שנוצר מיד (לא יוצג שוב)

השתמש בחשבון הרובוט בצנרת CI /CD שלך:

# In your CI/CD pipeline (e.g., GitLab CI, Jenkins)
docker login harbor.yourdomain.com -u 'robot$ci-pipeline-bot' -p 'TOKEN_HERE'
docker build -t harbor.yourdomain.com/team-frontend/app:${CI_COMMIT_SHA} .
docker push harbor.yourdomain.com/team-frontend/app:${CI_COMMIT_SHA}

תכונות אבטחה עבור סביבה רב-נטנטית

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

Vulnerability Scanning

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

סורק אוטומטי

סריקה אוטומטית זמינה במערכת או ברמת הפרויקט:

  1. עבור סריקה גלובלית: "Exministration" - "שירותי למידה"
  2. עבור סריקה ברמת הפרויקט: פרויקט "התאמה" - ניתן "לצלם סריקה אוטומטית על דחיפה"
  3. הגדר סריקות מתוכננות כדי לשחזר תמונות קיימות עבור פרצות חדשות

מדיניות מניעת פגיעות

מדיניות הגדרה למנוע תמונות פגיעות מלהיות מופרס:

  1. בפרויקט "Configuration" מאפשר "למציא תמונות פגיעות מריצה"
  2. הגדר את סף החומרה (למשל, "גבוה" או "קריטי")
  3. תמונות עם פרצות או מעל סף זה לא ניתן למשוך

תוצאות סריקה

כדי להציג תוצאות סריקה פגיעות:

  1. לנווט בפרויקט ו-Repository
  2. לחץ על חפץ /tag
  3. ראה את הכרטיסייה "הפגיעות" עבור תוצאות סריקה מפורטות
  4. פרטים CVE, רמות חומרה ותיקוןים זמינים

צילום ותכנים

נמל תומך בחתומה תמונות באמצעות Docker Content Trust (הלא רלוונטי) על מנת להבטיח אותנטיות והוכחה, ומדיניות המונעת תמונות בלתי מסומנות מלהיות פרוסה יכולה גם להיות מופעלת.

אמון תוכן

כדי לאפשר אמון תוכן לפרויקט:

  1. ניווט לפרויקט "Configuration"
  2. "אמון תוכן אמין"
  3. תמונות "Prevent Unsigned"

תמונות עם Docker Content Trust

# Enable Docker Content Trust
export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://harbor.yourdomain.com:4443

# Push and sign an image
docker push harbor.yourdomain.com/team-frontend/app:v1.0

# The first push will prompt you to create signing keys
# Follow the prompts to set passphrases for root and repository keys

חתום עם ה-Cosign

עבור זרימות עבודה מודרניות, השתמש ב-Cosign:

# Install Cosign
curl -O -L "https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64"
sudo mv cosign-linux-amd64 /usr/local/bin/cosign
sudo chmod +x /usr/local/bin/cosign

# Generate key pair
cosign generate-key-pair

# Sign an image
cosign sign --key cosign.key harbor.yourdomain.com/team-frontend/app:v1.0

# Verify signature
cosign verify --key cosign.pub harbor.yourdomain.com/team-frontend/app:v1.0

ביקורת ומילוי

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

עקבו אחרי Audit Logs

  1. ניווט ל"Administration"
  2. שם הספר בלועזית : FLT:0
  3. סוג (push, משוך, למחוק, ליצור וכו ')
  4. סוג משאבים (project, repository, פריטים)
  5. טווח הזמן
  6. ייבוא לניתוח חיצוני או ארכיוני

עקבו אחרי SIEM Systems

עבור תאימות ארגונית, לשלב יומני נמל עם מערכת SIEM שלך:

# Configure Harbor to send logs to syslog
# Edit harbor.yml
log:
 level: info
 external_endpoint:
 protocol: tcp
 host: syslog.yourdomain.com
 port: 514

# Restart Harbor to apply changes
docker compose down
docker compose up -d

אבטחת רשת וגישה

המונחים: HTTPS

תמיד להשתמש ב- HTTPS בייצור כדי להצפין נתונים במעבר:

  1. אישור SSL / TLS מ CA מהימן (Let's Encrypt, DigiCert וכו ')
  2. קונדרה פורט.י.ל עם נתיבי תעודה
  3. נמל התעופה Restart

חומת האש

גישה מוגבלת לנמל באמצעות כללי חומת אש:

# Allow HTTPS traffic
sudo ufw allow 443/tcp

# Allow HTTP (if needed for redirect)
sudo ufw allow 80/tcp

# Allow Notary (if using Docker Content Trust)
sudo ufw allow 4443/tcp

# Restrict access to specific IP ranges (optional)
sudo ufw allow from 10.0.0.0/8 to any port 443 proto tcp

# Enable firewall
sudo ufw enable

מקור: Multi-site Deployments

תמונות ו ⁇ ניתן לשכפל (מסונכרן) בין מקרים מרובים של רישום המבוסס על מדיניות באמצעות מסננים (repository, tag and label), והנמל באופן אוטומטי מחזר מחדש אם הוא נתקל בכל טעות, אשר ניתן להשתמש כדי לסייע לטעון, להשיג זמינות גבוהה, להקל על פריסות רב-נתונים בתרחישים היברידיים ורב-ענן.

המונחים: Replication Endpoints

מטרות Replication כוללות מקרים אחרים של נמל, Docker Hub, AWS ECR, Google GCR/GAR, Azure ACR, וכל רישום של OCI-Compliant.

כדי להגדיר מחדש את נקודת הסיום:

  1. ניווט ל"חמצון" - "Registries"
  2. לחץ על "NEW ENDPOINT"
  3. (הופנה מהדף ⁇ :0) ,5 ⁇ :2 (Provider:FLT 3: 3) בחר את סוג הרישום (הרוב, Docker Hub, AWS ECR וכו ')
  4. שם הספר בלועזית :0
  5. כתובת:0.10.13 Endpoint:Resource
  6. (ב) ,0) גישה מזהה/מזכיר: 1FLT:1 אישורי אישור
  7. בדוק את הקשר
  8. לחץ על "OK"

יצירת כללי Replication

מדיניות שכפול Define לסנכרן באופן אוטומטי תמונות:

  1. ניווט ל"התאוששות"
  2. לחץ על "NEW REPLICATION RULE"
  3. שם הספר בלועזית : [[1924]]
  4. (ב) ⁇ (ב"ד): "ה'" (במדבר כ"ד)" (במדבר כ"ד).
  5. מקור:0 (ב) מקור:
  6. מקור:0 (ב) ,9.10.1)
  7. (ב) ,0) ,(הופנה) , מקוצרת או מבוססת אירועים
  8. (ב) ויקרא י"ד: ויקרא י"ד: ויקרא י"ד, י"ד, י"ד, י"ד)
  9. לחץ על "SAVE"

שימוש במקרים של שכפול

  • (ב) ⁇ :0) ⁇ ⁇ (ב) ,ב[[1924]]]]
  • (ב) התפלגות תפוצה:0)Geographic Distribution: FLT:1 Sync תמונות לרישום אזורי עבור זמני משיכה מהירים יותר
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) הפרדה בין ייצור: ההרחבה: (FLT:1 , קידם תמונות מ-Aske to הפקה

עבודה עם נמל: זרימת עבודה מעשית

ברגע שהנמל מוגדר למגוון רחב של רב-עוצמה, הצוותים יכולים להתחיל להשתמש בו עבור זרימת העבודה של המכולה שלהם.

לדחוף תמונות לנמל

לדחוף תמונה לנמל:

# Log in to Harbor
docker login harbor.yourdomain.com

# Tag your image with Harbor registry path
docker tag myapp:latest harbor.yourdomain.com/team-frontend/myapp:v1.0

# Push the image
docker push harbor.yourdomain.com/team-frontend/myapp:v1.0

תמונות של נמל

# Log in to Harbor (if pulling private images)
docker login harbor.yourdomain.com

# Pull the image
docker pull harbor.yourdomain.com/team-frontend/myapp:v1.0

# Run the container
docker run -d harbor.yourdomain.com/team-frontend/myapp:v1.0

נמל עם Kubernetes

כדי למשוך תמונות מהנמל בקוברנטז, ליצור תמונה שמושכת סוד:

# Create a Docker registry secret
kubectl create secret docker-registry harbor-registry
 --docker-server=harbor.yourdomain.com
 --docker-username=your-username
 --docker-password=your-password
 [email protected]
 -n your-namespace

# Reference the secret in your pod spec
apiVersion: v1
kind: Pod
metadata:
 name: myapp
spec:
 containers:
 - name: myapp
 image: harbor.yourdomain.com/team-frontend/myapp:v1.0
 imagePullSecrets:
 - name: harbor-registry

Cache for חיצונית Registries

התכונה של Cache של הארבור מאפשרת לנמל לפעול כ Proxy צ'נג עבור רשם חיצוני, צמצום השימוש רוחב פס ושיפור ביצועים.

כדי להגדיר פרויקט של מטמון proxy:

  1. יצירת פרויקט חדש
  2. בחר "Proxy Cache" כסוג הפרויקט
  3. בחר את רישום היעד (Docker Hub, Quay.io וכו ')
  4. אישורי משנה אם צריך
  5. תמונות משוך דרך נמל באמצעות נתיב cache
# Instead of pulling from Docker Hub directly
docker pull nginx:latest

# Pull through Harbor proxy cache
docker pull harbor.yourdomain.com/dockerhub-proxy/library/nginx:latest

גיבוי ואסון התאוששות

הגנה על פריסת הנמל שלך והנתונים שלה הם קריטיים עבור המשכיות עסקית.

חזרה למעלה: Up Harbour Data

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

כדי לגבות את הנמל:

# Stop Harbor
cd /opt/harbor
docker compose down

# Backup the data directory
sudo tar -czf harbor-backup-$(date +%Y%m%d).tar.gz /data

# Backup the configuration
sudo cp harbor.yml harbor.yml.backup

# Backup the database (if using external database)
docker exec harbor-db pg_dump -U postgres registry > harbor-db-backup-$(date +%Y%m%d).sql

# Restart Harbor
docker compose up -d

גיבוי אוטומטי Script

#!/bin/bash
# harbor-backup.sh

BACKUP_DIR="/backup/harbor"
DATE=$(date +%Y%m%d-%H%M%S)
HARBOR_DIR="/opt/harbor"
DATA_DIR="/data"

# Create backup directory
mkdir -p $BACKUP_DIR

# Stop Harbor
cd $HARBOR_DIR
docker compose down

# Backup data volume
tar -czf $BACKUP_DIR/harbor-data-$DATE.tar.gz $DATA_DIR

# Backup configuration
cp $HARBOR_DIR/harbor.yml $BACKUP_DIR/harbor-config-$DATE.yml

# Restart Harbor
docker compose up -d

# Remove backups older than 30 days
find $BACKUP_DIR -name "harbor-*" -mtime +30 -delete

echo "Backup completed: $BACKUP_DIR/harbor-data-$DATE.tar.gz"

לוח זמנים זה עם עיפרון:

# Run backup daily at 2 AM
0 2 * * * /usr/local/bin/harbor-backup.sh >> /var/log/harbor-backup.log 2>&1

אחסון מחדש של Backup

# Stop Harbor
cd /opt/harbor
docker compose down

# Restore data directory
sudo rm -rf /data
sudo tar -xzf /backup/harbor/harbor-data-20260402.tar.gz -C /

# Restore configuration
sudo cp /backup/harbor/harbor-config-20260402.yml /opt/harbor/harbor.yml

# Restart Harbor
docker compose up -d

מעקב ואופטימיזציה של ביצועים

מעקב אחר בריאותו וביצועיו של הארבור מבטיח הפעלה אופטימלית ומסייע לזהות בעיות לפני שהם משפיעים על המשתמשים.

מעקב אחר בריאות הנמל

נמל חושף את נקודות הסיום של בדיקת הבריאות:

# Check Harbor health
curl -k https://harbor.yourdomain.com/api/v2.0/health

# Expected response
{
 "status": "healthy",
 "components": [
 {"name": "core", "status": "healthy"},
 {"name": "database", "status": "healthy"},
 {"name": "redis", "status": "healthy"},
 {"name": "registry", "status": "healthy"}
 ]
}

Prometheus metrics

נמל חושף את מדדי הפרותאוס לניטור:

# Enable metrics in harbor.yml
metric:
 enabled: true
 port: 9090
 path: /metrics

# Scrape metrics with Prometheus
curl http://harbor.yourdomain.com:9090/metrics

אופטימיזציה של טיפים

  • (FLT:0)Use SSD Storage:FLT:1 Store Harbor data on fast SSD Drive for Better I/O Performance
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) איסוף אשפה קבוע: FLT:1 תזמון איסוף אשפה קבוע כדי להחזיר את אחסון
  • (ב) ⁇ :0) ,Use proxy cache:FLT:1ua הפחתה של משיכת הרישום החיצוני על ידי צ'נג לעיתים קרובות תמונות בשימוש
  • (ב) כפלת כפל: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

אוסף Garbage

אוסף Garbage הוא תהליך של החזרת שטח אחסון על ידי הסרת נפיחות וחפצים שלא נחוצים עוד.

כדי לנהל איסוף זבל:

  1. ניווט ל"אישור" - "Garbage Collection"
  2. לחץ על "GC Now" לאוסף מיידי
  3. או לקבוע איסוף אשפה קבוע (למשל, שבועי בשעה 2 AM)

בעיות נפוצות

לא יכול לדחוף תמונות

(ב) ,0) , ⁇ : "בקרוב: גישה המבוקשת למשאב נשללת"

(ב) ויקרא י"ד:

  • בדוק את המשתמש יש מפתח או תפקיד גבוה יותר בפרויקט
  • בדיקת סיקור אחסון פרויקטים לא עלתה
  • ודא כי המשתמש הוא אותנטי: (FLT:25)
  • בדוק את שם הפרויקט ב- Image tags הקיים

שגיאות SSL

(ב) ויקרא: "בְּהִנְּקַבְתֶּם: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

(ב) ויקרא י"ד:

  • אישור CA של Docker לתעודות המובטחות של Docker
  • לקבלת אישורים חתום על ידי עצמו, העתק את CA Cert ל-FLT:26
  • שם מקור: Restart Docker daemon: FLT:27

Slow Image Push / Pull

(ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

(ב) ויקרא י"ד:

  • צפו רוחב פס רשת ושקיפות
  • ביצוע אחסון I/O
  • הגדלת ההעלאה המדומה של Docker daemon
  • שקול להשתמש בשכפול של נמל עבור קבוצות מבוזרות גיאוגרפית
  • כאבי פרוקסי אפשריים עבור לעתים קרובות למשוך תמונות חיצוניות

בעיות חיבור

(ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

(ב) ויקרא י"ד:

  • אתר אינטרנט: (FLT:28
  • בדוק את אישורי מסד הנתונים בנמל.yml
  • אתר אינטרנט: (FLT:29)
  • ודא כי מסד הנתונים יש מספיק משאבים (CPU, זיכרון, דיסק)

ההרחבה Multi-tenancy Scenarios

ניהול קבצים של לקוחות

ניתן להשתמש ב-Crowd כדי להפיץ תוכנה לכלי רכב ללקוחות חיצוניים:

  • יצירת פרויקטים נפרדים לכל לקוח
  • השתמש בחשבונות רובוט עם תאריכי תפוגה עבור גישה ללקוח
  • יישום הודעות Webhook כאשר גרסאות חדשות זמינות
  • הגדר שכפול לרישום ספציפי של לקוחות אם יש צורך
  • השתמש בכיסויי הפרויקט כדי לנהל אחסון ללקוח

ריבוי תפוצה

עבור ארגונים גלובליים, לפרוס הארבור באזורים רבים:

  • הופעות ב-Creloy Harbor בכל אזור מרכזי (US, EU, APAC)
  • שינוי דו-צדדי בין מקרים
  • השתמש איזון עומס מבוסס DNS כדי לאפשר למשתמשים להזיז את הדוגמה הקרובה ביותר
  • יישום אימות LDAP / OIDC עקבי בכל המקרים
  • מעקב ומיקום לכל המקרים

דרישות סודיות ותקנות התפטרות

עבור תעשיות מוסדרות (בריאות, מימון, ממשלה):

  • המונחים: Integrated Audilogging
  • יישום משיכת פגיעות חובה סריקה עם חסימת מדיניות
  • דרושה חתימה על כל תמונות ההפקה
  • מדיניות שימור נתונים כדי לענות על דרישות שמירת נתונים
  • השתמש LDAP / AD אינטגרציה עבור בקרת גישה מרכזית
  • תקנות רשת ומערכת חומת אש
  • בדיקות גיבוי קבועות ושיקום אסון
  • מסמך כל בקרה והליכים

Best Practices for Multi-tenant Harbor Deployments

אבטחה Best Practices

  • (ב) עיין ב-HTTP (בתרגום חופשי: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0 שינוי סיסמאות ברירת מחדל: 1) לשנות את הסיסמה הניהולית לאחר ההתקנה
  • (ב) ,0) ,Shopture: FLT:1, סריקה אוטומטית של סריקה על דחיפה
  • תמונה:0 (צילום: ⁇ ) , ⁇ ⁇
  • (FLT:0) רובוט הרובוטים של Use: FLT:1 לעולם לא להשתמש בתעודות אישיות בצנרת CI /CD
  • (ב) מהדורות של [[1924]]]]]]]] ו[[1924]]
  • (ב) ,0) עקרון זכות לפחות: 1FIRECT) משתמשים ברשאות מינימום
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

תרגול הטוב ביותר

  • (FLT:0) אסטרטגיית גיבוי פשוטה: FLT:1IR גיבויים אוטומטיים רגילים עם תהליכי שחזור נבדקים
  • (FLT:0) השימוש במשאבי משאבים:FLT:1733 אחסון, CPU, זיכרון ומדדי רשת
  • (ב) ,0) ,Set Storage מכסs: FLT:1 מונע פרויקטים בודדים מצריכת אחסון מופרז
  • (ב) ,0) מדיניות שימור: 1.FLT 1 נקה באופן אוטומטי תמונות ישנות או לא בשימוש
  • (ב) ,0) איסוף אשפה: FLT:1ure ניקוי רגיל כדי להחזיר את שטח האחסון
  • (ב) ,0) נהלי ביצוע: FLT:1 לשמור תיעוד עבור פעולות נפוצות ופתרון בעיות
  • (ב) החלמה:0) החלמה אסון: 1.FLT 1 (בפרק: 1) בודקת באופן קבוע את שיקום ותהליכי הפחתת השיקום ותהליכי הכשלונות
  • (FLT:0) תכנון Capacity: FLT:1 Monitor מגמות צמיחה ותכנון לדרגת

שיטות העבודה הטובות ביותר

  • (ב) ,0) ,Naming מוסכמות: FLT:1 , הקמנו שם עקבי לפרויקטים, מאגרי מזון ותגים
  • מבנה:0 (פרויקט: ⁇ ) פרויקט ארגן על ידי צוות, יישום או סביבה
  • מדיניות בקרת גישה:0 (FLT:1) מדיניות ברורה של מי יכול לגשת למה שיכול לגשת למה שיכול לגשת למה שיכול
  • (ב) אסטרטגיה:0) ,(Tagging: 1) השתמש בגירסה סמנטית ובתגים משמעותיים
  • (ב) ,0) תיעוד ותיעוד: צוותים של 1FLT 1ua מבינים כיצד להשתמש בנמל ביעילות
  • ניהול שינוי:0 (שינוי:00) תהליכי אישור יישום עבור שינויים בתצורה
  • (ב) ,0) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

נמל עם DevOps Ecosystem

שילוב CI/CD

דוגמה: GitLab CI CI:

stages:
 - build
 - scan
 - deploy

variables:
 HARBOR_REGISTRY: harbor.yourdomain.com
 HARBOR_PROJECT: team-frontend
 IMAGE_NAME: myapp

build:
 stage: build
 script:
 - docker login -u robot$ci-bot -p $HARBOR_TOKEN $HARBOR_REGISTRY
 - docker build -t $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$CI_COMMIT_SHA .
 - docker push $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$CI_COMMIT_SHA

scan:
 stage: scan
 script:
 - |
 # Wait for Harbor to scan the image
 sleep 30
 # Check scan results via Harbor API
 SCAN_STATUS=$(curl -u robot$ci-bot:$HARBOR_TOKEN
 "$HARBOR_REGISTRY/api/v2.0/projects/$HARBOR_PROJECT/repositories/$IMAGE_NAME/artifacts/$CI_COMMIT_SHA"
 | jq -r '.scan_overview.scan_status')
 if [ "$SCAN_STATUS" != "Success" ]; then
 echo "Vulnerability scan failed"
 exit 1
 fi

deploy:
 stage: deploy
 script:
 - kubectl set image deployment/myapp myapp=$HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$CI_COMMIT_SHA
 only:
 - main

אינטגרציה Webhook

הצגת אתרים כדי לעורר פעולות כאשר תמונות נדחפו:

  1. ניווט לפרויקט "Webhooks"
  2. לחצו על "NEW WEBHOOK"
  3. שם הספר בלועזית: (בתרגום חופשי: ⁇ ⁇ ⁇ ): ]]
  4. (ב) ,0) אירועים נבחרים (בקיצור: 0 , משיכת, הסרת, סריקה הושלמה)
  5. (ב) ,0) ,[[1924]]
  6. בדוק את האינטרנט
  7. לחץ על "contINUE"

Helm Chart Repository

נמל יכול לשמש גם כאתר גרף של Helm:

# Add Harbor as Helm repository
helm repo add myteam https://harbor.yourdomain.com/chartrepo/team-frontend
 --username your-username
 --password your-password

# Push a Helm chart to Harbor
helm package ./mychart
helm push mychart-1.0.0.tgz myteam

# Install from Harbor
helm install myapp myteam/mychart

קידום עתידי של ה-Crown Harbour Deployment

להישאר נוכחי עם עדכונים

החל מ- v2.15.0, פריטים לשחרור הארבור חתומה באופן קריפטוגרפי באמצעות Cosign כדי להבטיח אותנטיות ויושרה.תמיד לאמת את שחרורי הנמל לפני שדרוג:

# Download Harbor release and signature
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz.sigstore.json

# Verify signature
cosign verify-blob
 --bundle harbor-offline-installer-v2.15.0.tgz.sigstore.json
 --certificate-oidc-issuer https://token.actions.githubusercontent.com
 --certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$'
 harbor-offline-installer-v2.15.0.tgz

שיקולים

ככל שהארגון שלך גדל, חשוב:

  • (ב) ,0) ,Horizontal קנה: 1FLT:1 , מספר מקרי הרים עם איזון עומס
  • (FLT:0)External Database: FLT:1 השתמש ב- PostgreSQL לניהול דרוגנות ואמינות טובים יותר
  • (ב) ,0) רדיס: 1FLT (השתמש ב- Redis או Redis) עבור צ'ינג
  • (FLT:0)Object Storage: FLT:1 השתמש ב-S3, Azure Blob, או GCS לאחסון תמונות במקום בדיסק המקומי
  • אינטגרציה:0CDN: שימוש ב- CDN עבור הפצת תמונות גלובלית

מקרים של שימוש

נמל תמיד היה שותף, כלומר הוא יכול לאחסן ולהפיץ כל חפץ התואם את מפרט ההפצה של OCI, ואת התגברות של OCI פירושה שמודלים של AI יכולים עכשיו למנף את אותה תשתית עם אותה אבטחה, ממשל, וגרות מבצעית.

  • (FLT:0) AI/ML Model Index: FLT:1 Storing and distributing Machine Learning Models as OCI פריטים
  • (ב) ,0) מודולים:0(WASMמודולים:FLT:1) דיסמברלי מודולים
  • (ב) ,0) ,חוק חומרים (SBOMrea): LT 1 סטורינג וניהול SBOMs לצד תמונות
  • (ב) ,0) מהדורות של מהדורות: דיסיפוי: 1 דיסטריוט מדיניות OPA ופריטים אחרים לתצורה

מסקנה

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

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

הצעות עיקריות ל-Acctant Harbor Multi-tenancy:

  • (ב) פרויקטים הם הבסיס: FLT:1Build, להשתמש בפרויקטים ליצירת חללי שם מבודדים עבור דיירים שונים
  • (ב) סודיות היא חובה: ⁇ 1 , סורק פגיעות, תמונה חתימה, ו- ביקורת מקיפה
  • (FLT:0) ההנעה חיונית: FLT:1 השתמש בחשבונות רובוט, Webhooks ושילוב API עבור זרימת עבודה CI /CD
  • (ב) ויקרא י"א: ויקרא י"ד: ויקרא י"ד, ויקרא י"ד,
  • (ב) ,0) הישארו מעורבים: אנדרט 1 הצטרף לקהילה של הנמל, הישארו נוכחיים עם עדכונים, ותורמים חזרה

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

(ב) לקבלת מידע ומשאבים נוספים, בקר באתר האינטרנט הרשמי של נמל התעופה (FLT:0) 1:1, לחקור את ה-FLT:2GitHub repositoryFLT 3, להצטרף לקהילה ב-Slack, ולייעץ עם ה-FLT 4:5 קהילת הנמל פעילה, בברכה, ומוכנים לעזור לך להצליח עם פריסת המכפלה שלך.