במאמר הזה מוסבר איך מציינים אובייקטים של vSphere בקובצי תצורה של אשכולות, כשתצורת vCenter מכילה תיקיות ראשיות. בנוסף, הוא מתעד את כללי השמות שחלים על אימותי קדם-הפעלה החל מגרסה 1.13.0.
בהנחה שהגדרת vCenter הבאה מציינת את הנתיב משורש vCenter לאובייקט הספציפי
מארחים ואשכולות |
מכונות וירטואליות ותבניות |
אחסון |
רשת |
|---|---|---|---|
my-vcenter
my-datacenter-folder
my-datacenter
my-cluster-folder
my-cluster
my-resourcepool
|
my-vcenter
my-datacenter-folder
my-datacenter
my-vm-folder
|
my-vcenter
my-datacenter-folder
my-datacenter
my-storage-folder
my-datastore
|
my-vcenter
my-datacenter-folder
my-datacenter
my-network-folder
my-portgroup
|
כדי ליצור אשכול Anthos ב-my-resource-pool וב-my-vm-folder באמצעות my-datastore ו-my-portgroup, מציינים את ההגדרה הבאה של אשכול האדמין:
vCenter:
address: "my-vcenter"
datacenter: "my-datacenter-folder/my-datacenter"
cluster: "my-cluster-folder/my-cluster"
resourcePool: "my-resourcepool"
datastore: "my-datastore"
folder: "my-vm-folder"
network:
vCenter:
networkName: "my-network-folder/my-portgroup"
אם מאגר המשאבים שלכם מוטמע במאגר משאבים אחר, צריך לציין את הנתיב המלא למאגר המשאבים בהגדרות של אשכול הניהול, כמו בדוגמה הבאה:
vCenter:
address: "my-vcenter"
datacenter: "my-datacenter-folder/my-datacenter"
cluster: "my-cluster-folder/my-cluster"
resourcePool: "my-cluster-folder/my-cluster/Resources/my-resourcepool/my-nested-resourcepool"
datastore: "my-datastore"
folder: "my-vm-folder"
network:
vCenter:
networkName: "my-network-folder/my-portgroup"
כדי ליצור אשכול ניהול של Anthos במאגר המשאבים שמוגדר כברירת מחדל באמצעות my-datastore ו-my-portgroup, מציינים את הגדרת האשכול הבאה:
vCenter:
address: "my-vcenter"
datacenter: "my-datacenter-folder/my-datacenter"
cluster: "my-cluster-folder/my-cluster"
resourcePool: "my-cluster-folder/my-cluster/Resources"
datastore: "my-datastore"
folder: "my-vm-folder"
network:
vCenter:
networkName: "my-network-folder/my-portgroup"
אם תיקיית ה-VM מוטמעת בתוך תיקיית VM אחרת, צריך לציין את הנתיב המלא לתיקיית ה-VM בהגדרת אשכול האדמין, כמו בדוגמה הבאה:
vCenter:
address: "my-vcenter"
datacenter: "my-datacenter-folder/my-datacenter"
cluster: "my-cluster-folder/my-cluster"
resourcePool: "my-resourcepool"
datastore: "my-datastore"
folder: "/my-datacenter-folder/my-datacenter/vm/my-vm-folder/my-nested-vm-folder"
network:
vCenter:
networkName: "my-network-folder/my-portgroup"
שימו לב: צריך לכלול את התו '/' הראשון בנתיב המלא של תיקיית המכונה הווירטואלית.
ההגדרה הזו חלה גם על תצורת אשכול המשתמשים ועל תצורת תחנת העבודה של האדמין, כי הקטע vCenter משותף לקובצי התצורה האלה.
כללים למתן שמות
אל תציינו את תיקיית האב כשמציינים מאגר נתונים, כי השם של מאגר הנתונים חייב להיות ייחודי במרכז הנתונים. אם מציינים תיקייה, מוחזרת השגיאה הבאה:
Datastore name 'storage-folder/my-datastore' should not contain parent folders
בכל שאר סוגי האובייקטים של vSphere, צריך לציין את תיקיית ההורה אם ההגדרה של vCenter מכילה תיקיות הורה. אם תיקיות ההורה הנדרשות לא צוינו בהגדרת האשכול אבל הן קיימות בהגדרת vCenter, השגיאה הבאה מוחזרת:
Parent folder is not specified for cluster, you must specify the full path 'clusters/my-cluster' in the cluster field
- gkectl create
- gkectl check-config
עדיין יש סיכוי שפתרון של אובייקט vSphere יהיה דו-משמעי במצבים הבאים לדוגמה
- שדרוג אשכול מגרסה קודמת שמפרה את כללי השמות, וההגדרה של vCenter מכילה תיקייה או אובייקט שמתנגשים עם השם, וגם
- אובייקטים עם שמות זהים לא היו קיימים במהלך יצירת האשכול, אבל נוספו מאוחר יותר
לדוגמה, נניח שזו ההגדרה של vCenter:
my-vcenter
my-datacenter-folder
my-datacenter
my-cluster-folder
my-cluster
my-resourcepool
בשלב הבא, אם ההיררכיה הבאה נוספת מאוחר יותר
my-vcenter
my-datacenter-folder
my-datacenter
my-cluster
my-resourcepool
הרזולוציה של my-resourcepool לא ברורה אם קובצי התצורה לא ציינו את my-cluster-folder במהלך יצירת האשכול
יכול להיות שתיתקלו בשגיאה הבאה:
path 'my-resourcepool' resolves to multiple resource pools
באופן כללי, ספריית vSphere מחזירה את הודעת השגיאה הבאה כשהרזולוציה של האובייקט לא ברורה:
path xxx resolves to multiple objects
כדי לתקן את השגיאה, מוודאים שהנתיב לא מכיל שמות אובייקטים שמתנגשים (למשל, אובייקט בתוך תיקייה ואובייקט מחוץ לתיקייה). מסירים או משנים את השם של האובייקט שלא שייך לאשכול וגורם להתנגשות. השדות של vSphere הם קבועים אחרי שיוצרים את האשכול, ולכן אם אי אפשר לפתור את הבעיה על ידי שינוי ההגדרה של vCenter, צריך ליצור אשכול חדש.