שימוש במאגר תמונות פרטי עם apigeectl

אם אתם משתמשים בתרשימי Helm כדי לנהל את Apigee Hybrid, כדאי לעיין במאמר בנושא שימוש במאגר תמונות פרטי עם תרשימי Helm.

במסמך הזה מוסבר איך להגדיר את Apigee Hybrid כך שישתמש בקובצי אימג' של קונטיינר ממאגר פרטי של קובצי אימג' של קונטיינר.

סקירה כללית

כל תמונות זמן הריצה של Apigee Hybrid מתארחות ב- Google Cloud Container Registry ‏ (GCR). אם מסיבה כלשהי אתם רוצים להשתמש במאגר פרטי של קונטיינרים של תמונות, אתם יכולים להוריד את התמונות מ-GCR, להעלות אותן למאגר הפרטי ולשנות את מיקומי התמונות שמוגדרים כברירת מחדל בקובץ overrides.yaml.

שלבי ההגדרה

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

  1. מעבירים את תמונות Apigee hybrid מ-GCR למאגר הפרטי. מומלץ להשתמש בכלי apigee-push-pull כדי לבצע את השלב הזה.

    אם אתם מעדיפים לבצע את השלב הזה באופן ידני, אתם צריכים להתקין את Docker ולהשתמש בפקודה docker pull כמו שמוצג בהמשך. חשוב להוסיף את התג הנכון לכל שם תמונה. לדוגמה, התג של apigee-synchronizer הוא 1.11.2, כמו שמוצג בהמשך.

    1. כדי לקבל רשימה עדכנית של כל התמונות בפרויקט הנוכחי, משתמשים באפשרות --list של כלי השירות apigee-pull-push.sh בספרייה apigeectl/tools/:
      apigee-pull-push.sh --list
    2. הפלט אמור להיראות כך:

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.11.2
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-runtime:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.11.2
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.11.2
              gcr.io/apigee-release/hybrid/apigee-udca:1.11.2
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.11.2
              gcr.io/apigee-release/hybrid/apigee-watcher:1.11.2
              gcr.io/apigee-release/hybrid/apigee-operators:1.11.2
              gcr.io/apigee-release/hybrid/apigee-installer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-redis:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.11.2
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.11.2
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.5
              gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.52.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.18.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.12.0
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:3.0.3
      
    3. משתמשים בפקודה docker pull כדי לשלוף את התמונות שדרושות למרחבי השמות apigee-system ו-apigee. לדוגמה:
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.11.2

      ברשימה הבאה מפורטות התמונות שנדרשות לכל מרחב שמות:

      מרחב שמות apigee-system

      • apigee-installer
      • apigee-kube-rbac-proxy
      • apigee-operators

      מרחב השמות של apigee

      • apigee-asm-ingress
      • apigee-asm-istiod
      • apigee-cassandra-backup-utility
      • apigee-connect-agent
      • apigee-diagnostics-collector
      • apigee-diagnostics-runner
      • apigee-envoy
      • apigee-fluent-bit
      • apigee-hybrid-cassandra-client
      • apigee-hybrid-cassandra
      • apigee-mart-server
      • apigee-prom-prometheus
      • apigee-prometheus-adapter
      • apigee-redis
      • apigee-runtime
      • apigee-stackdriver-logging-agent
      • apigee-stackdriver-prometheus-sidecar
      • apigee-synchronizer
      • apigee-udca
      • apigee-watcher
    4. אחרי שמושכים את התמונות ומתייגים אותן, מעלים אותן למאגר הפרטי. מידע נוסף זמין במאמר בנושא docker push.
  2. יוצרים סוד של Kubernetes במרחבי השמות apigee ו-apigee-system.

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

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

    kubectl create secret docker-registry SECRET_NAME -n apigee-system \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"

    כדי ליצור Secret במרחב השמות apigee:

    kubectl create secret docker-registry SECRET_NAME -n apigee \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"
  3. מוסיפים את הסוד לקובץ overrides.yaml. הסבר על יצירת קובץ ההחלפות מופיע בשלבי ההתקנה ההיברידית. פרטים נוספים זמינים במאמר הגדרת האשכול.
    imagePullSecrets:
      - name: SECRET_NAME
  4. מעדכנים את קובץ overrides.yaml עם כתובות URL של תמונות שמאוחסנות במאגר הפרטי. לכל רכיב שמאוחסן במאגר יש רכיב image:url. משתמשים ברכיב הזה כדי לציין את כתובת ה-URL של כל תמונה ברכיב. לדוגמה:
    mart:
      serviceAccountPath: /installdir/hybrid-files/service-accounts/hybrid-apigee-non-prod.json
      image:
        url: my-docker.pkg.dev/hybrid-1/registry-name/apigee-mart-server

    צריך לפעול לפי התבנית הזו כדי לעדכן כל רכיב היברידי ברמה העליונה בקובץ overrides.yaml עם כתובת ה-URL של תמונת המאגר הפרטי שלו. דוגמה מלאה לקובץ ביטול מסופקת עם ההתקנה ההיברידית בספרייה $APIGEECTL_HOME/examples/private-overrides.yaml.

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

התקנת cert-manager ממאגר פרטי

כדי להתקין את cert-manager מהמאגר הפרטי, אפשר לעיין במאמר בנושא התקנה באמצעות Helm. חשוב להתקין את אותה הגרסה של cert-manager שצוינה בהוראות להתקנת Apigee hybrid כדי להבטיח תאימות.