עבודה עם Google Cloud ו-Kubernetes YAML ב-Cloud Code ל-VS Code

‫Cloud Code ל-VS Code נועד להקל על ההגדרה של Kubernetes ו-Cloud Build על ידי ניתוח הסכימה כדי לבדוק את המבנה והערכים התקינים, ומתן שגיאות תיאוריות. ‫Cloud Code כולל פתרונות מוכנים מראש לסכימה נפוצה, להשלמות חכמות ולתיעוד בהעברת העכבר.

קבצי תצורה נתמכים ב-YAML

‫Cloud Code תומך גם בהגדרות פופולריות של משאבים מותאמים אישית (CRD) של Kubernetes, כמו Kubeflow, ללא צורך בהגדרה נוספת.

שימוש בסכימה מותאמת אישית

באמצעות Cloud Code, אתם יכולים לספק סכימת CRD משלכם באמצעות ההגדרה cloudcode.yaml.crdSchemaLocations בקובץ settings.json. אפשר להפנות לקובץ מקומי או לכתובת URL. כתובות URL שמפנות אל github.com מומרות אוטומטית ל-raw.githubusercontent.com.

שליפת סכימה מאוסף

כשעוברים לאשכול שמופעלת בו גרסה 1.16 של Kubernetes ואילך בתצוגת Kubernetes, ‏ Cloud Code שולף באופן אוטומטי את הסכימה של כל ה-CRD המותקנים.

הגדרה באמצעות קטעי קוד

קטעי קוד מוכנים מראש לסכימת YAML נפוצה (באמצעות Command/Ctrl+Space כדי לראות אפשרויות) מאפשרים להתחיל בקלות קובץ YAML חדש או להוסיף לקובץ קיים ללא שגיאות, תוך הקפדה על שיטות מומלצות. Cloud Code מקל על העבודה עם שדות חוזרים על ידי מילוי המופעים הנותרים אחרי שממלאים את השדה הראשון.

‫Cloud Code מציע את קטעי הקוד הבאים:

  • Anthos Config Management - Cluster
  • Anthos Config Management - Cluster Selector
  • Anthos Config Management - Config Management
  • Anthos Config Management - Namespace Selector
  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Secret
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

השלמה עם הקשר

על סמך הסכימה הנוכחית, Cloud Code מספק השלמות בהקשר ומסמכים רלוונטיים שיעזרו לכם לבחור את האפשרות הנכונה.

השלמות בהקשר לסכימת Kubernetes

אימות סכימת YAML

‫Cloud Code תומך באימות סכימות על ידי סימון תגים וערכים לא תקינים בקובצי ה-YAML והצעת תיקונים כשזה אפשרי.

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

הצגת תיעוד כשמעבירים את העכבר מעל פריט

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

מידע על התיעוד כשמחזיקים את הסמן מעל ערך בסכימה

גישה להגדרות של משאבים

כדי לראות את ההגדרות של משאב, לוחצים לחיצה ימנית על המשאב ואז בוחרים באפשרות Go to Definition או Peek Definition.

החלת קובץ YAML

כדי להחיל שינוי בהגדרות באמצעות הקובץ הנוכחי, פותחים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P או לוחצים על תצוגה > לוח הפקודות) ואז מריצים את הפקודה Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource.

הפקודה הזו מציגה תצוגת השוואה כדי שתוכלו לבדוק את השינויים. כשתוצג השאלה אם להחיל את השינוי הזה, לוחצים על אישור. הפעולה הזו מריצה את kubectl apply -f.

הצגת ההבדלים בין קובצי YAML

כדי לראות את ההבדלים בין קובץ YAML בבקרת מקורות לבין קובץ YAML שנפרס, פותחים את לוח הפקודות (מקישים על Ctrl/Cmd+Shift+P או לוחצים על View (תצוגה) > Command Palette (לוח הפקודות)) ואז מריצים את הפקודה Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource (Cloud Code: השוואה בין קובץ JSON/YAML נוכחי לבין משאב שנפרס ב-K8s).

ביצוע הרצה יבשה של קובץ YAML

‫Cloud Code מבצע הרצות ניסיון אוטומטיות בזמן שאתם מקלידים מידע בקובץ ה-YAML, ומסמן שגיאות בקו צהוב גלי.

קו גלי צהוב מופיע כשהשרת מחשיב חלק מהקוד כשגיאה על סמך התוצאה של הרצת בדיקה. השגיאות האלה יכולות לכלול הפרות מדיניות, שמות כפולים או אימותים ש-Cloud Code לא מבצע בצד הלקוח (כמו מספרי יציאות מקסימליים).

כדי לראות את תיאור השגיאה בקובץ ה-YAML, מעבירים את מצביע העכבר מעל הקוד עם קו צהוב מתחתיו.

אימות של הרצה יבשה בצד השרת נכשל ב-`hello.deployment.yaml` עם הודעת שגיאה שמוצגת כהודעה קופצת. פרטי השגיאה נמצאים בערוץ הפלט: מרחב השמות 'random-namespace' לא קיים

לפני ש-Cloud Code בודק את שרת Kubernetes, שגיאות שזוהו מסומנות בקו אדום גלי. לדוגמה, אם מזינים מספר במקום מחרוזת, תופיע קו אדום מתפתל.

עבודה עם סודות

שימוש במיפוי תצורה ובסודות הוא חלק מרכזי בעבודה עם Kubernetes. כדי לראות את ההקשר של סוד בקידוד base64 באמצעות Cloud Code, מעבירים את מצביע העכבר מעל הסוד כדי לפענח אותו.

כדי לפענח את הסוד, מעבירים את מצביע העכבר מעל הסוד

המאמרים הבאים

תמיכה

כדי לשלוח משוב, אפשר לשאול שאלה ב-Stack Overflow. אם אתם לקוחות Google Cloud, אתם יכולים לשלוח כרטיסי תמיכה דרך ערוצי התמיכה הרגילים של Google Cloud.