התקנה באמצעות תוסף GKE
בדף הזה מוסבר איך להתקין את Config Connector באשכול Google Kubernetes Engine (GKE) באמצעות התוסף GKE.
פרטים על כל אפשרות התקנה, כולל היתרונות והחסרונות שלה, זמינים במאמר בחירת סוג התקנה.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את המשימות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז לאתחל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
בוחרים פרויקט Google Cloud או יוצרים פרויקט חדש להתקנת Config Connector.
אם התקנתם בעבר את Config Connector באופן ידני, תצטרכו להסיר אותו לפני שתתקינו את התוסף Config Connector:
התקנת התוסף Config Connector
כדי להשתמש בתוסף Config Connector, צריך ליצור אשכול GKE חדש או להפעיל אותו באשכול קיים. אחרי שמתקינים את התוסף Config Connector, מגדירים את ההתקנה של Config Connector באמצעות חשבונות השירות של Google ומרחבי השמות.
דרישות
יש דרישות מסוימות לתוסף Config Connector:
צריך להשתמש בגרסת GKE של:
- 1.15.11-gke.5 ואילך
- 1.16.8-gke.8 ואילך
- 1.17.4-gke.5 ואילך
צריך להפעיל מאגר זהויות של עומסי עבודה וKubernetes Engine Monitoring באשכולות שבהם מפעילים את Config Connector.
הגדרת אשכול GKE
אפשר להשתמש בתוסף Config Connector באשכול חדש או באשכול קיים.
יצירת אשכול חדש עם התוסף Config Connector מופעל
אפשר ליצור אשכול GKE באמצעות ה-CLI של gcloud או מסוףGoogle Cloud .
gcloud
כדי ליצור אשכול באמצעות Google Cloud CLI, מריצים את הפקודה הבאה:
gcloud container clusters create CLUSTER_NAME \
--release-channel CHANNEL \
--addons ConfigConnector \
--workload-pool=PROJECT_ID.svc.id.goog \
--logging=SYSTEM \
--monitoring=SYSTEM
מחליפים את מה שכתוב בשדות הבאים:
- CLUSTER_NAME בשם של אשכול GKE.
- CHANNEL עם ערוץ הפצה של GKE,
rapidו-regularנתמכים. - PROJECT_ID במזהה הפרויקט ב- Google Cloud .
מסוף Google Cloud
כדי ליצור אשכול באמצעות Google Cloud המסוף, מבצעים את השלבים הבאים:
נכנסים לדף Create a Kubernetes cluster במסוף Google Cloud .
בקטע Cluster basics (הגדרות בסיסיות של האשכול), מציינים Name (שם) ומיקום לאשכול.
בחלונית הניווט, לוחצים על הגדרות מתקדמות.
בשורה Workload Identity, לוחצים על edit Edit configuration, מסמנים את התיבה Enable Workload Identity ואז לוחצים על Save.
בשורה Config Connector, מסמנים את התיבה Quick enable (הפעלה מהירה).
אופציונלי: מגדירים את שאר האשכול לפי הצורך.
לוחצים על יצירה.
אחרי שיוצרים את האשכול, עוברים אל יצירת זהות.
הפעלת התוסף Config Connector באשכול קיים
אפשר להפעיל את התוסף Config Connector באשכול GKE קיים באמצעות gcloud או מסוף Google Cloud .
דרישות מוקדמות
כדי להפעיל את התוסף Config Connector באשכול קיים, צריך לוודא שמתקיימים התנאים הבאים:
- צריך אשכול שעומד בדרישות של התוסף Config Connector.
מגדירים איחוד זהויות של עומסי עבודה ל-GKE באשכול שבו רוצים להתקין את Config Connector.
כדי להפעיל איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE עבור מאגר צמתים, משתמשים בכלי gcloud של שורת הפקודה:
gcloud container node-pools update NODE_POOL \
--workload-metadata=GKE_METADATA \
--cluster CLUSTER_NAME
מחליפים את מה שכתוב בשדות הבאים:
- NODE_POOL בשם של מאגר הצמתים
- CLUSTER_NAME בשם של האשכול
הפעלת התוסף Config Connector
אפשר להפעיל את התוסף Config Connector באשכול GKE קיים באמצעות Google Cloud CLI או Google Cloud המסוף.
gcloud
כדי להפעיל את התוסף Config Connector באשכול GKE קיים, משתמשים ב-Google Cloud CLI:
gcloud container clusters update CLUSTER_NAME \
--update-addons ConfigConnector=ENABLED
מחליפים את CLUSTER_NAME בשם של אשכול GKE.
מסוף Google Cloud
עוברים לתפריט Google Kubernetes Engine במסוף Google Cloud .
בוחרים את האשכול שרוצים להתקין בו את Config Connector. יופיע הדף Cluster Details.
בקטע Features (תכונות), מאתרים את השורה Config Connector ולוחצים על Edit (עריכה).
מסמנים את התיבה Enable Config Connector (הפעלת Config Connector) ולוחצים על Save Changes (שמירת השינויים) כדי לעדכן את האשכול.
יצירת זהות
Config Connector יוצר ומנהל Google Cloud משאבים באמצעות אימות עם חשבון שירות של ניהול זהויות והרשאות גישה (IAM) ושימוש באיחוד זהויות של עומסי עבודה ל-GKE כדי לקשר חשבונות שירות של IAM עם חשבונות שירות של Kubernetes.
כדי ליצור את הזהות, מבצעים את השלבים הבאים:
יוצרים חשבון שירות ב-IAM. אם רוצים להשתמש בחשבון שירות קיים, אפשר להשתמש בו ולדלג על השלב הזה:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAMEמחליפים את הערך SERVICE_ACCOUNT_NAME בשם שרוצים לתת לחשבון השירות.
למידע נוסף על יצירת חשבונות שירות, אפשר לעיין במאמר יצירה וניהול של חשבונות שירות.
נותנים לחשבון השירות ב-IAM הרשאות מורחבות בפרויקט:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"מחליפים את PROJECT_ID במזהה הפרויקט.
יוצרים קשר בין מדיניות IAM לבין חשבון השירות של IAM וחשבון השירות המוגדר מראש של Kubernetes שדרכו מופעל Config Connector:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \ --role="roles/iam.workloadIdentityUser"
הגדרת Config Connector
כדי להשלים את ההתקנה, יוצרים קובץ תצורה עבור ConfigConnector
CustomResource ואז מפעילים אותו באמצעות הפקודה kubectl apply. ה-Operator של Config Connector מתקין CRD של משאביםGoogle Cloud ורכיבים של Config Connector באשכול.
כדי להגדיר את האופרטור במצב אשכול, מבצעים את השלבים הבאים:
-
מעתיקים את קובץ ה-YAML הבא לקובץ בשם
configconnector.yaml: מחליפים את מה שכתוב בשדות הבאים:# configconnector.yaml apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnector metadata: # the name is restricted to ensure that there is only one # ConfigConnector resource installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: cluster googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec` # annotation to `absent` for all Config Connector resources created in the cluster in the future. # It prevents Config Connector from populating unspecified fields into the spec. stateIntoSpec: Absent
-
SERVICE_ACCOUNT_NAMEבשם של חשבון השירות. PROJECT_IDבמזהה הפרויקט.
-
-
מחילים את ההגדרה על האשכול באמצעות הפקודה
kubectl apply:kubectl apply -f configconnector.yaml
ציון המקום שבו רוצים ליצור את המשאבים
Config Connector יכול לארגן משאבים לפי פרויקט, תיקייה או ארגון, בדיוק כמו ב- Google Cloud.
לפני שיוצרים משאבים באמצעות Config Connector, צריך להגדיר איפה ליצור את המשאבים. כדי לקבוע איפה ליצור את המשאב, Config Connector משתמש בהערה בתצורת המשאב או במרחב שמות קיים. מידע נוסף מופיע במאמר ארגון משאבים.
אם אין לכם מרחב שמות למטרה הזו, יוצרים אותו באמצעותkubectl.
kubectl create namespace NAMESPACE
מחליפים את NAMESPACE בשם מרחב השמות. לדוגמה
config-connector.
בוחרים כרטיסייה כדי להגדיר איפה רוצים ש-Config Connector ייצור משאבים.
פרויקט
כדי ליצור משאבים בפרויקט מסוים, מריצים את הפקודה הבאה:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACEמחליפים בשם מרחב השמות. PROJECT_IDבמזהה הפרויקט ב- Google Cloud .
תיקייה
כדי ליצור משאבים בתיקייה מסוימת, מריצים את הפקודה הבאה:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACEמחליפים בשם מרחב השמות. FOLDER_IDבמזהה התיקייה Google Cloud .
ארגון
כדי ליצור משאבים בארגון מסוים, מריצים את הפקודה הבאה:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACEמחליפים בשם מרחב השמות. ORGANIZATION_IDGoogle Cloud במזהה הארגון.
כשמוסיפים הערה למרחב השמות, Config Connector יוצר משאבים בפרויקט, בתיקייה או בארגון המתאימים. מידע נוסף על השימוש של Config Connector במרחבי שמות של Kubernetes זמין במאמר בנושא מרחבי שמות של Kubernetes ופרויקטים של Google Cloud .
אימות ההתקנה
Config Connector מריץ את כל הרכיבים שלו במרחב שמות בשם cnrm-system.
כדי לוודא שה-Pods מוכנים, מריצים את הפקודה הבאה:
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
אם Config Connector מותקן בצורה נכונה, הפלט ייראה כך:
pod/cnrm-controller-manager-0 condition met
שדרוג של Config Connector
השדרוגים של תוסף Config Connector באשכול מנוהלים על ידי Google Cloud.
המשאבים באשכול נשמרים בכל פעם שמתבצע שדרוג.
מידע על האופן שבו Google Cloud מתבצעים שדרוגים של התוסף Config Connector, או אפשר לדלג אל הוראות להשגת הגרסה העדכנית של Config Connector.
איך Google Cloud מנהלים שדרוגים של התוסף Config Connector
הגרסה של Config Connector שאשכול GKE מקבל תלויה באופן מלא בגרסת המשנה של GKE באשכול. לדוגמה:
| גרסה משנית של GKE | גרסת Config Connector |
|---|---|
| 1.20 | 1.69.0 |
| 1.21 | 1.69.0 |
| 1.22 | 1.71.0 |
| 1.23 | 1.82.0 |
| 1.24 | 1.89.0 |
כשהגרסאות עומדות בדרישות, Google Cloud המיפוי של הגרסאות המשניות החדשות ביותר של GKE מתבצע מחדש לגרסה חדשה של Config Connector. העדכון הזה מתבצע לכל הגרסאות המשניות של GKE שהן חדשות מספיק כדי לא להיות זמינות בערוצי ההפצה הרגילים או היציבים.
מכיוון שהגרסה של Config Connector שמתקבלת באשכול תלויה בגרסה המשנית של GKE של האשכול, יש שני מקרים שבהם התוסף Config Connector של האשכול משודרג אוטומטית על ידי Google Cloud:
האשכול משודרג לגרסה משנית חדשה של GKE שממופה לגרסה חדשה יותר של Config Connector.
האשכול נמצא בגרסה משנית של GKE שהיא חדשה מספיק כדי לא להיות זמינה בערוצי ההפצה Regular או Stable, ו-Google Cloud ממפה מחדש את הגרסה המשנית של GKE לגרסה חדשה של Config Connector.
כש- Google Cloud ממפה מחדש גרסה משנית של GKE ומשדרג אשכולות קיימים לגרסה חדשה של Config Connector, אומרים שהוא "משיק גרסה חדשה של Config Connector" לגרסה המשנית של GKE.
Google Cloud לא משיקים גרסאות חדשות של Config Connector לגרסאות משניות של GKE שהן ישנות מספיק כדי להיות זמינות בגרסאות של ערוצי ההפצה Regular או Stable, מסיבות שקשורות ליציבות, אלא במצבי חירום שבהם זוהתה בעיה נרחבת.
איך מורידים את הגרסה העדכנית של Config Connector
כדי לוודא שאתם משתמשים בגרסה הכי עדכנית של Config Connector, מומלץ להתקין את Config Connector ולשדרג אותו באופן ידני. התקנה ידנית מאפשרת שליטה ישירה בגרסה, ושימוש בפיצ'רים ובתיקונים החדשים ביותר ברגע שהם זמינים.
כדי לעבור מתוסף Config Connector להתקנה ידנית, פועלים לפי ההוראות למעבר מתוסף Config Connector להתקנה ידנית.
הגרסה של Config Connector שמותקנת דרך התוסף Config Connector לרוב מפגרת עד 12 חודשים או יותר. למרות ש-Config Controller עדכני יותר מהתוסף, יכול להיות שהוא עדיין לא יכלול את הגרסה האחרונה בהשוואה להתקנה ידנית.
הסרת Config Connector
כדי להסיר את Config Connector, מבצעים את השלבים הבאים:
משתמשים בפקודה
kubectl deleteכדי להסיר את ה-CRD של Config Connector יחד עם רכיבי הבקרה:kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=trueמשביתים את התוסף Config Connector באשכול באמצעות ה-CLI של gcloud או מסוף Google Cloud :
gcloud
כדי להשבית את התוסף Config Connector באמצעות
gcloud, מריצים את הפקודה הבאה:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLEDמחליפים את CLUSTER_NAME בשם של האשכול שבו מותקן התוסף Config Connector.
מסוף Cloud
כדי להשבית את התוסף Config Connector במסוף Google Cloud :
עוברים לדף Google Kubernetes Engine Clusters במסוף Google Cloud ובוחרים את האשכול שרוצים לעדכן.
לוחצים על Edit. מופיע המסך 'עריכת אשכולות'.
לוחצים על תוספים.
בוחרים באפשרות Config Connector ואז באפשרות Disabled (מושבת).
לוחצים על שמירה כדי לעדכן את האשכול.
המאמרים הבאים
- איך מתחילים להשתמש ב-Config Connector
- פתרון בעיות ב-Config Connector