הגדרת פרטי כניסה מוכנים מראש לאשכול אדמין

במאמר הזה מוסבר איך להגדיר פרטי כניסה מוכנים מראש עבור אשכול אדמין ב-Google Distributed Cloud.

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

שימו לב למגבלה הבאה בנוגע לאשכולות מתקדמים:

  • גרסה 1.31: אין תמיכה בפרטי כניסה מוכנים מראש באשכולות מתקדמים.
  • גרסה 1.32 ואילך: יש תמיכה בהכנת פרטי כניסה באשכולות מתקדמים.

סקירה כללית של התהליך

  1. ממלאים קובץ תצורה של סודות.

  2. בקובץ התצורה של אשכול האדמין, מגדירים את הערך enabled ל-true.

  3. מריצים את gkectl prepare

  4. יוצרים את אשכול האדמין.

מילוי קובץ התצורה של הסודות

יוצרים תבנית לקובץ תצורה של סודות:

gkectl create-config secrets

הפקודה הקודמת יוצרת קובץ בשם secrets.yaml. אפשר לשנות את השם והמיקום של הקובץ.

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

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

apiVersion: v1
kind: ClusterSecrets
secretGroups:
- secrets
  vCenter:
    username: "my-vcenter-account"
      password: "U$icUKEW#INE"
    componentAccessServiceAccount:
      serviceAccountKeyPath: "my-key-folder/component-access-key.json"
    registerServiceAccount:
      serviceAccountKeyPath: "my-key-folder/connect-register-key.json"
    stackdriverServiceAccount:
      serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
    cloudAuditLoggingServiceAccount:
      serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

קובץ התצורה של אשכול האדמין

יוצרים קובץ תצורה של אשכול אדמין כמו שמתואר במאמר יצירת אשכול אדמין.

בקובץ התצורה של אשכול האדמין, מגדירים את preparedSecrets.enabled ל-true:

preparedsecrets:
  enabled: true

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

  • vCenter.credentials.fileRef.path
  • componentAccessServiceAccountKeyPath
  • loadBalancer.f5BigIP.credentials.fileRef.path
  • gkeConnect.registerServiceAccountKeyPath
  • stackdriver.serviceAccountKeyPath
  • cloudAuditLogging.serviceAccountKeyPath
  • privateRegistry.credentials.fileRef.path

אתחול הסביבה

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

gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

מחליפים את מה שכתוב בשדות הבאים:

  • ADMIN_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול האדמין

  • SECRETS_CONFIG: הנתיב של קובץ התצורה של Secrets

יצירת אשכול האדמין

יוצרים את אשכול האדמין:

gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

מחליפים את מה שכתוב בשדות הבאים:

  • ADMIN_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול האדמין

  • SECRETS_CONFIG: הנתיב של קובץ התצורה של Secrets

עדכון של פרטי הכניסה

כדי להחליף את פרטי הכניסה, צריך קובץ תצורה של סודות. יש שתי גישות שאפשר לנקוט:

  • מריצים את הפקודה gkectl create-config secrets כדי ליצור קובץ תצורה חדש של Secrets. ממלאים את הקובץ במפתחות חדשים של חשבונות שירות.

  • יוצרים קובץ תצורה של Secrets מאשכול האדמין. לאחר מכן מחליפים את מפתחות חשבונות השירות שנבחרו במפתחות חדשים.

    כדי ליצור קובץ תצורה של Secrets מאשכול האדמין:

    gkectl get-config admin --export-secrets-config \
      --bundle-path BUNDLE \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    מחליפים את מה שכתוב בשדות הבאים:

    • BUNDLE: הנתיב של קובץ החבילה של Google Distributed Cloud

    • ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ ה-kubeconfig של אשכול האדמין

מעדכנים את פרטי הכניסה:

gkectl update credentials CREDENTIAL_TYPE \
    --config ADMIN_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --secret-config SECRETS_CONFIG \
    --admin-cluster

מחליפים את מה שכתוב בשדות הבאים:

  • CREDENTIAL_TYPE: אחת מהאפשרויות הבאות: vsphere, f5bigip,‏ privateregistry, ‏ componentaccess, ‏ register, ‏ stackdriver, ‏ cloudauditlogging.

  • ADMIN_CLUSTER_CONFIG: הנתיב של קובץ ההגדרות של אשכול האדמין

  • ADMIN_CLUSTER_KUBECONFIG: הנתיב לקובץ kubeconfig של אשכול האדמין

  • SECRETS_CONFIG: הנתיב של קובץ התצורה של Secrets

עדכון

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

אבל אם רוצים להפעיל את Cloud Logging ו-Cloud Monitoring או את יומני הביקורת של Cloud כחלק מהעדכון, צריך לבצע את השלבים הבאים:

  1. יוצרים קובץ תצורה של סודות.

  2. בקובץ התצורה של Secrets, מציינים ערכים ל-stackdriverServiceAccount.serviceAccountKeyPath ול-cloudAuditLoggingServiceAccount.serviceAccountKeyPath או לשניהם.

  3. מעדכנים את האשכול:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --config ADMIN_CLUSTER_CONFIG \
      --secret-config SECRETS_CONFIG