במאמר הזה נסביר איך ליצור הגדרת Helm ל-Spanner Omni ב-Kubernetes.
סקירה כללית
אתם מגדירים תרשימי Helm לפריסות של Spanner Omni ב-Kubernetes.
כדאי לעיין באפשרויות ההגדרה הזמינות כדי להתאים אישית את הפריסה. תבנית ה-Helm כוללת את המאפיין global.platform, שמגדיר ערכי ברירת מחדל להגדרות מרכזיות כמו StorageClass והערות שירות על סמך הפלטפורמה שנבחרה.
הסבר על האופן שבו תרשים Helm מחיל ערכי ברירת מחדל ספציפיים לפלטפורמה ב-Google Kubernetes Engine (GKE) וב-Amazon Elastic Kubernetes Service (Amazon EKS). הגדרות ברירת המחדל האלה כוללות הגדרות כמו סוגי אחסון, מיקומי נתונים והערות שירות. אפשר להתאים אישית את ההגדרות האלה בהתאם לדרישות הפריסה הספציפיות שלכם לכל פלטפורמה.
לפני שמתחילים
אם עדיין לא עשיתם זאת, מתקינים את Helm.
הכנת הגדרות של תרשים Helm
כדי ליצור הגדרת תרשים Helm:
משתמשים בפקודה
helm show valuesכדי לעיין באפשרויות ההגדרה שזמינות ליצירת פריסה:helm show values oci://us-docker.pkg.dev/spanner-omni/charts/spanner-omni --version 0.2.0במסמכי התיעוד ליצירת פריסה נעשה שימוש בדגל
--setכדי לציין אפשרויות שונות. אפשר גם לציין את האפשרויות האלה בקובץ YAML ולהשתמש בדגל-fבפקודהhelm. כדי לפשט את הפריסה, תבנית Helm כוללת את המאפייןglobal.platform, שקובע את ערכי ברירת המחדל שלStorageClass, הערות השירות והגדרות אחרות על סמך הפלטפורמה.בטבלה הבאה מפורטים ערכי ברירת המחדל הספציפיים לפלטפורמה עבור Google Kubernetes Engine (GKE) ו-Amazon EKS:
| מאפיין (property) | ברירת מחדל | פלטפורמה | |
|---|---|---|---|
| GKE | Amazon EKS | ||
storageClasses |
- name: my_scprovisioner: kubernetes.io/no-provisionervolumeBindingMode: WaitForFirstConsumer |
- name: hyperdisk-balanced-rwoprovisioner: pd.csi.storage.gke.ioparameters: type: hyperdisk-balanced |
- name: aws-gp3provisioner: ebs.csi.aws.comparameters: type: gp3- name: aws-standardprovisioner: ebs.csi.aws.comparameters: type: standard |
locations |
- name: usnamespace: ""zones:- name: "us-a"shortName: "a"replicas: 1rootServers: 1singleServer: true- name: "us-b"shortName: "b"- name: "us-c"shortName: "c" |
- name: us-east1zones:- name: us-east1-bshortName: a- name: us-east1-cshortName: b- name: us-east1-dshortName: c |
- name: us-east-1zones:- name: us-east-1ashortName: a- name: us-east-1cshortName: b- name: us-east-1dshortName: c |
dataStorageClass |
<default> |
premium-rwo |
aws-gp3 |
logsStorageClass |
<default> |
standard-rwo |
aws-standard |
serviceAnnotations |
null |
networking.gke.io/load-balancer-type: "Internal"networking.gke.io/internal-load-balancer-allow-global-access: "true" |
service.beta.kubernetes.io/aws-load-balancer-internal: "true"service.beta.kubernetes.io/aws-load-balancer-type: "nlb"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true" |
מספר שרתי הבסיס בכל אזור חייב להיות מספר אי-זוגי בין אחד לתשעה, כולל, כדי להבטיח קוורום לעקביות. אם מספר השרתים הוא מספר זוגי, יכול להיות שהפריסות ייכשלו. כשמגדירים את האזורים, מציינים ששרתים מסוימים הם שרתי הבסיס. מומלץ להשתמש באזור אחד לפיתוח או לבדיקות, ובשלושה אזורים לסביבת ייצור עם זמינות גבוהה.
המאמרים הבאים
איך משתמשים בתרשים Helm כדי ליצור פריסה מרובת אשכולות ב-Kubernetes עבור Spanner Omni
איך יוצרים פריסה ב-Kubernetes ל-Spanner Omni באמצעות תרשים Helm