הכנת הרשת ב-AWS

כדי להגדיר מאזן עומסים שפונה כלפי חוץ באמצעות GKE ב-AWS, צריך לתייג את ה-VPC ואת רשת המשנה הציבורית עם מזהה האשכול. אם כבר הוספתם תגים ל-VPC ולרשת המשנה, אפשר לדלג אל הפעלת תעבורת נכנסת.

לפני שמתחילים

לפני שמתחילים להשתמש ב-GKE on AWS, חשוב לוודא שביצעתם את המשימות הבאות:

‫GKE ב-AWS דורש תגים ברשתות משנה שמכילות נקודות קצה של מאזן עומסים. ‫GKE ב-AWS מתייג באופן אוטומטי את כל רשתות המשנה שצוינו בשדה spec.Networking.ServiceLoadBalancerSubnetIDs של משאב AWSCluster.

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

  1. בספרייה של anthos-aws, משתמשים ב-anthos-gke כדי להעביר את ההקשר לשירות הניהול.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. מאחזרים את המזהה של ה-VPC של AWS של האשכול באמצעות kubectl ושומרים אותו כמשתנה.

     export VPC_ID=$(\
     env HTTPS_PROXY=http://localhost:8118 \
     kubectl get awscluster cluster-0 -o jsonpath='{.spec.networking.vpcID}')
    
  3. בודקים את תוכן המשתנים באמצעות echo. הפלט שיתקבל דומה ל-vpc-12345678abcdef0.

    echo $VPC_ID
    
  4. שומרים את מזהה האשכול במשתנה סביבה.

    export CLUSTER_ID=$(\
    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get awscluster cluster-0 -o jsonpath='{.status.clusterID}')
    

    אפשר לבדוק את המשתנה באמצעות echo:

    echo $CLUSTER_ID
    

    התשובה כוללת את מזהה האשכול.

    gke-12345678
    
  5. אם התקנתם את GKE ב-AWS ב-VPC ייעודי, תוכלו להשתמש בכלי aws של שורת הפקודה כדי לאחזר את מזהה רשת המשנה.

    בוחרים מבין האפשרויות הבאות:

    • גלוי לכולם, אם רוצים לחשוף שירותים בתת-הרשת הגלויה לכולם.
    • פרטי, אם רוצים לחשוף שירותים ברשת המשנה הפרטית.
    • כמה רשתות משנה, אם רוצים לחשוף שירותים בכמה רשתות משנה.

    גלוי לכולם

     export SUBNET_ID=$(aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \
     --query "Subnets[*].SubnetId" \
     --output text)
    

    הפלט הוא אובייקט שמכיל את מזהה רשת המשנה. היא דומה ל-subnet-1234abcdefg. אפשר לבדוק את המשתנה באמצעות echo:

    echo $SUBNET_ID
    

    התשובה כוללת את מזהה רשת המשנה.

    subnet-012345678abcdef
    

    פרטי

     export SUBNET_ID=$(aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \
     --query "Subnets[*].SubnetId" \
     --output text)
    

    הפלט הוא אובייקט שמכיל את מזהה רשת המשנה. היא דומה ל-subnet-1234abcdefg. אפשר לבדוק את המשתנה באמצעות echo:

    echo $SUBNET_ID
    

    התשובה כוללת את מזהה רשת המשנה.

    subnet-012345678abcdef
    

    כמה תת-רשתות

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

    אחזור רשימת מזהי תת-הרשת באמצעות aws ec2 describe-subnets.

    כדי לקבל רשימה של כל רשתות המשנה הציבוריות, מריצים את הפקודה הבאה:

    aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \
     --query "Subnets[*].SubnetId" \
     --output text
    

    כדי לקבל רשימה של כל רשתות המשנה הפרטיות, מריצים את הפקודה הבאה:

    aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \
     --query "Subnets[*].SubnetId" \
     --output text
    

    התשובה כוללת את מזהי רשתות המשנה.

    subnet-012345678abcdef
    subnet-abcdef123456789
    subnet-123456789abcdef
    
  6. מתייגים את רשת המשנה עם מזהה האשכול. אם יש לכם כמה רשתות משנה, בוחרים באפשרות 'כמה רשתות משנה'.

    תת-רשת יחידה

    aws ec2 create-tags \
    --resources $SUBNET_ID \
    --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
    

    כמה תת-רשתות

    מריצים את הפקודה הבאה לכל אחת מרשתות המשנה:

    aws ec2 create-tags \
    --resources subnet-ids \
    --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
    

    מחליפים את subnet-ids ברשימה של מזהי רשתות המשנה, מופרדים ברווחים. לדוגמה, subnet-012345678abcdef subnet-abcdef123456789 subnet-123456789abcdef.