במאמר הזה מוסבר איך לפרוס את האפליקציות לאשכולות מצורפים של GKE. התמיכה באשכולות GKE מחוברים מאפשרת פריסה באשכולות AWS, Azure ו-On-Premises.
באמצעות Cloud Deploy אפשר לפרוס את עומסי העבודה מבוססי-הקונטיינרים לכל אשכול GKE מצורף שאפשר לגשת אליו באמצעות שער Connect.
לפני שמתחילים
יש לכם אשכול משתמשים שאתם רוצים לפרוס אליו.
אפשר ליצור אשכולות בתור אשכולות מצורפים של GKE, או לרשום אשכול Kubernetes קיים. אשכולות שיוצרים כאשכולות GKE מצורפים מקבלים באופן אוטומטי חברויות. באשכולות קיימים שרושמים ל-Fleet, צריך לציין שם חברות כשמבצעים את הרישום. תצטרכו את שם המינוי הזה כשמגדירים את היעד.
אם אתם משתמשים ב-Google Cloud CLI בגרסה 407.0.0 ומעלה, אתם צריכים לכלול את הדגל
--install-connect-agentבפקודהgcloud container fleet memberships registerכשאתם רושמים אשכול Google Kubernetes Engine. הסוכן Connect כבר לא מותקן כברירת מחדל.מגדירים את Connect gateway כדי לחבר את האשכול או האשכולות הרשומים אל Google Cloud.
חשוב להגדיר את שער הגישה באמצעות אותו חשבון שירות שישמש כחשבון השירות של Cloud Deploy לביצוע. אם לא, לחשבון השירות של שירות ההפעלה לא יהיו ההרשאות הנדרשות לפריסה באשכול.
הגדרת Cloud Deploy לפריסה באשכולות GKE מצורפים
יוצרים הגדרת יעד.
אפשר להגדיר את היעד בקובץ ה-YAML של צינור ההפצה, או בקובץ נפרד. בנוסף, אפשר להגדיר יותר מיעד אחד באותו קובץ, אבל הם צריכים להיות בפסקאות
kind: Targetשונות.מקצים לחשבון השירות של ההרצה את התפקידים שהוא צריך כדי שהוא יוכל ליצור אינטראקציה עם אשכולות מחוברים דרך השער.
ההרשאה הזו נדרשת גם אם משתמשים בחשבון השירות שמוגדר כברירת מחדל ב-Cloud Deploy וגם אם משתמשים בחשבון שירות בהתאמה אישית.
מגדירים RBAC עבור חשבון השירות של ההפעלה באשכול Kubernetes הבסיסי.
אופציונלי: אם האשכול הבסיסי הוא לא אשכול GKE, יכול להיות שתצטרכו להגדיר imagePullSecret כדי לאפשר לאשכול לשלוף מ-Artifact Registry.
בהגדרת היעד, יוצרים קטע
anthosClusterכדי להפנות אל האשכול:התחביר לציון אשכולות GKE מצורפים הוא:
anthosCluster: membership: projects/[project_name]/locations/global/memberships/[membership_name]מזהה המשאב של אשכולות GKE מצורפים כולל את הרכיבים הבאים:
[
project_name] הוא שם הפרויקט Google Cloud שבו מריצים את האשכול הזה.האשכול שבו אתם מבצעים פריסה, כולל אשכולות GKE מצורפים, לא צריך להיות באותו פרויקט כמו צינור העברת הנתונים.
[
membership_name] הוא השם שבחרתם כשרשמתם את האשכול ל-Fleet.
ב-
location, כל החברות באשכול הןglobal, ולכן אין צורך לשנות את/locations/global/במזהה המשאב הזה.
דוגמה להגדרת יעד:
apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
name: qsdev
description: development cluster
anthosCluster:
membership: projects/my-app/locations/global/memberships/my-app-dev-cluster
המאמרים הבאים
מידע נוסף על סביבות ההרצה של Cloud Deploy