מידע על שלבים שיכולים לעזור לפתור בעיות ב-GKE ב-AWS.
סקירה כללית
הנושא הזה מחולק לקטעים הבאים:
- קבלת מידע על האשכול כדי להבין את הפעולות של התקנת GKE ב-AWS.
- שלבים לפתרון בעיות נפוצות.
- "תמונת מצב" של סטטוס האשכול כדי לספק מידע לGoogle Cloud תמיכה.
קבלת מידע על האשכול
בקטע הזה מוסבר איך לאחזר מידע על ההתקנה של GKE on AWS כדי לפתור בעיות.
אחזור מידע מאשכול הניהול
אפשר לשלוח שאילתה לשירות הניהול כדי לקבל מידע על אשכולות המשתמשים.
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
משתמשים בפקודה
kubectl getכדי לאחזר את פרטי הסטטוס הבסיסיים של אשכול.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusterהפלט כולל את השם, המצב הנוכחי, הגיל, הגרסה ונקודת הקצה של כל אשכול.
NAME STATE AGE VERSION ENDPOINT cluster-0 Provisioning 2m41s 1.25.5-gke.2100 gke-<var>endpoint</var>.elb.us-east-1.amazonaws.com
אפשר לאחזר מידע נוסף על אשכול באמצעות kubectl describe.
env HTTPS_PROXY=http://localhost:8118 \
kubectl describe AWSCluster cluster-0
הפלט מחולק לשלושה חלקים עיקריים:
-
Specמציג את ההגדרה ההצהרתית הראשונית של האשכול. -
Statusמכיל את מצב האשכול ואת משאבי AWS שנוצרו על ידי שירות הניהול. Eventsכולל את כל הפעולות או השגיאות האחרונות. היומן הזה חשוב מאוד לניפוי באגים באשכול.
הפלט אמור להיראות כך:
Name: cluster-0
Namespace: default
Kind: AWSCluster
Metadata:
Creation Timestamp: 0000-00-00T00:00:00Z
...
Spec:
Control Plane:
Etcd:
Main Volume:
Size GiB: 10
Iam Instance Profile: gke-node
Instance Type: t2.medium
Key Name: gke-key
Root Volume:
Size GiB: 10
Subnet IDs:
subnet-0000
Version: 0.00.0-gke.00
Networking:
Pod Address CIDR Blocks:
0.0.0.0/0
...
Status:
Admin Cert Secret Name: gke-0000-admin-cert
API DNS Name: gke-0000-controlplane-0000.elb.region.amazonaws.com
Control Plane Security Group ID: sg-0000
Gke Hub Membership Name: projects/global/memberships/gke-0000-cluster
Listener ARN: arn:aws:elasticloadbalancing:region:0000:listener/net/gke-0000
Load Balancer Name: gke-0000-controlplane
Node Pool Security Group ID: sg-0000
Provisioning Info:
Addons Installed: false
Gke Hub Membership Installed: false
Target Version: 0.00.0-gke.0
Replica Status:
Auto Scaling Group Name: gke-0000-controlplane-0
Etcd Main Volume ID: vol-0000
Launch Template Name: gke-0000-controlplane-0-0.00.0-gke.0
Network Interface ID: eni-0000
Private IP Address: 0.0.0.0
Replica: 0
...
Root CA Secret Name: gke-0000-root-ca
State: Provisioning
Target Group Name: gke-0000-controlplane
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CreatedSecurityGroup 1m36s cluster-operator Created security group named "gke-0000"
Normal CreatedEtcdVolume 1m35s cluster-operator Created etcd volume on replica 0
Normal CreatedEtcdVolume 1m35s cluster-operator Created etcd volume on replica 2
Normal CreatedEtcdVolume 1m35s cluster-operator Created etcd volume on replica 1
Normal CreatedNetworkLoadBalancer 1m34s cluster-operator Created network load balancer named "gke-0000-controlplane"
Normal CreatedTargetGroup 1m34s cluster-operator Created target group named "gke-0000-controlplane"
Normal CreatedRootCASecret 1m34s cluster-operator Created root CA secret named "default/gke-0000-root-ca"
Normal CreatedGKEHubMembership 1m33s cluster-operator Created GKE Hub membership named "projects/global/memberships/gke-0000-cluster"
Normal CreatedNetworkInterface 1m30s cluster-operator Created network interface on replica 2
איך מקבלים את המזהים של אשכולות המשתמשים
כדי להגדיר תכונות מסוימות של GKE ב-AWS, יכול להיות שתצטרכו לקבל את מזהי אשכולות המשתמשים.
כדי לקבל את מזהה אשכול המשתמשים של GKE ב-AWS, מבצעים את השלבים הבאים:
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
כדי לאחזר את מזהי האשכולות, משתמשים בפקודה
kubectl get awscluster.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster -o jsonpath={.items..status.clusterID}הפלט מכיל את מזהי האשכולות.
אירועים
אירוע הוא הודעה שמצורפת לאובייקט Kubernetes. אירועים מתארים פעולות שמשפיעות על הסטטוס של המשאב. שירות הניהול מצרף אירועים לאובייקטים AWSCluster ו-AWSNodePool. האירועים מספקים יומן של השלבים שבוצעו כדי ליצור, לשדרג, לשנות את הגודל או למחוק את האשכול. אפשר להשתמש ב-kubectl get
events כדי להציג רשימה של אירועים.
env HTTPS_PROXY=http://localhost:8118 \
kubectl get events
פלט לדוגמה
LAST SEEN TYPE REASON OBJECT MESSAGE
27s Normal CreatingCluster awscluster/cluster-0 Cluster version 1.25.5-gke.2100 is being created
24s Normal CreatedSecurityGroup awscluster/cluster-0 Created security group named "gke-123456a7-controlplane"
24s Normal CreatedSecurityGroup awscluster/cluster-0 Created security group named "gke-123456a7-nodepool"
23s Normal CreatedEtcdVolume awscluster/cluster-0 Created etcd volume on replica 0
23s Normal CreatedEtcdVolume awscluster/cluster-0 Created etcd volume on replica 1
23s Normal CreatedEtcdVolume awscluster/cluster-0 Created etcd volume on replica 2
23s Normal CreatedNetworkLoadBalancer awscluster/cluster-0 Created network load balancer named "gke-123456a7-controlplane"
23s Normal CreatedTargetGroup awscluster/cluster-0 Created target group named "gke-123456a7-controlplane"
23s Normal CreatedRootCASecret awscluster/cluster-0 Created root CA secret named "default/gke-123456a7-api-server-ca"
22s Normal CreatedGKEHubMembership awscluster/cluster-0 Created GKE Hub membership named "projects/global/memberships/gke-123456a7-cluster"
20s Normal CreatedNetworkInterface awscluster/cluster-0 Created network interface on replica 0
20s Normal CreatedNetworkInterface awscluster/cluster-0 Created network interface on replica 1
20s Normal CreatedNetworkInterface awscluster/cluster-0 Created network interface on replica 2
20s Normal CreatedAdminCertSecret awscluster/cluster-0 Created admin certificate secret named "default/gke-123456a7-admin-cert"
27s Normal StartedNodePoolProvisioning awsnodepool/pool-0 Started node pool provisioning
13s Normal CreatedAutoScalingGroup awsnodepool/pool-0 Created auto scaling group named "gke-123456a7-nodepool-8b269fb0"
יומני המפעילים
ברשימה אירועים מופיעות פעולות ברמה גבוהה שבוצעו על ידי המפעיל. יכול להיות שתצטרכו לבחון פעילות ברמה נמוכה יותר, כמו עקבות מחסנית. שירות הניהול מריץ פוד סטטי שנקרא gke-aws-cluster-operator. האפליקציה הזו היא אופרטור שמכיל את הלוגיקה העיקרית של ניהול האשכול.
בשלבים הבאים, תשתמשו בכלי crictl כדי לבדוק יומנים מ-gke-aws-cluster-operator.
עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
cd anthos-aws
מאתרים את ה-DNS של מופע הניהול של EC2. בוחרים את הגרסה של Terraform ומריצים את הפקודות הבאות:
Terraform 0.12, 0.13
export CLUSTER_ID=$(terraform output cluster_id) export MANAGEMENT_IP=$(aws ec2 describe-instances \ --filters "Name=tag:Name,Values=$CLUSTER_ID-management-0" \ --query "Reservations[*].Instances[*].PrivateIpAddress" \ --output text)Terraform 0.14.3 ואילך
export CLUSTER_ID=$(terraform output -raw cluster_id) export MANAGEMENT_IP=$(aws ec2 describe-instances \ --filters "Name=tag:Name,Values=$CLUSTER_ID-management-0" \ --query "Reservations[*].Instances[*].PrivateIpAddress" \ --output text)אם אתם משתמשים ביעד מבוצר (bastion host), צריך למצוא את ה-DNS של היעד המבוצר (bastion host).
Terraform 0.12, 0.13
export BASTION_DNS=$(terraform output bastion_dns_name)Terraform 0.14.3 ואילך
export BASTION_DNS=$(terraform output -raw bastion_dns_name)מתחברים באמצעות SSH למכונת הניהול. בוחרים אם יש לכם קישור ישיר או שאתם משתמשים ביעד מבוצר (bastion host).
חיבור ישיר
ssh -i ~/.ssh/anthos-gke ubuntu@$MANAGEMENT_IPBastion
ssh -i ~/.ssh/anthos-gke -J ubuntu@$BASTION_DNS ubuntu@$MANAGEMENT_IPמקבלים את מזהה מאגר התגים של ה-pod
gke-aws-cluster-operator.export POD_ID=$(sudo crictl pods --name gke-aws-cluster-operator --quiet) export CONTAINER_ID=$(sudo crictl ps --pod $POD_ID --latest --quiet)מדפיסים את היומנים של ה-Pod.
sudo crictl logs $CONTAINER_ID
Terraform
הפקודה anthos-gke מוציאה פלט של Terraform כדי להקצות שירות ניהול.
אפשר להשתמש בפקודה terraform state כדי להציג רשימה של תשתיות שמנוהלות במצב של Terraform.
terraform state list
פלט לדוגמה
module.gke_dedicated_vpc.module.gke_bastion.aws_security_group.this
module.gke_dedicated_vpc.module.gke_bastion_security_group_rules.aws_security_group_rule.allow_http_outbound
module.gke_dedicated_vpc.module.gke_bastion_security_group_rules.aws_security_group_rule.allow_https_outbound
module.gke_dedicated_vpc.module.gke_bastion_security_group_rules.aws_security_group_rule.allow_ssh_inbound
module.gke_dedicated_vpc.module.gke_bastion_security_group_rules.aws_security_group_rule.allow_ssh_outbound
module.gke_dedicated_vpc.module.gke_controlplane_iam_policies.data.aws_iam_policy_document.this
module.gke_dedicated_vpc.module.gke_controlplane_iam_policies.aws_iam_role_policy.this
module.gke_dedicated_vpc.module.gke_controlplane_iam_role.data.aws_iam_policy_document.assume_role_policy
module.gke_dedicated_vpc.module.gke_controlplane_iam_role.aws_iam_instance_profile.this
module.gke_dedicated_vpc.module.gke_controlplane_iam_role.aws_iam_role.this
module.gke_dedicated_vpc.module.gke_management.data.aws_ami.this
module.gke_dedicated_vpc.module.gke_management.data.aws_iam_policy_document.assume_role_policy
module.gke_dedicated_vpc.module.gke_management.data.aws_subnet.this[0]
module.gke_dedicated_vpc.module.gke_management.aws_autoscaling_group.this[0]
module.gke_dedicated_vpc.module.gke_management.aws_ebs_volume.main[0]
module.gke_dedicated_vpc.module.gke_management.aws_iam_instance_profile.this
module.gke_dedicated_vpc.module.gke_management.aws_iam_role.this
module.gke_dedicated_vpc.module.gke_management.aws_launch_template.this[0]
module.gke_dedicated_vpc.module.gke_management.aws_lb.this
module.gke_dedicated_vpc.module.gke_management.aws_lb_listener.this
module.gke_dedicated_vpc.module.gke_management.aws_lb_target_group.this
module.gke_dedicated_vpc.module.gke_management.aws_security_group.this
module.gke_dedicated_vpc.module.gke_management_iam_policies.data.aws_iam_policy_document.this
module.gke_dedicated_vpc.module.gke_management_iam_policies.aws_iam_role_policy.this
module.gke_dedicated_vpc.module.gke_management_security_group_rules.aws_security_group_rule.allow_cidr_https_inbound[0]
module.gke_dedicated_vpc.module.gke_management_security_group_rules.aws_security_group_rule.allow_http_outbound
module.gke_dedicated_vpc.module.gke_management_security_group_rules.aws_security_group_rule.allow_https_inbound[0]
module.gke_dedicated_vpc.module.gke_management_security_group_rules.aws_security_group_rule.allow_https_outbound
module.gke_dedicated_vpc.module.gke_management_security_group_rules.aws_security_group_rule.allow_ssh_inbound[0]
module.gke_dedicated_vpc.module.gke_nodepool_iam_policies.data.aws_iam_policy_document.this
module.gke_dedicated_vpc.module.gke_nodepool_iam_policies.aws_iam_role_policy.this
module.gke_dedicated_vpc.module.gke_nodepool_iam_role.data.aws_iam_policy_document.assume_role_policy
module.gke_dedicated_vpc.module.gke_nodepool_iam_role.aws_iam_instance_profile.this
module.gke_dedicated_vpc.module.gke_nodepool_iam_role.aws_iam_role.this
module.gke_dedicated_vpc.module.gke_vpc.aws_eip.nat[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_internet_gateway.this
module.gke_dedicated_vpc.module.gke_vpc.aws_nat_gateway.this[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_route.private_nat_gateway[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_route.public_internet_gateway
module.gke_dedicated_vpc.module.gke_vpc.aws_route_table.private[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_route_table.public
module.gke_dedicated_vpc.module.gke_vpc.aws_route_table_association.private[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_route_table_association.public[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_subnet.private[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_subnet.public[0]
module.gke_dedicated_vpc.module.gke_vpc.aws_vpc.this
אפשר לבדוק כל משאב באמצעות הפקודה terraform state show.
לדוגמה, נבדוק את מאזן העומסים שנמצא לפני שירות הניהול.
terraform state show module.gke_dedicated_vpc.module.gke_management.aws_lb.this
פלט לדוגמה
resource "aws_lb" "this" {
arn = "arn:aws:elasticloadbalancing:aws-region:aws-account:loadbalancer/net/gke-12345678-management/arn-id"
arn_suffix = "net/gke-12345678-management/abcde1234"
dns_name = "exampledns.elb.ca-central-1.amazonaws.com"
enable_cross_zone_load_balancing = true
enable_deletion_protection = false
id = "arn:aws:elasticloadbalancing:aws-region:aws-account:loadbalancer/net/gke-12345678-management/arn-id"
internal = true
ip_address_type = "ipv4"
load_balancer_type = "network"
name = "gke-12345678-management"
security_groups = []
subnets = [
"subnet-0f77f5a97beb42e6d",
]
vpc_id = "vpc-0a123456789b"
zone_id = "Z2EPGBW3API2WT"
access_logs {
enabled = false
}
subnet_mapping {
subnet_id = "subnet-0f77f5a97beb42e6d"
}
}
שלבים לפתרון בעיות
בקטע הזה מפורטים שלבים ספציפיים לפתרון בעיות שעלולות לקרות ב-GKE ב-AWS.
שגיאות ב-Terraform
בקטע הזה מפורטות שגיאות שעשויות להתרחש בהגדרת שירות הניהול באמצעות כלי שורת הפקודה anthos-gke ו-terraform.
NoCredentialProviders
אם מופיעה השגיאה הבאה, צריך לוודא שמותקנת אצלכם גרסה של Terraform שגבוהה מגרסה v0.12.28. אם אין לכם גרסה תואמת של Terraform, צריך להוריד ולהתקין אותה.
Error: cannot determine availability zones: NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors
השאילתה לגבי הספקים הזמינים נכשלה
אם קיבלתם את השגיאה הבאה, יכול להיות ששדרגתם את הגרסה של Terraform.
exit status 1: Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider hashicorp/aws:
locked provider registry.terraform.io/hashicorp/aws 2.70.0 does not match
configured version constraint 3.26.0; must use terraform init -upgrade to
allow selection of new versions
כדי לפתור את השגיאה, צריך למחוק את הקובץ .terraform.lock.hcl מהספרייה anthos-aws.
טוקן לא ידוע
אם אתם מקבלים את השגיאה הבאה כשאתם יוצרים שירות ניהול:
Error: error running 'terraform init -input=false -no-color' exit status 1:
There are some problems with the configuration, described below.
The Terraform configuration must be valid before initialization so that
Terraform can determine which modules and providers need to be installed.
Error: Error parsing /home/user/aws/main.tf: At 15:12: Unknown token:
15:12 IDENT var.region
מוודאים שיש לכם גרסה של Terraform שגבוהה מגרסה v0.12.28. אם אין לכם גרסה תואמת של Terraform, צריך להוריד ולהתקין אותה.
כתובת לא חוקית של ספק מדור קודם
אם קיבלתם את השגיאה הבאה, אתם צריכים לשדרג את קובץ ה-Terraform הבינארי דרך כל גרסה משנית בסדר הנכון.
Error: error running 'terraform init -input=false -no-color'.
exit status 1: Error: Invalid legacy provider address
This configuration or its associated state refers to the unqualified provider
"aws".
You must complete the Terraform 0.13 upgrade process before upgrading to later
versions.
לדוגמה, אם רוצים לשדרג את Terraform מגרסה v0.12.x לגרסה v0.14.x, צריך להתקין באופן זמני את גרסה v0.13.x. אחרי התקנת גרסה v0.13.x, מריצים את הפקודות anthos-gke aws
management init ו-anthos-gke aws management apply. אחר כך תוכלו לשדרג לגרסה v0.14.x.
אי אפשר להתחבר ליעד מבוצר (bastion host)
אם אתם מקבלים את השגיאה bind [::1]:8118: Cannot assign requested address כשאתם מנסים להתחבר ליעד המבוצר (bastion host), יכול להיות שלא תוכלו להתחבר באמצעות IPv4. כדי לכפות חיבור IPv4, מריצים את הפקודה הבאה:
./bastion-tunnel.sh -N -4
אין אפשרות להתחבר לשרת
אם מופיעה השגיאה Unable to connect to the server כשמנסים להריץ פקודה של kubectl באשכול המשתמשים, צריך לבדוק את הדברים הבאים:
- לכל רשתות המשנה הפרטיות יש מסלולים ביניהן.
- לרשתות המשנה הפרטיות שלכם יש גישה לשער NAT של AWS.
- אם אתם משתמשים בגרסה
kubectl1.21, משנים את המשתנהHTTP_PROXYל-HTTPS_PROXY.
ל-Connect אין גישה לפרויקט
במהלך פעולות מסוימות של Connect כשרושמים את האשכול, יכול להיות שתופיע שגיאה דומה לזו:
ERROR: (gcloud.container.hub.memberships.register) failed to initialize Default Feature "authorizer", the fleet service account (service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com) may not have access to your project
מידע נוסף זמין במאמר פתרון בעיות בקטע 'ניהול של כמה אשכולות' בנושא לצי לא הייתה גישה לפרויקט.
שגיאות הרשאות
אם קיבלתם שגיאת אימות כשאתם משתמשים בכלי anthos-gke של שורת הפקודה, למשל:
oauth2: cannot fetch token: 400 Bad Request
מאמתים מחדש את ההתקנה של Google Cloud CLI באמצעות gcloud auth application-default login.
המכשיר kubectl לא הצליח להתחבר לאשכול
אם מופיעה השגיאה הבאה כשמנסים להתחבר לאשכול באמצעות kubectl:
Error: could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
פתרון
יכול להיות שתוקף פרטי הכניסה שלכם ל-AWS CLI פג. מוודאים שפרטי הכניסה תקפים באמצעות aws ec2 describe instances.
יוצרים מחדש את פרטי הכניסה באמצעות aws configure. אם אתם משתמשים באימות רב-שלבי (MFA), עליכם ליצור מחדש את אסימון ה-MFA של AWS.
AWSCluster שהיות Provisioning
אם המצב של אשכול ב-kubectl get awsclusters או ב-kubectl describe AWSCluster cluster-name לא משתנה מ-Provisioning, בודקים את הערך של השדה spec.controlPlane.hub.membershipName ב-AWSCluster. הערך בשדה הזה חייב להיות ייחודי.
kubectl get awsclusters
NAME STATE AGE VERSION ENDPOINT
awscluster.multicloud.cluster.gke.io/cluster-0 Provisioning 8h 1.25.5-gke.2100 gke-123456a7-controlplane-abcdefg12345.elb.us-east-1.amazonaws.com
פתרונות
כדי לפתור את הבעיה, אפשר לנסות את השלבים הבאים:
- מוודאים שאתם מריצים גרסה נתמכת של Terraform.
- אם יצרתם יותר מאשכול משתמש אחד בחשבון AWS, צריך לערוך את הגדרת ה-AWSCluster.
משנים את
spec.controlPlane.hub.membershipNameלערך ייחודי. מחילים את השינוי באמצעותkubectl.
שגיאות TLS כשמתחברים לאשכול
אם קיבלתם את השגיאה הבאה כשניסיתם להתחבר לאשכול:
error dialing backend: remote error: tls: internal error
בודקים של-AWS VPC
DHCP options set
אין ערך מותאם אישית ל-domain-name. כשמוגדר דומיין בהתאמה אישית, אי אפשר ליצור בקשת חתימה על אישור (CSR) ב-GKE ב-AWS.
פתרון
כדי לפתור את הבעיה, מבצעים אחת מהפעולות הבאות:
מגדירים את
enableDnsHostnamesל-false ב-VPC. אם יוצרים רשת VPC ייעודית ב-AWS עםanthos-gke, אפשר להגדיר את הערך הזה בקובץ.terraform/modules/gke_vpc/modules/gke-vpc/main.tf.מעדכנים את הערך של
domain-nameלברירת המחדל.
הפעלה מחדש של מישור הבקרה
אם מישור הבקרה לא מגיב, אפשר להפעיל מחדש את המופעים שלו. כשמפעילים מחדש מכונות של מישור הבקרה, ההגדרה נשארת כפי שהיא כי המצב נשמר בדיסקים מתמידים.
- בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
משתמשים ב-
kubectlכדי לקבל את קבוצת היעד של AWS EC2 ממישור הבקרה שלכם מ-AWSCluster.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-name \ -o jsonpath='{.status.targetGroupName}{"\n"}'הפלט כולל את השם של קבוצת היעד EC2 של מישור הבקרה. לדוגמה,
gke-123456a7-controlplane.פותחים את מסוף AWS EC2. בחלונית הימנית, בוחרים באפשרות קבוצות מיקוד.
לוחצים על סרגל החיפוש ומחפשים את קבוצת היעד. לוחצים על שם קבוצת היעד ואז על יעדים. תוצג רשימה של מופעי מישור הבקרה.
לכל מופע בקבוצת היעד, מבצעים את השלבים הבאים:
לוחצים על מזהה המכונה של המכונה. מופיעה מסוף המכונות של AWS EC2.
לוחצים על מזהה המכונה.
בוחרים באפשרות Actions -> Instance state -> terminate (פעולות -> מצב המופע -> סיום) כדי להסיר את המופע. מערכת EC2 יוצרת באופן אוטומטי מופע חדש עם אותו נפח אחסון EBS.
חוזרים לדף 'קבוצות מיקוד'.
אחרי שמסיימים את כל המופעים בקבוצה, חוזרים לדף Target Groups (קבוצות טירגוט).
בקטע Registered Targets בדף, מחפשים את העמודה Status. לכל אחד מהמופעים צריך להיות סטטוס של תקין. אם אחת מהמכונות תקינה, מחכים כמה דקות ולוחצים על סמל הרענון ().
אחרי שכל המופעים בקבוצת היעד תקינים, אפשר להמשיך לשלב הבא.
תיוג של רשתות משנה
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.
שגיאה במחיקת האשכולות
אם kubectl לא מגיב כשמנסים למחוק אשכול משתמשים או לקבל את האירועים של האשכול. יכול להיות שתראו את האירוע הבא.
Could not delete security group: resource SECURITY_GROUP_ID has a dependent object.
פתרון
מחיקה של כל יעדי הטמעה של AWS Elastic File System ב-SECURITY_GROUP_ID.
שגיאות API
ב-Kubernetes 1.22, כמה ממשקי API הוצאו משימוש והוחלפו. אם שדרגתם את האשכול לגרסה 1.22 ואילך, כל הקריאות שהאפליקציה שלכם מבצעת לאחד ממשקי ה-API שהוצאו משימוש ייכשלו.
פתרון
צריך לשדרג את האפליקציה כדי להחליף את הקריאות ל-API שיצא משימוש בגרסאות חדשות יותר.
Snapshots
הכלי anthos-gke תומך ביצירת תמונות מצב של סביבת GKE on AWS. תמונת מצב מכילה מידע שיעזור לצוות התמיכה לשחזר ולנפות באגים בבעיות אופליין.Google Cloud
הכלי anthos-gke יכול ליצור תמונת מצב משירות ניהול או מאשכולות משתמשים. כברירת מחדל, קובץ snapshot כולל CRD, אירועים, מידע על האשכול, יומני אשכול, יומני מכונות וקבצים של מכונות. אתם יכולים להתאים אישית את המידע שכלול בקובץ תצורה. החבילה מכילה גם קובץ index.html עם קישורים לקבצים הכלולים.
אם רוצים לפתור בעיות בהתקנה של GKE ב-AWS לפני שפונים לתמיכה, אפשר לדלג אל הקטע הבא. Google Cloud
יצירת תמונה
בקטע הזה מוסבר איך ליצור תמונת מצב מאשכול ניהול או מאשכול משתמשים באמצעות הגדרת ברירת המחדל או הגדרה בהתאמה אישית.
לפני שמתחילים
כדי להתחבר למשאבי GKE ב-AWS, מבצעים את השלבים הבאים. בוחרים אם יש לכם רשת VPC קיימת ב-AWS (או חיבור ישיר לרשת ה-VPC) או אם יצרתם רשת VPC ייעודית כשבניתם את שירות הניהול.
VPC קיים
אם יש לכם חיבור ישיר או חיבור VPN ל-VPC קיים, אל תכללו את השורה env HTTP_PROXY=http://localhost:8118 בפקודות שמופיעות בנושא הזה.
VPC ייעודי
כשיוצרים שירות ניהול ב-VPC ייעודי, GKE on AWS כולל מארח bastion בתת-רשת ציבורית.
כדי להתחבר לשירות הניהול:
עוברים לספרייה עם ההגדרה של GKE ב-AWS. יצרתם את הספרייה הזו כשהתקנתם את שירות הניהול.
cd anthos-aws
כדי לפתוח את המנהרה, מריצים את הסקריפט
bastion-tunnel.sh. המנהרה מעבירה את הנתונים אלlocalhost:8118.כדי לפתוח מנהרה ליעד המבוצר (bastion host), מריצים את הפקודה הבאה:
./bastion-tunnel.sh -Nההודעות ממנהרת ה-SSH מופיעות בחלון הזה. כשרוצים לסגור את החיבור, מפסיקים את התהליך באמצעות Control+C או סוגרים את החלון.
פותחים טרמינל חדש ועוברים לספרייה
anthos-aws.cd anthos-aws
מוודאים שאפשר להתחבר לאשכול באמצעות
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoהפלט כולל את כתובת ה-URL של שרת ה-API של שירות הניהול.
בספרייה של
anthos-aws, משתמשים ב-anthos-gkeכדי להעביר את ההקשר לשירות הניהול.cd anthos-aws anthos-gke aws management get-credentials
יצירת תמונת מצב של שירות ניהול
כדי לצלם תמונת מצב של שירות ניהול, משתמשים בפקודה
anthos-gke aws management diagnose snapshot.
env HTTPS_PROXY=http://localhost:8118 \
anthos-gke aws management diagnose snapshot \
--ssh-key-path ssh-key-path \
--workspace workspace
מחליפים את:
- ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
.ssh/anthos-gke. - workspace עם הנתיב לספרייה שבה יצרתם את הפריסה של GKE ב-AWS. אם נוצר יעד מבוצר (bastion host) כחלק מהתקנה ייעודית של VPC, GKE on AWS משתמש ב-bastion כדי להתחבר לשירות הניהול שלכם.
הפלט כולל את יומן הפעולות ואת השם של קובץ תמונת המצב:
2020/06/15 15:39:48 Found bastion instance in tfworkspace. IP: bastion-ip.aws-zone.compute.amazonaws.com
writing file: /tmp/kubeconfig-mgmt679794004/kubeconfig.conf
snapshot: 2020/06/15 15:39:50 Getting snapshot of controlPlane...
snapshot: 2020/06/15 15:39:50 Getting snapshot of kubectl command...
snapshot: 2020/06/15 15:39:52 Getting snapshot of control plane managed aws resources
...
ip-10-0-1-44/commands/ip_route_list_table_all.out
/tmp/tmp.Z26niLmVfU/snapshot.tar.gz
2020/06/15 15:40:04 Snapshot saved in snapshot-1592260783.tar.gz.
צילום תמונת מצב של אשכול משתמשים
כדי לצלם תמונת מצב של אשכול משתמשים, משתמשים בפקודה
anthos-gke aws clusters diagnose snapshot.
env HTTPS_PROXY=http://localhost:8118 \
anthos-gke aws clusters diagnose snapshot user-cluster-name \
--ssh-key-path ssh-key-path --workspace terraform-workspace
מחליפים את:
- user-cluster-name הוא השם של אשכול המשתמשים. כברירת מחדל, השם של אשכול המשתמשים הראשון הוא
cluster-0. - ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
.ssh/anthos-gke. - terraform-workspace עם הנתיב לסביבת העבודה של Terraform שבה יצרתם את הפריסה של GKE ב-AWS.
הפלט כולל את יומן הפעולות ואת השם של קובץ תמונת המצב:
2020/06/15 15:43:37 Found bastion instance in tfworkspace. IP: bastion-ip.aws-zone.compute.amazonaws.com
writing file: /tmp/kubeconfig-mgmt616204648/kubeconfig.conf
snapshot: 2020/06/15 15:43:40 Getting snapshot of controlPlane...
snapshot: 2020/06/15 15:43:40 Getting snapshot of kubectl command...
writing file: /tmp/kubeconfig-clustercluster-0620691367/kubeconfig.conf
snapshot: 2020/06/15 15:43:43 Getting snapshot of cluster default/cluster-0
snapshot: 2020/06/15 15:43:43 Getting snapshot of controlPlane...
snapshot: 2020/06/15 15:43:43 Getting snapshot of kubectl command...
snapshot: 2020/06/15 15:43:46 Getting snapshot of control plane managed aws resources
...
snapshot: 2020/06/15 15:43:48 Getting snapshot of node pools
snapshot: 2020/06/15 15:43:48 Getting snapshot of node pool default/pool-0
snapshot: 2020/06/15 15:43:48 Getting snapshot of node pool managed aws resources
...
2020/06/15 15:44:00 Snapshot saved in snapshot-1592261012.tar.gz.
שינוי התצורה של התמונה
כדי לשנות את הגדרת ברירת המחדל של התמונה, קודם משתמשים ב-anthos-gke עם האפשרות --dry-run ושומרים את הפלט בקובץ. לאחר מכן, עורכים את ההגדרה ומריצים מחדש את anthos-gke עם ההגדרה החדשה.
יצירת קובץ הגדרה לשירות הניהול
משתמשים באפשרות
anthos-gkeעם האפשרות--dry-runומפנים את הפלט לקובץ בשם management-config.yaml.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws management diagnose snapshot --ssh-key-path ssh-key-path \ --workspace workspace --dry-run > management-config.yaml 2>&1מחליפים את:
- ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
~/.ssh/anthos-gke. - workspace עם הנתיב לספרייה שבה יצרתם את הפריסה של GKE ב-AWS.
- ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
עורכים את הקובץ
management-config.yamlבכלי לעריכת טקסט. הקובץ מכיל שני קטעים. הקטע הראשון הוא יומן עם חותמת זמן מ-anthos-gke, שנראה כך:2020/06/15 15:26:51 Found bastion instance in tfworkspace. IP: bastion-ip.aws-zone.compute.amazonaws.com 2020/06/15 15:26:51 Running in dry-run mode... ...מוחקים את הקטע ביומן. שומרים את ההגדרה אחרי השורה
The snapshot configuration is:.שאר התוכן של הקובץ הוא הגדרת YAML שנראית כך:
mgmtCluster:
instanceCommands:
- dmesg
- sudo crictl ps a
- systemctl status -l containerd
- journalctl --since '1 hour ago' --utc -u containerd
- systemctl status -l kubelet
- journalctl --since '1 hour ago' --utc -u kubelet
- journalctl --since '1 hour ago' --utc --boot --dmesg
- uptime
- df --all --inodes
- ip addr
- sudo iptables-save --counters
- mount
- ip route list table all
- top -bn1
- ps -edF
- ps -eo pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup
- chronyc sources -v
- journalctl --since '1 hour ago' --utc -u chrony
instanceFiles:
- /etc/kubernetes/manifests/
- /proc/sys/fs/file-nr
- /proc/sys/net/nf_conntrack_max
- /var/log/startup.log
- /var/log/cloud-init-output.log
- /var/log/containers
kubectlCommands:
- commands:
- kubectl get events
- kubectl version
- kubectl cluster-info
- kubectl get clusterroles -o wide
- kubectl get clusterrolebindings -o wide
- kubectl get crd -o wide
- kubectl describe clusterroles
- kubectl describe clusterrolebindings
- kubectl describe crd
- kubectl get all -o yaml
- kubectl describe all
managedAWSResources: true
numOfThreads: 10
truncate: 2000
מסירים פקודות שלדעתכם חושפות מידע אישי רגיש.
מריצים את הפקודה
anthos-gkeעם האפשרות--snapshot-configועםmanagement-config.yaml.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws management diagnose snapshot --ssh-key-path ssh-key-path \ --snapshot-config management-config.yaml --workspace terraform-workspaceמחליפים את:
- ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
.ssh/anthos-gke. - terraform-workspace עם הנתיב לסביבת העבודה של Terraform שבה יצרתם את הפריסה של GKE ב-AWS.
- ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
יצירת קובץ תצורה לאשכול משתמשים
משתמשים ב-
anthos-gkeעם האפשרות--dry-runומפנים את הפלט לקובץ בשם user-config.yaml.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters diagnose snapshot user-cluster-name \ --ssh-key-path ssh-key-path --snapshot-config snapshot-config-path \ --workspace workspace --dry-run > user-config.yaml 2>&1מחליפים את:
- user-cluster-name הוא השם של אשכול המשתמשים. כברירת מחדל, השם של האשכול הראשון הוא
cluster-0. - ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
~/.ssh/anthos-gke. - workspace עם הנתיב לספרייה שבה יצרתם את הפריסה של GKE ב-AWS.
- user-cluster-name הוא השם של אשכול המשתמשים. כברירת מחדל, השם של האשכול הראשון הוא
עורכים את הקובץ
management-config.yamlבכלי לעריכת טקסט. הקובץ מכיל שני קטעים. הקטע הראשון הוא יומן עם חותמת זמן מ-anthos-gke, שנראה כך:2020/06/15 15:26:51 Found bastion instance in tfworkspace. IP: bastion-ip.aws-zone.compute.amazonaws.com 2020/06/15 15:26:51 Running in dry-run mode... ...מוחקים את הקטע ביומן. שומרים את ההגדרה אחרי השורה
The snapshot configuration is:.שאר התוכן של הקובץ הוא הגדרת YAML שנראית כך:
clusters:
- clusterName: cluster-0
controlPlane:
instanceCommands:
- dmesg
- sudo crictl ps a
- systemctl status -l containerd
- journalctl --since '1 hour ago' --utc -u containerd
- systemctl status -l kubelet
- journalctl --since '1 hour ago' --utc -u kubelet
- journalctl --since '1 hour ago' --utc --boot --dmesg
- uptime
- df --all --inodes
- ip addr
- sudo iptables-save --counters
- mount
- ip route list table all
- top -bn1
- sudo docker ps -a
- ps -edF
- ps -eo pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup
instanceFiles:
- /etc/kubernetes/manifests/
- /proc/sys/fs/file-nr
- /proc/sys/net/nf_conntrack_max
- /var/log/startup.log
- /var/log/cloud-init-output.log
- /var/log/containers
kubectlCommands:
- commands:
- kubectl get events
- kubectl version
- kubectl cluster-info
- kubectl get clusterroles -o wide
- kubectl get clusterrolebindings -o wide
- kubectl get crd -o wide
- kubectl describe clusterroles
- kubectl describe clusterrolebindings
- kubectl describe crd
- kubectl get all -o yaml
- kubectl describe all
- kubectl logs --namespace=kube-system -l k8s-app=aws-ebs-csi-driver-node --all-containers
- kubectl logs --namespace=kube-system -l k8s-app=aws-efs-csi-driver-node --all-containers
- kubectl logs --namespace=kube-system -l k8s-app=calico-node --all-containers
- kubectl logs --namespace=kube-system -l k8s-app=node-local-dns --all-containers
- kubectl logs --namespace=kube-system -l k8s-app=kube-proxy --all-containers
- kubectl describe nodes
managedAWSResources: true
nodePools:
- NodePoolName: ""
instanceCommands:
- dmesg
- sudo crictl ps a
- systemctl status -l containerd
- journalctl --since '1 hour ago' --utc -u containerd
- systemctl status -l kubelet
- journalctl --since '1 hour ago' --utc -u kubelet
- journalctl --since '1 hour ago' --utc --boot --dmesg
- uptime
- df --all --inodes
- ip addr
- sudo iptables-save --counters
- mount
- ip route list table all
- top -bn1
- sudo docker ps -a
- ps -edF
- ps -eo pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup
instanceFiles:
- /etc/kubernetes/manifests/
- /proc/sys/fs/file-nr
- /proc/sys/net/nf_conntrack_max
- /var/log/startup.log
- /var/log/cloud-init-output.log
- /var/log/containers
managedAWSResources: true
mgmtCluster:
kubectlCommands:
- commands:
- kubectl get awscluster -oyaml
numOfThreads: 10
truncate: 2000
מסירים פקודות שלדעתכם חושפות מידע אישי רגיש.
מריצים את הפקודה
anthos-gkeעם האפשרות--snapshot-configועםuser-config.yaml.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters diagnose snapshot user-cluster-name --ssh-key-path <ssh-key-path> \ --snapshot-config user-config.yaml --workspace <terraform-workspace>מחליפים את:
- user-cluster-name הוא השם של אשכול המשתמשים. כברירת מחדל, השם של האשכול הראשון הוא
cluster-0. - ssh-key-path עם הנתיב למפתח ה-SSH שלכם ב-GKE ב-AWS.
כברירת מחדל, הקובץ נוצר ב-
.ssh/anthos-gke. - terraform-workspace עם הנתיב לסביבת העבודה של Terraform שבה יצרתם את הפריסה של GKE ב-AWS.
- user-cluster-name הוא השם של אשכול המשתמשים. כברירת מחדל, השם של האשכול הראשון הוא
תוכן ברירת המחדל של תמונות המצב
מבוא
בקטע הזה מוצגות דוגמאות לעצי קבצים שנכללים בתמונת המצב שמוגדרת כברירת מחדל לשירות ניהול ולמקטורת משתמשים.
שירות ניהול
העץ הבא הוא דוגמה לקבצים בתוך תמונת מצב של אשכול ניהול.
.
├── index.html
├── mgmt_cluster
│ ├── controlplane-0-10.0.1.44
│ │ └── ip-10-0-1-44
│ │ ├── commands
│ │ │ ├── df_--all_--inodes.out
│ │ │ ├── dmesg.out
│ │ │ ├── ip_addr.out
│ │ │ ├── ip_route_list_table_all.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ ├── mount.out
│ │ │ ├── ps_-edF.out
│ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ ├── sudo_crictl_ps_a.out
│ │ │ ├── sudo_docker_ps_-a.err
│ │ │ ├── sudo_docker_ps_-a.out
│ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ ├── top_-bn1.out
│ │ │ └── uptime.out
│ │ └── files
│ │ ├── etc
│ │ │ └── kubernetes
│ │ │ └── manifests
│ │ │ ├── etcd.yaml
│ │ │ ├── gke-aws-cluster-operator.yaml
│ │ │ ├── kube-apiserver.yaml
│ │ │ └── kube-controller-manager.yaml
│ │ ├── proc
│ │ │ └── sys
│ │ │ ├── fs
│ │ │ │ └── file-nr
│ │ │ └── net
│ │ │ └── nf_conntrack_max
│ │ └── var
│ │ └── log
│ │ ├── cloud-init-output.log
│ │ ├── containers
│ │ │ ├── etcd-ip-10-0-1-44.ap-southeast-2.compute.internal_kube-system_kube-etcd-149e96d0b0da2250505a6b41603e57f42a5386701fa0033840e8f3b211b49733.log
│ │ │ ├── gke-aws-cluster-operator-ip-10-0-1-44.ap-southeast-2.compute.internal_kube-system_gke-aws-cluster-operator-d423d3191ce1a8c65c4a0f30f1d7598a8739c0aba65784355b28dee0d694626a.log
│ │ │ ├── kube-apiserver-ip-10-0-1-44.ap-southeast-2.compute.internal_kube-system_kube-apiserver-48061659a4b77f4b50eed5819dbfab5586dc9086fa24217cc16486bd852dfbf6.log
│ │ │ ├── kube-apiserver-ip-10-0-1-44.ap-southeast-2.compute.internal_kube-system_kube-apiserver-baf60859cd807e9325295fde7a8d3cd16c3d5e73abca87acc107cee5e08f4c1c.log
│ │ │ └── kube-controller-manager-ip-10-0-1-44.ap-southeast-2.compute.internal_kube-system_kube-controller-manager-af9b4ffb40ada3383630090948ec8133ca0e3e54c232dd3f068b3bd8bbee8f92.log
│ │ └── startup.log
│ ├── kubectl
│ │ ├── kubectl_cluster-info_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_describe_all_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_describe_clusterrolebindings_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_describe_clusterroles_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_describe_crd_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_get_all_-o_yaml_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_get_clusterrolebindings_-o_wide_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_get_clusterroles_-o_wide_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_get_crd_-o_wide_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ ├── kubectl_get_events_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ │ └── kubectl_version_--kubeconfig_.tmp.kubeconfig-mgmt609381529.kubeconfig.conf.out
│ └── managed_resources
│ ├── controlplane-0
│ │ ├── asg.out
│ │ └── instance-0.out
│ ├── elb.out
│ └── target_group.out
├── snapshot.config
└── snapshot.log
אשכול משתמשים
העץ הבא הוא דוגמה לקבצים בתוך תמונת מצב של אשכול משתמשים בשם cluster-0.
.
├── cluster
│ └── cluster-0
│ ├── control_plane
│ │ ├── controlplane-0-10.0.1.7
│ │ │ └── ip-10-0-1-7
│ │ │ ├── commands
│ │ │ │ ├── df_--all_--inodes.out
│ │ │ │ ├── dmesg.out
│ │ │ │ ├── ip_addr.out
│ │ │ │ ├── ip_route_list_table_all.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ │ ├── mount.out
│ │ │ │ ├── ps_-edF.out
│ │ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ │ ├── sudo_crictl_ps_a.out
│ │ │ │ ├── sudo_docker_ps_-a.err
│ │ │ │ ├── sudo_docker_ps_-a.out
│ │ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ │ ├── top_-bn1.out
│ │ │ │ └── uptime.out
│ │ │ └── files
│ │ │ ├── etc
│ │ │ │ └── kubernetes
│ │ │ │ └── manifests
│ │ │ │ ├── aws-ebs-csi-driver-controller.yaml
│ │ │ │ ├── aws-encryption-provider.yaml
│ │ │ │ ├── cluster-autoscaler.yaml
│ │ │ │ ├── etcd-events.yaml
│ │ │ │ ├── etcd.yaml
│ │ │ │ ├── kube-apiserver.yaml
│ │ │ │ ├── kube-controller-manager.yaml
│ │ │ │ └── kube-scheduler.yaml
│ │ │ ├── proc
│ │ │ │ └── sys
│ │ │ │ ├── fs
│ │ │ │ │ └── file-nr
│ │ │ │ └── net
│ │ │ │ └── nf_conntrack_max
│ │ │ └── var
│ │ │ └── log
│ │ │ ├── cloud-init-output.log
│ │ │ ├── containers
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_csi-attacher-218b7834cda8b4ae0f6687e06b33426ca39669a6c2652948e17746d49ed4c7c9.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_csi-provisioner-ff1ba1960712a00065db1e036e1aaf5aeaca0979c833d020ad1cafdea05a76c7.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_ebs-plugin-697389a6c73bdb4a0370a644a28617b3b8a12862341b91ca2d640aa66724affd.log
│ │ │ │ ├── aws-encryption-provider-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_aws-encryption-provider-b08216cbca004f71e68145b9a38b931276dd9ef92d26c53b85275587ce28f3ca.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-57f9ca6abec10a76b42449dababea6c963853b1aa30f1db2b87d963311d03629.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-9c09937ddbe3220c896f857a8b8c02c84062f13092b39ebac3ab1ce26f13b317.log
│ │ │ │ ├── etcd-events-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_kube-etcd-events-4e79334e69f670a3a4637c20635944abb71ed93d6e802407ef5881478ee78dc1.log
│ │ │ │ ├── etcd-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_kube-etcd-e6dbe39ef969fb2f049292d4f3a66a41d22f963b40f72f5f91ad6acd9e9cde77.log
│ │ │ │ ├── kube-apiserver-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_kube-apiserver-e61770a46518313306e1668c34e4efbdb3ed81b7f451dc3278a00a40fee09e0d.log
│ │ │ │ ├── kube-controller-manager-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_kube-controller-manager-3b33df6a4d4cca8fd63f90d4fcbee65595e71c0390a5c29c81670d0232b98edc.log
│ │ │ │ └── kube-scheduler-ip-10-0-1-7.ap-southeast-2.compute.internal_kube-system_kube-scheduler-0aae214e17741189db8d3608275e71551f62f43619e07a37a11017b88a611970.log
│ │ │ └── startup.log
│ │ ├── controlplane-1-10.0.1.61
│ │ │ └── ip-10-0-1-61
│ │ │ ├── commands
│ │ │ │ ├── df_--all_--inodes.out
│ │ │ │ ├── dmesg.out
│ │ │ │ ├── ip_addr.out
│ │ │ │ ├── ip_route_list_table_all.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ │ ├── mount.out
│ │ │ │ ├── ps_-edF.out
│ │ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ │ ├── sudo_crictl_ps_a.out
│ │ │ │ ├── sudo_docker_ps_-a.err
│ │ │ │ ├── sudo_docker_ps_-a.out
│ │ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ │ ├── top_-bn1.out
│ │ │ │ └── uptime.out
│ │ │ └── files
│ │ │ ├── etc
│ │ │ │ └── kubernetes
│ │ │ │ └── manifests
│ │ │ │ ├── aws-ebs-csi-driver-controller.yaml
│ │ │ │ ├── aws-encryption-provider.yaml
│ │ │ │ ├── cluster-autoscaler.yaml
│ │ │ │ ├── etcd-events.yaml
│ │ │ │ ├── etcd.yaml
│ │ │ │ ├── kube-apiserver.yaml
│ │ │ │ ├── kube-controller-manager.yaml
│ │ │ │ └── kube-scheduler.yaml
│ │ │ ├── proc
│ │ │ │ └── sys
│ │ │ │ ├── fs
│ │ │ │ │ └── file-nr
│ │ │ │ └── net
│ │ │ │ └── nf_conntrack_max
│ │ │ └── var
│ │ │ └── log
│ │ │ ├── cloud-init-output.log
│ │ │ ├── containers
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_csi-attacher-63345efd65ea584c35f4b0d2de443bf42e83e65324e899be27335a25fe07a72c.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_csi-provisioner-6f66e7479c319fbcbcaf53f9b5398cd8e53bcd646fa9788afbc25a69fc9291fe.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_ebs-plugin-2ee649206dd099e29b8bb3cbf27bef499b851682c07590a34c2e08d9545ca51b.log
│ │ │ │ ├── aws-encryption-provider-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_aws-encryption-provider-3d2b5c28b7389e1303d2e36dd510ec40cef99f2ea63823901ea9806869def8fa.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-ebc572523516845d023884810f721865c2f0a76e34aaf92babdffacf4c95f75b.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-f7a7480c9adb08077b9a07d2f14e2b14dda7b4d50027cf105d90f37c63945bfa.log
│ │ │ │ ├── etcd-events-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_kube-etcd-events-60301eef32b7c10d0aea3de19549bfdcc3e4152cf3ca8ca7d5e10785e2e232fd.log
│ │ │ │ ├── etcd-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_kube-etcd-25a369f08d0d2bbc9f8f83337724e14c9878a1a0249cc5e9c7c63cae3d3657a1.log
│ │ │ │ ├── kube-apiserver-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_kube-apiserver-13a276422964d2674f16d971bafcd25555eee3eb10b6a6f60686e8b8810a5def.log
│ │ │ │ ├── kube-controller-manager-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_kube-controller-manager-18625e69e9604fbacbe82aebc6dc18dd4427269941a25a9bdef3fc0e5a4dfb9e.log
│ │ │ │ └── kube-scheduler-ip-10-0-1-61.ap-southeast-2.compute.internal_kube-system_kube-scheduler-12f48aad99ecc18b450ebcda85ffb7f138bbb6bc261fb06e75ae1548647eaa45.log
│ │ │ └── startup.log
│ │ ├── controlplane-2-10.0.1.161
│ │ │ └── ip-10-0-1-161
│ │ │ ├── commands
│ │ │ │ ├── df_--all_--inodes.out
│ │ │ │ ├── dmesg.out
│ │ │ │ ├── ip_addr.out
│ │ │ │ ├── ip_route_list_table_all.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ │ ├── mount.out
│ │ │ │ ├── ps_-edF.out
│ │ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ │ ├── sudo_crictl_ps_a.out
│ │ │ │ ├── sudo_docker_ps_-a.err
│ │ │ │ ├── sudo_docker_ps_-a.out
│ │ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ │ ├── top_-bn1.out
│ │ │ │ └── uptime.out
│ │ │ └── files
│ │ │ ├── etc
│ │ │ │ └── kubernetes
│ │ │ │ └── manifests
│ │ │ │ ├── aws-ebs-csi-driver-controller.yaml
│ │ │ │ ├── aws-encryption-provider.yaml
│ │ │ │ ├── cluster-autoscaler.yaml
│ │ │ │ ├── etcd-events.yaml
│ │ │ │ ├── etcd.yaml
│ │ │ │ ├── kube-apiserver.yaml
│ │ │ │ ├── kube-controller-manager.yaml
│ │ │ │ └── kube-scheduler.yaml
│ │ │ ├── proc
│ │ │ │ └── sys
│ │ │ │ ├── fs
│ │ │ │ │ └── file-nr
│ │ │ │ └── net
│ │ │ │ └── nf_conntrack_max
│ │ │ └── var
│ │ │ └── log
│ │ │ ├── cloud-init-output.log
│ │ │ ├── containers
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_csi-attacher-0d66d0e6d7ead9a0af3ee2b9ea7769669a33636639549571ed10eaacf7ddd85b.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_csi-provisioner-c68d3acbdf8f319fe1d700eb3584fd07016d7a8b507e05261b1596fb96ca7598.log
│ │ │ │ ├── aws-ebs-csi-driver-controller-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_ebs-plugin-66c248fc6c21021355ad5aa20ec98894b3370d1b58d86d3bf4b794bfb971eaef.log
│ │ │ │ ├── aws-encryption-provider-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_aws-encryption-provider-f79e0367f399331652f7beb9145e97eefe95a635a3101ffb73bb8c29d449304e.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-4ce584e9f04e3c545168a01a84b4a697a199e4ff536477d8cb884f89ab65872c.log
│ │ │ │ ├── cluster-autoscaler-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_cluster-autoscaler-a384f6202e6b7f0a3d5918adc87a8acf158a4e5d13401825a129188663cf32d7.log
│ │ │ │ ├── etcd-events-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_kube-etcd-events-4975f4f7ea692237be1016e2c03e024ca58cc78745b482ca41fe80481c425f28.log
│ │ │ │ ├── etcd-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_kube-etcd-92a56adf23ce887f032335ccc2ebd48e39de6ddd600302fe985d3b088e8d4eea.log
│ │ │ │ ├── kube-apiserver-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_kube-apiserver-76551958905114e0eaa056c0e3eb7cc0af7d9f6291af9efe49bbab95250500ce.log
│ │ │ │ ├── kube-controller-manager-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_kube-controller-manager-d50c38a03f5e01ca438508db11091e9421fa8eb7231f484303a350a7b0538439.log
│ │ │ │ └── kube-scheduler-ip-10-0-1-161.ap-southeast-2.compute.internal_kube-system_kube-scheduler-7ebaccccbf67c06d379b1541f1970e4e987de138556542469cc24aacea1c9213.log
│ │ │ └── startup.log
│ │ ├── kubectl
│ │ │ ├── kubectl_cluster-info_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_describe_all_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_describe_clusterrolebindings_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_describe_clusterroles_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_describe_crd_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_get_all_-o_yaml_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_get_clusterrolebindings_-o_wide_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_get_clusterroles_-o_wide_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_get_crd_-o_wide_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ ├── kubectl_get_events_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ │ └── kubectl_version_--kubeconfig_.tmp.kubeconfig-clustercluster-0904143419.kubeconfig.conf.out
│ │ └── managed_resources
│ │ ├── controlplane-0
│ │ │ ├── asg.out
│ │ │ ├── eni.out
│ │ │ ├── etcd.out
│ │ │ └── instance-0.out
│ │ ├── controlplane-1
│ │ │ ├── asg.out
│ │ │ ├── eni.out
│ │ │ ├── etcd.out
│ │ │ └── instance-0.out
│ │ ├── controlplane-2
│ │ │ ├── asg.out
│ │ │ ├── eni.out
│ │ │ ├── etcd.out
│ │ │ └── instance-0.out
│ │ ├── elb.out
│ │ └── target_group.out
│ └── nodepools
│ ├── default
│ │ └── pool-0
│ │ ├── i-03a23df438ac8278e
│ │ │ └── ip-10-0-1-53
│ │ │ ├── commands
│ │ │ │ ├── df_--all_--inodes.out
│ │ │ │ ├── dmesg.out
│ │ │ │ ├── ip_addr.out
│ │ │ │ ├── ip_route_list_table_all.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ │ ├── mount.out
│ │ │ │ ├── ps_-edF.out
│ │ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ │ ├── sudo_crictl_ps_a.out
│ │ │ │ ├── sudo_docker_ps_-a.err
│ │ │ │ ├── sudo_docker_ps_-a.out
│ │ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ │ ├── top_-bn1.out
│ │ │ │ └── uptime.out
│ │ │ └── files
│ │ │ ├── proc
│ │ │ │ └── sys
│ │ │ │ ├── fs
│ │ │ │ │ └── file-nr
│ │ │ │ └── net
│ │ │ │ └── nf_conntrack_max
│ │ │ └── var
│ │ │ └── log
│ │ │ ├── cloud-init-output.log
│ │ │ ├── containers
│ │ │ │ ├── aws-ebs-csi-driver-node-mwxhs_kube-system_ebs-plugin-696201b4997d5cc72d85e6b005faa544ab2311571b50d2b1402b6e967a9364f0.log
│ │ │ │ ├── aws-ebs-csi-driver-node-mwxhs_kube-system_node-driver-registrar-fcde7a18980aee3c690a84953f44341df9755e28ada6a42a6aea4c1b9d6cdd8e.log
│ │ │ │ ├── calico-node-2g6zt_kube-system_calico-node-f6c22e30079cff40bef7deafbdfa2a97d0c3a4a95e7b68499c917adb1aa24b09.log
│ │ │ │ ├── calico-node-2g6zt_kube-system_flexvol-driver-9c6e02ad10d342a91e2c3c3d924f747cfab756e719ffc580c073c6e3640b7515.log
│ │ │ │ ├── calico-node-2g6zt_kube-system_install-cni-3649827b98cb5b2f79f8e9204b07247ca8d2768e4d13b1a8a1359278741ed156.log
│ │ │ │ ├── calico-node-2g6zt_kube-system_upgrade-ipam-3a2fe7afee90bfe4e09b0939300be89f4795bc7a57e8085a57cb714e015092f6.log
│ │ │ │ ├── coredns-88cd756b8-thm49_kube-system_coredns-6485d1e189c7b11fdc6249316ab6082360737c67edb77ab0d426eb26dba261ee.log
│ │ │ │ ├── gke-connect-agent-20200605-02-00-8647455579-jh2r2_gke-connect_gke-connect-agent-20200605-02-00-369a43ce1bccb57bf3abfd503b9b25c81dbcd73d60a8642b68c0bb89b1b8e9fd.log
│ │ │ │ └── kube-proxy-sg5nr_kube-system_kube-proxy-44f9171a644c8d7d0497900f361faa22fc673adc8336608ced096e655ccde762.log
│ │ │ └── startup.log
│ │ ├── i-0569a9f23d49f59ea
│ │ │ └── ip-10-0-1-137
│ │ │ ├── commands
│ │ │ │ ├── df_--all_--inodes.out
│ │ │ │ ├── dmesg.out
│ │ │ │ ├── ip_addr.out
│ │ │ │ ├── ip_route_list_table_all.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ │ ├── mount.out
│ │ │ │ ├── ps_-edF.out
│ │ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ │ ├── sudo_crictl_ps_a.out
│ │ │ │ ├── sudo_docker_ps_-a.err
│ │ │ │ ├── sudo_docker_ps_-a.out
│ │ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ │ ├── top_-bn1.out
│ │ │ │ └── uptime.out
│ │ │ └── files
│ │ │ ├── proc
│ │ │ │ └── sys
│ │ │ │ ├── fs
│ │ │ │ │ └── file-nr
│ │ │ │ └── net
│ │ │ │ └── nf_conntrack_max
│ │ │ └── var
│ │ │ └── log
│ │ │ ├── cloud-init-output.log
│ │ │ ├── containers
│ │ │ │ ├── aws-ebs-csi-driver-node-zxxqg_kube-system_ebs-plugin-da9a84b2e45e2ad18d08cbab5260d4cee17636d868a645ab7343f50c25c64ece.log
│ │ │ │ ├── aws-ebs-csi-driver-node-zxxqg_kube-system_node-driver-registrar-f96a7dbf1bac95c41e022b2ede129c664caafa6eff37caa52f6763c1e737be1a.log
│ │ │ │ ├── calico-kube-controllers-56cd854695-mjfwx_kube-system_calico-kube-controllers-0ed4316450f5f2e6c4abfb5cc430ed18e2d530525e2ab0ed69a150eed5b3c860.log
│ │ │ │ ├── calico-node-n5klf_kube-system_calico-node-36101112d423636164c236eacca76d6814c167203cfaf89754984cd79f3b6bbf.log
│ │ │ │ ├── calico-node-n5klf_kube-system_flexvol-driver-5837e2ba75d549373ca0a3032d1be0c75c0dd442d2e25e286e9006e604794da2.log
│ │ │ │ ├── calico-node-n5klf_kube-system_install-cni-0e19cfa737dcaaf8fbc40ee2e68460ea8888829b7fab4b8733d5322c339cf838.log
│ │ │ │ ├── calico-node-n5klf_kube-system_upgrade-ipam-10c94c2fa5f67a69ad9ebeedf9764bbf566c99b50ef60f2f268d484bd028eb76.log
│ │ │ │ └── kube-proxy-pzh87_kube-system_kube-proxy-5df6d54f9ff2dd036687e064186bcfc2b7c0536fd88586b5cac9e140ffa16658.log
│ │ │ └── startup.log
│ │ └── i-05bfb8fc961337cc7
│ │ └── ip-10-0-1-167
│ │ ├── commands
│ │ │ ├── df_--all_--inodes.out
│ │ │ ├── dmesg.out
│ │ │ ├── ip_addr.out
│ │ │ ├── ip_route_list_table_all.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_--boot_--dmesg.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_containerd.out
│ │ │ ├── journalctl_--since__1_hour_ago__--utc_-u_kubelet.out
│ │ │ ├── mount.out
│ │ │ ├── ps_-edF.out
│ │ │ ├── ps_-eo_pid,tid,ppid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm,args,cgroup.out
│ │ │ ├── sudo_crictl_ps_a.out
│ │ │ ├── sudo_docker_ps_-a.err
│ │ │ ├── sudo_docker_ps_-a.out
│ │ │ ├── sudo_iptables-save_--counters.out
│ │ │ ├── systemctl_status_-l_containerd.out
│ │ │ ├── systemctl_status_-l_kubelet.out
│ │ │ ├── top_-bn1.out
│ │ │ └── uptime.out
│ │ └── files
│ │ ├── proc
│ │ │ └── sys
│ │ │ ├── fs
│ │ │ │ └── file-nr
│ │ │ └── net
│ │ │ └── nf_conntrack_max
│ │ └── var
│ │ └── log
│ │ ├── cloud-init-output.log
│ │ ├── containers
│ │ │ ├── aws-ebs-csi-driver-node-kdghk_kube-system_ebs-plugin-3e107a145cc86ac24014b1bf4670b26cb9372fd8022bc0698ca68b27e79a9bfe.log
│ │ │ ├── aws-ebs-csi-driver-node-kdghk_kube-system_node-driver-registrar-25874dd7063db875a27f170e13e74267749c0d9846781ac8ab7568ac5f940a11.log
│ │ │ ├── calico-node-b98tq_kube-system_calico-node-1dd735ce87fe6f0f73761d2d97c07ea6f908d0cd088e23f6b916b13b6805f828.log
│ │ │ ├── calico-node-b98tq_kube-system_flexvol-driver-e9951b1a3de0ed9426de260c5591b4c161b4917873f2eaaf1cbdbd3926c9f933.log
│ │ │ ├── calico-node-b98tq_kube-system_install-cni-58a2f1a5bfb16951a4b012b5ed30751d24c3380f489011274e3ca8de7eb1e1aa.log
│ │ │ ├── calico-node-b98tq_kube-system_upgrade-ipam-f9804f2eef0d18122219dbb2843880a392f55493dab0edc16bce2dc5e186fa2a.log
│ │ │ ├── kube-proxy-pf7sv_kube-system_kube-proxy-473ffafc30368b1cb370cd5cbbe4b20e77dfc383da04386d3ec02948f04bc97d.log
│ │ │ ├── metrics-server-v0.3.3-85dfcbb78-fmklb_kube-system_metrics-server-4570fa1bd82d238d0ab11fc4256e5cc9fa97accece05f7f0c02d5edab884468e.log
│ │ │ └── metrics-server-v0.3.3-85dfcbb78-fmklb_kube-system_metrics-server-nanny-71eeba81fb3cf128066ca965aabc5bfdf8e045790a46a9ec7e56e73ad3859218.log
│ │ └── startup.log
│ └── managed_resources
│ ├── asg.out
│ ├── instance-0.out
│ ├── instance-1.out
│ └── instance-2.out
├── index.html
├── mgmt_cluster
│ └── kubectl
│ └── kubectl_get_awscluster_-oyaml_--kubeconfig_.tmp.kubeconfig-mgmt786666316.kubeconfig.conf.out
├── snapshot.config
└── snapshot.log