במאמר הזה מוסבר איך להגדיר מדיניות אחסון של מכונה וירטואלית באשכול Google Distributed Cloud.
סקירה כללית
ב-vSphere, Storage Policy Based Management (SPBM) עוזר להתאים את האחסון לדרישות האפליקציה של מכונות וירטואליות. הוא מספק מסגרת מדיניות אחסון שמשמשת כלוח בקרה מאוחד יחיד במגוון רחב של שירותי נתונים ופתרונות אחסון.
ב-Google Distributed Cloud, אפשר לציין מדיניות אחסון כחלופה לציון datastores. אתם מגדירים מדיניות אחסון על סמך הדרישות של האפליקציה, ואז vSphere בוחר ומנהל את מאגרי הנתונים באופן אוטומטי. הפעולה הזו יכולה להפחית את התקורה והתחזוקה שקשורות לאחסון.
ירושה
אפשר לציין מדיניות אחסון עבור אשכול משתמשים, מאגר צמתים באשכול משתמשים או קבוצה של צמתים במישור הבקרה באשכול משתמשים. אפשר גם לציין מדיניות אחסון עבור אשכול אדמין, בתנאי שיש לאשכול האדמין מישור בקרה של זמינות גבוהה ואין לו מאגרי צמתים של Windows.
אם מציינים מדיניות אחסון עבור אשכול משתמשים, מאגרי הצמתים באשכול המשתמשים יירשו את המדיניות. אם מציינים מדיניות אחסון למאגר צמתים ספציפי, המדיניות הזו תשמש במקום מדיניות האחסון ברמת האשכול. באופן דומה, אם מציינים מאגר נתונים עבור מאגר צמתים ספציפי, המערכת משתמשת במאגר הנתונים הזה במקום במדיניות האחסון ברמת האשכול.
באשכול משתמשים שמופעל בו Controlplane V2, הצמתים של מישור הבקרה יורשים את מדיניות האחסון ברמת האשכול. אם מציינים מדיניות אחסון או מאגר נתונים לצמתים של מישור הבקרה, נעשה שימוש במדיניות האחסון או במאגר הנתונים האלה במקום במדיניות האחסון ברמת האשכול.
החלת מדיניות אחסון על מאגרי נתונים
אפשר להחיל מדיניות אחסון על מאגר נתונים אחד או על כמה מאגרי נתונים. אם מחילים מדיניות אחסון על כמה מאגרי נתונים, משאבי האחסון של אשכול אדמין, אשכול משתמש או מאגר צמתים יכולים להיות מפוזרים בין מאגרי הנתונים.
דוגמה: יצירת מדיניות אחסון ואשכול משתמשים
בקטע הזה מובאת דוגמה ליצירת מדיניות אחסון ואשכול משתמשים. בדוגמה הזו אפשר לראות שמדיניות אחסון יכולה לחול על שני מאגרי נתונים.
הוספת תגים למאגרי נתונים
כדי לבצע את השלבים בדוגמה הזו, בסביבת vSphere צריכים להיות לפחות שני datastores.
לאוסף ה-vSphere שיארח את הצמתים של אשכול המשתמשים צריכה להיות גישה למאגרי הנתונים שמתכננים להשתמש בהם בתרגיל הזה. יש בדיקה לפני טיסה שמאמתת את זה.
לחשבון vCenter שבו משתמשים כדי להחיל תגים צריכות להיות הרשאות תיוג ב-vSphere בשרת vCenter הבסיסי:
- תיוג ב-vSphere.יצירת תג vSphere
- תיוג ב-vSphere.יצירת קטגוריית תגים ב-vSphere
- תיוג ב-vSphere.הקצאה או ביטול הקצאה של תג vSphere
ב-vSphere Client, מקצים את אותו תג לכל מאגרי הנתונים שבחרתם להשתמש בהם לצורך התרגיל הזה. הוראות מפורטות מופיעות במאמר בנושא הקצאת תגים למאגרי נתונים.
מידע נוסף זמין במאמר vSphere Tags and Attributes.
יצירה של מדיניות אחסון
ב-vSphere Client, יוצרים מדיניות אחסון של מכונה וירטואלית למיקום מבוסס-תגים. במדיניות האחסון, מציינים את התג שהחלתם על מאגרי הנתונים שבחרתם. הוראות מפורטות זמינות במאמר בנושא יצירת מדיניות אחסון של מכונה וירטואלית למיקום מבוסס-תגים.
מידע נוסף זמין במאמר בנושא מדיניות אחסון של מכונות וירטואליות.
אם אתם משתמשים במאגר נתונים של vSAN, כדאי לעיין במאמר בנושא מדיניות אחסון של vSAN.
יצירת אשכול משתמשים
בתרגיל הזה יוצרים אשכול משתמשים עם מישור בקרה בעל זמינות גבוהה, כך שיש שלושה צמתי מישור בקרה. בנוסף לצמתים של מישור הבקרה, יש שישה צמתים של עובדים, שלושה במאגר צמתים אחד ושלושה במאגר צמתים שני. כל הצמתים משתמשים בכתובות IP סטטיות.
מתחילים בפעולה לפי ההוראות במאמר יצירת אשכול משתמשים.
כשממלאים את קובץ התצורה של אשכול המשתמשים:
מגדירים את הערך של
vCenter.storagePolicyNameלשם של מדיניות אחסון קיימת. לא מוגדר ערך ל-vCenter.datastore.מציינים שתי בריכות צמתים. במאגר הצמתים הראשון, לא מציינים מאגר נתונים ולא מציינים מדיניות אחסון. עבור מאגר הצמתים השני, מגדירים את הערך של
vsphere.datastoreלשם של מאגר נתונים קיים.
קובץ תצורה של אשכול לדוגמה
דוגמה לקובץ של בלוק IP ולחלק מקובץ התצורה של אשכול משתמשים.
user-ipblock.yaml
blocks:
- netmask: 255.255.255.0
gateway: 172.16.21.1
ips:
- ip: 172.16.21.2
- ip: 172.16.21.3
- ip: 172.16.21.4
- ip: 172.16.21.5
- ip: 172.16.21.6
- ip: 172.16.21.7
- ip: 172.16.21.8
user-cluster-yaml
apiVersion: v1
kind: UserCluster
...
vCenter:
storagePolicyName: "my-storage-policy"
network:
hostConfig:
dnsServers:
- "203.0.113.2"
- "198.51.100.2"
ntpServers:
- "216.239.35.4"
ipMode:
type: "static"
ipBlockFilePath: "user-ipblock.yaml"
controlPlaneIPBlock:
netmask: "255.255.255.0"
gateway: "172.16.21.1"
ips:
- ip: "172.16.21.9"
hostname: "cp-vm-1"
- ip: "172.16.21.10"
hostname: "cp-vm-2"
- ip: "172.16.21.11"
hostname: "cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: MetalLB
metalLB:
addressPools:
- name: "address-pool-1"
addresses:
- "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
cpus: 4
memoryMB: 8192
replicas: 3
nodePools:
- name: "worker-pool-1"
enableLoadBalancer: true
- name: "worker-pool-2"
vSphere:
datastore: "my-np2-datastore"
...
אלה הנקודות החשובות שצריך להבין בדוגמה שלמעלה:
כתובות ה-IP הסטטיות של צמתי העובדים מצוינות בקובץ של טווח כתובות IP. בקובץ של חסימת כתובות IP יש שבע כתובות, למרות שיש רק שש צמתי עובד. כתובת ה-IP הנוספת נדרשת במהלך שדרוג, עדכון ותיקון אוטומטי של האשכול.
כתובות ה-IP הסטטיות של שלושת הצמתים של מישור הבקרה מצוינות בקטע
network.controlPlaneIPBlockשל קובץ התצורה של אשכול המשתמשים. אין צורך בכתובת IP נוספת בבלוק הזה.השדה
masterNode.replicasמוגדר ל-3, ולכן יהיו שלושה צמתים של מישור הבקרה. בקטעmasterNode, לא צוין כלום לגביvsphere.datastoreאוvsphere.storagePolicyName. לכן, הצמתים של מישור הבקרה ישתמשו במדיניות האחסון שצוינה ב-vCenter.storagePolicyName.קובץ ההגדרה של אשכול המשתמשים כולל ערך של
vCenter.storagePolicy, אבל לא כולל ערך שלvCenter.datastore. הצמתים בכל מאגר שלא צוינה בו מדיניות אחסון משלו או מאגר נתונים משלו ישתמשו במדיניות האחסון שצוינה.בקטע
node-pool-1, לא צוין כלום לגביvsphere.datastoreאוvsphere.storagePolicyName. לכן, הצמתים ב-node-pool-1ישתמשו במדיניות האחסון שצוינה ב-vCenter.storagePolicyName.בקטע
node-pool-2, הערך שלvsphere.datastoreהואmy-np2-datastore, ולכן הצמתים ב-node-pool-2משתמשים במאגר הנתונים הזה ולא במדיניות אחסון.
ממשיכים ליצור את אשכול המשתמשים כמו שמתואר במאמר יצירת אשכול משתמשים.
יצירת אשכול משתמשים במרכז נתונים נפרד מאשכול האדמינים
אפשר למקם אשכול משתמשים במרכז נתונים נפרד מאשכול האדמין. שני מרכזי הנתונים יכולים להשתמש באותו מופע של vCenter Server או במופעים שונים של vCenter Server.
בסעיף הזה מופיעה דוגמה לאופן שבו יוצרים אשכול משתמשים שמשתמש במכונה נפרדת של vCenter Server מאשכול האדמין. מכיוון שקלאסטרים של משתמשים וקלאסטרים של אדמינים משתמשים במופעים נפרדים של vCenter Server, הם נמצאים גם במרכזי נתונים נפרדים.
מתחילים בפעולה לפי ההוראות במאמר יצירת אשכול משתמשים.
כשממלאים את קובץ התצורה של אשכול המשתמשים:
מגדירים את הערך של
vCenter.storagePolicyNameלשם של מדיניות אחסון קיימת. לא מוגדר ערך ל-vCenter.datastore.בקטע
vCenter, מציינים ערכים לaddress, לdatacenter, לclusterולresourcePool.צריך לציין ערך במאפיין
network.vCenter.networkName.מציינים שתי בריכות צמתים. במאגר הצמתים הראשון, לא מציינים מאגר נתונים ולא מציינים מדיניות אחסון. עבור מאגר הצמתים השני, מגדירים את הערך של
vsphere.datastoreלשם של מאגר נתונים קיים.
קובץ תצורה של אשכול לדוגמה
דוגמה לקובץ של בלוק IP ולחלק מקובץ התצורה של אשכול משתמשים.
user-ipblock.yaml
blocks:
- netmask: 255.255.255.0
gateway: 172.16.21.1
ips:
- ip: 172.16.21.2
- ip: 172.16.21.3
- ip: 172.16.21.4
- ip: 172.16.21.5
- ip: 172.16.21.6
- ip: 172.16.21.7
- ip: 172.16.21.8
user-cluster-yaml
apiVersion: v1
kind: UserCluster
...
vCenter:
address: "my-vcenter-server-2.my-domain.example"
datacenter: "my-uc-data-center"
cluster: "my-uc-vsphere-cluster"
resourcePool: "my-uc-resource-pool"
storagePolicyName: "my-storage-policy"
network:
vCenter:
networkName: "my-uc-network"
hostConfig:
dnsServers:
- "203.0.113.2"
- "198.51.100.2"
ntpServers:
- "216.239.35.4"
ipMode:
type: "static"
ipBlockFilePath: "user-ipblock.yaml"
controlPlaneIPBlock:
netmask: "255.255.255.0"
gateway: "172.16.21.1"
ips:
- ip: "172.16.21.9"
hostname: "cp-vm-1"
- ip: "172.16.21.10"
hostname: "cp-vm-2"
- ip: "172.16.21.11"
hostname: "cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: MetalLB
metalLB:
addressPools:
- name: "address-pool-1"
addresses:
- "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
cpus: 4
memoryMB: 8192
replicas: 3
nodePools:
- name: "worker-pool-1"
enableLoadBalancer: true
- name: "worker-pool-2"
vSphere:
datastore: "my-np2-datastore"
...
אלה הנקודות החשובות שצריך להבין בדוגמה שלמעלה:
קובץ ההגדרה של אשכול המשתמשים כולל ערך של
vCenter.storagePolicy, אבל לא כולל ערך שלvCenter.datastore. הצמתים בכל מאגר צמתים שלא צוינה בו מדיניות אחסון משלו או מאגר נתונים משלו ישתמשו במדיניות האחסון שצוינה.במאפיין
vCenterצוינו ערכים למאפייניםaddress,datacenter,clusterו-resourcePool. לכן, אשכול המשתמשים ישתמש ב-vCenter Server, במרכז נתונים, באשכול vSphere ובמאגר משאבים שונים מאלה של אשכול האדמין.צוין ערך למאפיין
network.vCenter.networkName.השדה
masterNode.replicasמוגדר ל-3, ולכן יהיו שלושה צמתים של מישור הבקרה. בקטעmasterNode, לא צוין כלום לגביvsphere.datastoreאוvsphere.storagePolicyName. לכן, הצמתים של מישור הבקרה ישתמשו במדיניות האחסון שצוינה ב-vCenter.storagePolicyName.בקטע
node-pool-1, לא צוין כלום לגביvsphere.datastoreאוvsphere.storagePolicyName. לכן, הצמתים ב-node-pool-1ישתמשו במדיניות האחסון שצוינה ב-vCenter.storagePolicyName.בקטע
node-pool-2, הערך שלvsphere.datastoreהואmy-np2-datastore, ולכן הצמתים ב-node-pool-2משתמשים במאגר הנתונים הזה ולא במדיניות אחסון.
ממשיכים ליצור את אשכול המשתמשים כמו שמתואר במאמר יצירת אשכול משתמשים.