פריסת Kubernetes
לייצור מנוהל או מדורג, ה-backend של RedCloud רץ על Kubernetes.
ה-manifest k8s/deployment.yaml מגדיר שלושה אובייקטים ל-backend. PostgreSQL ושרת הרישוי מסופקים חיצונית במודל הזה, וה-Secrets וה-ServiceAccount הנדרשים נוצרים על ידכם.
מה ה-manifest יוצר
Section titled “מה ה-manifest יוצר”| אובייקט | פרטים |
|---|---|
Deployment redcloud | 2 replicas, תמונה redcloud/cspm:latest, פורט קונטיינר 9900. משתמש ב-service account של Workload Identity (redcloud-vertex-ksa) הקשור ל-SA של GCP עבור Vertex AI. הסביבה מגיעה מה-Secret redcloud-secrets. מבקש 512Mi / 250m, מגביל 2Gi / 1000m. בדיקות liveness ו-readiness פונות ל-/health. |
Service redcloud | ClusterIP, פורט 80 → targetPort 9900. |
PersistentVolumeClaim redcloud-scans-pvc | ReadWriteOnce, 10Gi, ממופה ל-/app/out לפלט הסריקה. |
מה אתם מספקים
Section titled “מה אתם מספקים”האובייקטים האלה מופנים מה-manifest אך נוצרים בנפרד:
| אובייקט | מטרה |
|---|---|
Secret redcloud-secrets | כל תצורת הסביבה (ראו תצורה) — HMAC_KEY, API_KEY, ENCRYPTION_KEY, DATABASE_URL, רישיון וכו’. |
Secret gcp-sa-key | מפתח Service Account של GCP, ממופה בקריאה-בלבד ל-/app/credentials. |
ServiceAccount redcloud-vertex-ksa | SA של Kubernetes המחובר ל-SA של GCP דרך Workload Identity (למשל roles/aiplatform.user). |
| PostgreSQL 16 | נגיש דרך ה-DATABASE_URL שב-redcloud-secrets (שירות מנוהל או בתוך הקלאסטר). |
| שרת רישוי | נגיש דרך LICENSE_SERVER_URL (HTTPS בייצור). |
# צרו את הסודות תחילה (דוגמה — השתמשו בניהול הסודות שלכם)kubectl create secret generic redcloud-secrets --from-env-file=.envkubectl create secret generic gcp-sa-key --from-file=sa-key.json=./credentials/sa-key.json
# החילו את ה-manifest של ה-backendkubectl apply -f k8s/deployment.yaml
# חשפו אותו (Ingress / Gateway לפני ה-Service מסוג ClusterIP)kubectl get pods -l app=redcloudהציבו את ה-Service redcloud מאחורי ה-Ingress / load balancer שלכם, עם סיום TLS שם. אם אתם משתמשים ב-Google Cloud IAP, הגדירו את משתני הסביבה של IAP ואת ה-audience של ה-backend (ראו תצורה).
הערות ומגבלות
Section titled “הערות ומגבלות”- ה-manifest המצורף מכסה את ה-backend בלבד; הביאו PostgreSQL, שרת רישוי ו-Ingress משלכם.
- פלט הסריקה משתמש ב-PVC יחיד מסוג ReadWriteOnce; התאימו את גודלו לנפח הסריקות ולשמירה.