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

בדף הזה מוסבר איך להגדיר משאבי קונטיינר ועותקים משוכפלים (רפליקות) עבור בקרי Config Connector.

הגדרת הקצאת משאבים עבור מאגר של בקר Config Connector

ב-Config Connector בגרסה 1.106 ואילך, אפשר להגדיר את משאבי המעבד והזיכרון (RAM) שמוקצים לקונטיינר ב-Pod של בקר Config Connector. אפשר להגדיר את הבקרים הבאים:

  • cnrm-webhook-manager
  • cnrm-controller-manager
  • cnrm-deletiondefender
  • cnrm-resource-stats-recorder
  • cnrm-unmanaged-detector (Config Connector גרסה 1.108 ואילך)

יש שני סוגים של משאבים בהתאמה אישית שמשמשים להגדרה: ControllerResource ו-NamespacedControllerResource.

שימוש ב-ControllerResource לרכיבים בהיקף האשכול

משתמשים במשאב המותאם אישית ControllerResource כדי להגדיר משאבים לרכיבי Config Connector שפועלים כפריסות בהיקף אשכול.

הרכיבים הבאים תמיד מוגבלים לאשכול, גם כש-Config Connector מותקן במצב של מרחב שמות:

  • cnrm-webhook-manager
  • cnrm-deletiondefender
  • cnrm-resource-stats-recorder
  • cnrm-unmanaged-detector

ה-cnrm-controller-manager הוא גם ברמת האשכול כש-Config Connector מותקן במצב אשכול.

לדוגמה, כדי להגדיר את בקשת הזיכרון ואת מגבלת הזיכרון של מאגר webhook של בקר cnrm-webhook-manager, יוצרים ומחילים את קובץ ה-YAML הבא:

apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
kind: ControllerResource
metadata:
  name: cnrm-webhook-manager
spec:
  containers:
    - name: webhook
      resources:
        limits:
          memory: 512Mi
        requests:
          memory: 256Mi

שימוש ב-NamespacedControllerResource עבור מנהל הבקרה של מרחב השמות

משתמשים במשאב המותאם אישית NamespacedControllerResource רק כדי להגדיר משאבים עבור cnrm-controller-manager כש-Config Connector פועל במצב עם מרחבי שמות.

ההגדרה של משאבי מאגר עבור בקר עם מרחב שמות מופעלת ב-Config Connector מגרסה 1.108 ואילך.

קובץ ה-YAML הבא מציג הגדרה לדוגמה:

apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
kind: NamespacedControllerResource
metadata:
  name: cnrm-controller-manager # name should not contain the namespace ID suffix
  namespace: NAMESPACE
spec:
  containers:
    - name: manager
      resources:
        limits:
          cpu: 200m
          memory: 512Mi
        requests:
          cpu: 100m
          memory: 256Mi

מחליפים את NAMESPACE בשם של מרחב השמות.

הגדרת רפליקות ל-Pod של בקר Config Connector

ב-Config Connector בגרסה 1.107 ואילך, אפשר להגדיר את מספר הרפליקות של בקר Config Connector. אפשר להגדיר רק את cnrm-webhook-manager.

לדוגמה, השלבים הבאים מראים איך להגדיר את מספר הרפליקות של בקר cnrm-webhook-manager ל-3.

  1. יוצרים קובץ בשם configure-webhook-manager.yaml ומעתיקים אליו את קוד ה-YAML הבא:

    apiVersion: customize.core.cnrm.cloud.google.com/v1beta1
    kind: ControllerResource
    metadata:
      name: cnrm-webhook-manager
    spec:
      replicas: 3
      containers:
        - name: webhook
          resources:
            limits:
              memory: 512Mi
            requests:
              memory: 256Mi
    
  2. משתמשים בפקודה kubectl apply כדי להחיל את התצורה ששונתה על האשכול:

    kubectl apply -f configure-webhook-manager.yaml
  3. מריצים את הפקודה הבאה כדי לוודא שההגדרה בוצעה בהצלחה.

    kubectl get controllerresource cnrm-webhook-manager -o jsonpath='{.status.healthy}'

    השדה status.healthy צריך להיות מוגדר לערך true.

  4. מוודאים שיש 3 Pods של webhook באשכול.

    kubectl get pods -n cnrm-system -l cnrm.cloud.google.com/component=cnrm-webhook-manager

    יצירה מחדש של ה-Pods יכולה להימשך כמה דקות.

ביטול שינויים בהגדרות במשאבי מאגר וברפליקות

משתמשים בפקודה kubectl delete כדי למחוק את המשאבים המותאמים אישית ControllerResource שהגדרתם. אחרי המחיקה, האופרטור של Config Connector יוצר מחדש את הבקרים עם משאבי ברירת המחדל של הקונטיינר והרפליקות.

kubectl delete -f configure-webhook-manager.yaml