כדי להגדיר מאזן עומסים שפונה כלפי חוץ באמצעות GKE ב-AWS, צריך לתייג את ה-VPC ואת רשת המשנה הציבורית עם מזהה האשכול. אם כבר הוספתם תגים ל-VPC ולרשת המשנה, אפשר לדלג אל הפעלת תעבורת נכנסת.
לפני שמתחילים
לפני שמתחילים להשתמש ב-GKE on AWS, חשוב לוודא שביצעתם את המשימות הבאות:
- משלימים את הדרישות המוקדמות.
- מתקינים שירות ניהול.
- יוצרים אשכול משתמשים.
GKE ב-AWS דורש תגים ברשתות משנה שמכילות נקודות קצה של מאזן עומסים. GKE ב-AWS מתייג באופן אוטומטי את כל רשתות המשנה שצוינו בשדה spec.Networking.ServiceLoadBalancerSubnetIDs של משאב AWSCluster.
כדי להוסיף תת-רשתות נוספות לאשכול המשתמשים, או כדי להחיל מחדש תגים על תת-רשתות קיימות, מבצעים את השלבים הבאים.
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
מאחזרים את המזהה של ה-VPC של AWS של האשכול באמצעות
kubectlושומרים אותו כמשתנה.export VPC_ID=$(\ env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-0 -o jsonpath='{.spec.networking.vpcID}')בודקים את תוכן המשתנים באמצעות
echo. הפלט שיתקבל דומה ל-vpc-12345678abcdef0.echo $VPC_IDשומרים את מזהה האשכול במשתנה סביבה.
export CLUSTER_ID=$(\ env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-0 -o jsonpath='{.status.clusterID}')אפשר לבדוק את המשתנה באמצעות
echo:echo $CLUSTER_IDהתשובה כוללת את מזהה האשכול.
gke-12345678אם התקנתם את 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מתייגים את רשת המשנה עם מזהה האשכול. אם יש לכם כמה רשתות משנה, בוחרים באפשרות 'כמה רשתות משנה'.
תת-רשת יחידה
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.