עבודה עם 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 מציג תיעוד רלוונטי.

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

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

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

החלת קובץ YAML

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

הפקודה הזו מציגה תצוגת השוואה כדי שתוכלו לבדוק את השינויים. כשמופיעה ההודעה עם השאלה אם להחיל את השינוי, לוחצים על אישור. הפעולה הזו מריצה את 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, מעבירים את מצביע העכבר מעל הסוד כדי לפענח אותו.

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

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

תמיכה

כדי לשלוח משוב, לדווח על בעיות ב-GitHub או לשאול שאלה ב-Stack Overflow.