Risoluzione dei problemi

Scopri i passaggi che potrebbero essere utili durante la risoluzione dei problemi relativi all'utilizzo di GKE su AWS.

Panoramica

Questo argomento è suddiviso nelle seguenti sezioni:

Ottenere informazioni sul cluster

Questa sezione spiega come recuperare informazioni sull'installazione di GKE su AWS per la risoluzione dei problemi.

Recupero di informazioni dal cluster di gestione

Puoi eseguire query sul servizio di gestione per informazioni sui cluster utente.

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto al servizio di gestione.

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

  2. Utilizza kubectl get per recuperare le informazioni di base sullo stato di un cluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSCluster
    

    L'output include il nome, lo stato attuale, l'età, la versione e l'endpoint di ogni cluster.

    NAME        STATE          AGE     VERSION         ENDPOINT
    cluster-0   Provisioning   2m41s   1.25.5-gke.2100   gke-<var>endpoint</var>.elb.us-east-1.amazonaws.com
    

Puoi recuperare ulteriori informazioni su un cluster con kubectl describe.

env HTTPS_PROXY=http://localhost:8118 \
  kubectl describe AWSCluster cluster-0

In questo output sono presenti tre sezioni principali:

  • Spec elenca la configurazione dichiarativa iniziale del cluster.
  • Status contiene lo stato del cluster e le risorse AWS create dal servizio di gestione.
  • Events include tutte le azioni o gli errori recenti. Questo log è inestimabile per il debug del cluster.

L'output è simile al seguente.

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

Recupero degli ID cluster utente

Per configurare determinate funzionalità di GKE su AWS, potrebbe essere necessario ottenere gli ID cluster utente.

Per ottenere l'ID cluster utente GKE su AWS, segui questi passaggi:

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto al servizio di gestione.

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

  2. Utilizza kubectl get awscluster per recuperare gli ID cluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster -o jsonpath={.items..status.clusterID}
    

    L'output contiene gli ID cluster.

Eventi

Un evento è un messaggio associato a un oggetto Kubernetes. Gli eventi descrivono le azioni che influiscono sullo stato della risorsa. Il servizio di gestione collega gli eventi agli oggetti AWSCluster e AWSNodePool. Gli eventi forniscono un log dei passaggi eseguiti per creare, eseguire l'upgrade, ridimensionare o eliminare il cluster. Usa kubectl get events per elencare gli eventi.

env HTTPS_PROXY=http://localhost:8118 \
    kubectl get events

Output di esempio

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"

Log operatore

Gli eventi elencano le azioni di alto livello intraprese dall'operatore. Potrebbe essere necessario osservare un'attività di livello inferiore, come le analisi dello stack. Il servizio di gestione esegue un pod statico denominato gke-aws-cluster-operator. Questa applicazione è un operatore che contiene la logica di gestione del cluster di base.

Nei passaggi seguenti, utilizzerai lo strumento crictl per esaminare i log da gke-aws-cluster-operator.

  1. Passa alla directory con la tua configurazione GKE su AWS. Hai creato questa directory durante l'installazione del servizio di gestione.

    cd anthos-aws

  2. Individua il DNS dell'istanza EC2 di gestione. Scegli la versione di Terraform ed esegui questi comandi:

    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 o versioni successive

    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)
    
  3. Se utilizzi un bastion host, trova il DNS del bastion host.

    Terraform 0.12, 0.13

    export BASTION_DNS=$(terraform output bastion_dns_name)
    

    Terraform 0.14.3 o versioni successive

    export BASTION_DNS=$(terraform output -raw bastion_dns_name)
    
  4. Collegati tramite SSH all'istanza di gestione. Scegli se hai una connessione diretta o un bastion host.

    Connessione diretta

    ssh -i ~/.ssh/anthos-gke ubuntu@$MANAGEMENT_IP
    

    Bastione

    ssh -i ~/.ssh/anthos-gke -J ubuntu@$BASTION_DNS ubuntu@$MANAGEMENT_IP
    
  5. Recupera l'ID contenitore del 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)
    
  6. Stampa i log del pod.

    sudo crictl logs $CONTAINER_ID
    

Terraform

Il comando anthos-gke esegue l'output di Terraform per eseguire il provisioning di un servizio di gestione. Puoi utilizzare il comando terraform state per elencare l'infrastruttura gestita nello state di Terraform.

terraform state list

Output di esempio

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

Possiamo esaminare più da vicino qualsiasi risorsa con il comando terraform state show. Ad esempio, esaminiamo il bilanciatore del carico davanti al servizio di gestione.

terraform state show module.gke_dedicated_vpc.module.gke_management.aws_lb.this

Output di esempio

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"
    }
}

Passaggi per la risoluzione dei problemi

Questa sezione elenca i passaggi specifici per la risoluzione dei problemi che potrebbero verificarsi con GKE su AWS.

Errori di Terraform

In questa sezione sono elencati gli errori che potrebbero verificarsi durante la configurazione del servizio di gestione con gli strumenti a riga di comando anthos-gke e terraform.

NoCredentialProviders

Se visualizzi il seguente errore, conferma di avere una versione di Terraform superiore alla v0.12.28. Se non hai una versione compatibile di Terraform, scaricala e installala.

Error: cannot determine availability zones: NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors

Impossibile eseguire una query sui provider disponibili

Se ricevi il seguente errore, potresti aver eseguito l'upgrade della tua versione di 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

Per correggere questo errore, elimina il file .terraform.lock.hcl dalla directory anthos-aws.

Token sconosciuto

Se durante la creazione di un servizio di gestione viene visualizzato il seguente errore:

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

Verifica di avere una versione di Terraform superiore alla v0.12.28. Se non hai una versione compatibile di Terraform, scaricala e installala.

Indirizzo del provider precedente non valido

Se visualizzi il seguente errore, devi eseguire l'upgrade del tuo programma binario Terraform tramite ogni versione secondaria nell'ordine.

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.

Ad esempio, se vuoi eseguire l'upgrade di Terraform dalla versione v0.12.x alla versione v0.14.x, devi installare temporaneamente la versione v0.13.x. Dopo aver installato la versione v0.13.x, esegui anthos-gke aws management init e anthos-gke aws management apply. Puoi quindi eseguire l'upgrade alla versione v0.14.x.

Impossibile connettersi al bastion host

Se ricevi l'errore bind [::1]:8118: Cannot assign requested address quando cerchi di connetterti al tuo bastion host, potresti non riuscire a connetterti utilizzando IPv4. Forza una connessione IPv4 con il seguente comando:

./bastion-tunnel.sh -N -4

Impossibile connettersi al server

Se ricevi l'errore Unable to connect to the server quando cerchi di eseguire un comando kubectl sul tuo cluster utente, verifica quanto segue:

  • Tutte le subnet private hanno route tra loro.
  • Le subnet private hanno accesso a un gateway AWS NAT.
  • Se utilizzi kubectl 1.21, cambia la variabile HTTP_PROXY in HTTPS_PROXY.

Connect non può accedere al progetto

Durante alcune operazioni di Connect durante la registrazione del cluster, potresti notare un errore simile al seguente:

  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
  

Per maggiori informazioni, consulta la voce Il parco risorse non può accedere al progetto in Risoluzione dei problemi della gestione multicluster.

Errori relativi alle autorizzazioni

Se ricevi un errore di autenticazione quando utilizzi lo strumento a riga di comando anthos-gke, ad esempio:

oauth2: cannot fetch token: 400 Bad Request

Esegui nuovamente l'autenticazione dell'installazione di Google Cloud CLI con gcloud auth application-default login.

kubectl non può connettersi al cluster

Se ricevi il seguente errore quando cerchi di connetterti al tuo cluster con kubectl:

Error: could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors

Soluzione

Le credenziali AWS CLI potrebbero essere scadute. Conferma che le credenziali siano valide con aws ec2 describe instances.

Rigenera le tue credenziali con aws configure. Se utilizzi l'autenticazione a più fattori (MFA), rigenera il token MFA AWS.

Un AWSCluster rimane Provisioning

Se lo stato di un cluster in kubectl get awsclusters o kubectl describe AWSCluster cluster-name non cambia da Provisioning, controlla il valore del campo spec.controlPlane.hub.membershipName di AWSCluster. Il valore di questo campo deve essere univoco.

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

Soluzioni

Per risolvere il problema, prova i seguenti passaggi:

Errori TLS durante la connessione al cluster

Se ricevi il seguente errore durante la connessione al cluster:

error dialing backend: remote error: tls: internal error

Verifica che il set di opzioni DHCP del VPC AWS non abbia un valore personalizzato per domain-name. Se imposti un dominio personalizzato, GKE su AWS non può generare una richiesta di firma del certificato (CSR).

Soluzione

Per risolvere il problema, esegui uno dei seguenti passaggi:

  • Imposta enableDnsHostnames su false sul tuo VPC. Se crei un VPC AWS dedicato con anthos-gke, puoi impostare questo valore nel file .terraform/modules/gke_vpc/modules/gke-vpc/main.tf.

  • Aggiorna il valore di domain-name impostandolo sul valore predefinito.

Riavvio del piano di controllo

Se il tuo piano di controllo non risponde, puoi riavviare le relative istanze. Quando riavvii le istanze del piano di controllo, la configurazione rimane così come lo stato viene salvato sui dischi permanenti.

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto al servizio di gestione.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Utilizza kubectl per ottenere il gruppo di destinazione AWS EC2 del piano di controllo da AWSCluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    L'output include il nome del gruppo target EC2 del piano di controllo. Ad esempio, gke-123456a7-controlplane.

  3. Apri la console AWS EC2. Scegli Gruppi di destinazione nel riquadro a sinistra.

  4. Fai clic sulla barra di ricerca e trova il gruppo di destinazione. Fai clic sul nome del gruppo di destinazione e poi su Target. Viene visualizzato l'elenco delle istanze del piano di controllo.

  5. Per ogni istanza nel gruppo di destinazione, segui questi passaggi:

    1. Fai clic sull'ID istanza dell'istanza. Viene visualizzata la console delle istanze AWS EC2.

    2. Fai clic sull'ID istanza.

    3. Seleziona Azioni -> Stato istanza -> termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.

    4. Torna alla pagina Gruppi di destinazione.

  6. Dopo aver terminato tutte le istanze nel gruppo, torna alla pagina Gruppi di destinazione.

  7. Nella sezione Destinazioni registrate della pagina, individua la colonna Stato. Ogni istanza deve avere lo stato Integro. Se una delle istanze è in stato integro, attendi diversi minuti e fai clic sull'icona Aggiorna ().

  8. Dopo che tutte le istanze nel gruppo di destinazione sono integri, vai al passaggio successivo.

Tagging delle subnet

GKE su AWS richiede tag in subnet che contengono endpoint del bilanciatore del carico. GKE su AWS applica automaticamente il tag a tutte le subnet specificate nel campo spec.Networking.ServiceLoadBalancerSubnetIDs della risorsa AWSCluster.

Se vuoi aggiungere altre subnet al tuo cluster utente o se devi applicare di nuovo i tag alle subnet esistenti, segui questi passaggi.

  1. Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto al servizio di gestione.

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

  2. Recupera l'ID del VPC AWS del tuo cluster con kubectl e archivialo come variabile.

     export VPC_ID=$(\
     env HTTPS_PROXY=http://localhost:8118 \
     kubectl get awscluster cluster-0 -o jsonpath='{.spec.networking.vpcID}')
    
  3. Controlla il contenuto delle variabili con echo. L'output è simile a vpc-12345678abcdef0.

    echo $VPC_ID
    
  4. Salva l'ID cluster in una variabile di ambiente.

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

    Puoi controllare la variabile con echo:

    echo $CLUSTER_ID
    

    La risposta include il tuo ID cluster.

    gke-12345678
    
  5. Se hai installato GKE su AWS in un VPC dedicato, puoi utilizzare lo strumento a riga di comando aws per recuperare l'ID subnet.

    Seleziona una delle seguenti opzioni:

    • Pubblico, se vuoi esporre i servizi nella subnet pubblica.
    • Privato, se vuoi esporre i servizi della tua subnet privata.
    • Più subnet, per esporre i servizi su più subnet.

    Pubblico

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

    L'output è un oggetto contenente il tuo ID subnet. Assomiglia a subnet-1234abcdefg. Puoi controllare la variabile con echo:

    echo $SUBNET_ID
    

    La risposta include il tuo ID subnet.

    subnet-012345678abcdef
    

    Privato

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

    L'output è un oggetto contenente il tuo ID subnet. Assomiglia a subnet-1234abcdefg. Puoi controllare la variabile con echo:

    echo $SUBNET_ID
    

    La risposta include il tuo ID subnet.

    subnet-012345678abcdef
    

    Più subnet

    Se utilizzi più subnet per i tuoi AWSNodePools (ad esempio se usi più zone di disponibilità), devi taggare gli ID subnet singolarmente.

    Recupera l'elenco di ID subnet con aws ec2 describe-subnets.

    Per ottenere un elenco di tutte le subnet pubbliche, esegui questo comando:

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

    Per ottenere un elenco di tutte le subnet private, esegui questo comando:

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

    La risposta include gli ID subnet.

    subnet-012345678abcdef
    subnet-abcdef123456789
    subnet-123456789abcdef
    
  6. Applica il tagging alla subnet con l'ID cluster. Se hai più subnet, seleziona Più subnet.

    Subnet singola

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

    Più subnet

    Per ciascuna delle subnet, esegui questo comando:

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

    Sostituisci subnet-ids con l'elenco degli ID subnet, separati da spazi. Ad esempio, subnet-012345678abcdef subnet-abcdef123456789 subnet-123456789abcdef.

Errore durante l'eliminazione dei cluster

Se kubectl non risponde quando provi a eliminare un cluster utente, recupera gli eventi del cluster. Potresti vedere il seguente evento.

Could not delete security group: resource SECURITY_GROUP_ID has a dependent object.

Soluzione

Elimina qualsiasi destinazione di montaggio del file system AWS Elastic in SECURITY_GROUP_ID.

Errori relativi all'API

Kubernetes 1.22 ritira e sostituisce diverse API. Se hai eseguito l'upgrade del cluster alla versione 1.22 o successiva, tutte le chiamate effettuate dalla tua applicazione a una delle API deprecate non andranno a buon fine.

Soluzione

Esegui l'upgrade dell'applicazione per sostituire le chiamate API deprecate con le controparti più recenti.

Snapshot

Lo strumento anthos-gke supporta la generazione di snapshot del tuo GKE GKE nell'ambiente AWS. Uno snapshot contiene informazioni che consentono all'assistenza Google Cloud di riprodurre ed eseguire il debug dei problemi offline.

Lo strumento anthos-gke può generare uno snapshot da un servizio di gestione o da cluster utente. Per impostazione predefinita, uno snapshot include CRD, eventi, informazioni sul cluster, log del cluster, log delle istanze e file di istanza. Puoi personalizzare le informazioni incluse in un file di configurazione. Il bundle contiene anche un elemento index.html con i link ai file inclusi.

Per risolvere i problemi di installazione di GKE su AWS prima di contattare l'assistenza Google Cloud, vai alla sezione seguente.

Generazione di uno snapshot in corso...

Questa sezione mostra come creare uno snapshot da un cluster di gestione o utente utilizzando la configurazione predefinita o una configurazione personalizzata.

Prima di iniziare

Per connetterti alle tue risorse GKE su AWS, segui questi passaggi. Seleziona se disponi già di un VPC AWS (o di una connessione diretta al tuo VPC) o hai creato un VPC dedicato durante la creazione del servizio di gestione.

VPC esistente

Se hai una connessione diretta o VPN a un VPC esistente, ometti la riga env HTTP_PROXY=http://localhost:8118 dai comandi in questo argomento.

VPC dedicato

Quando crei un servizio di gestione in un VPC dedicato, GKE su AWS include un host bastion in una subnet pubblica.

Per connetterti al servizio di gestione, segui questi passaggi:

  1. Passa alla directory con la tua configurazione GKE su AWS. Hai creato questa directory durante l'installazione del servizio di gestione.

    cd anthos-aws

  2. Per aprire il tunnel, esegui lo script bastion-tunnel.sh. Il tunnel rimanda a localhost:8118.

    Per aprire un tunnel sul bastion host, esegui questo comando:

    ./bastion-tunnel.sh -N
    

    I messaggi del tunnel SSH vengono visualizzati in questa finestra. Quando è tutto pronto per chiudere la connessione, interrompi il processo utilizzando Ctrl+C o chiudendo la finestra.

  3. Apri un nuovo terminale e passa alla directory anthos-aws.

    cd anthos-aws
  4. Verifica di poter connetterti al cluster con kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    L'output include l'URL del server API del servizio di gestione.

  • Dalla directory anthos-aws, utilizza anthos-gke per cambiare contesto al servizio di gestione.

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

Acquisisci un'istantanea di un servizio di gestione

Per acquisire uno snapshot di un servizio di gestione, utilizza 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

Sostituisci:

  • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in .ssh/anthos-gke.
  • workspace con il percorso della directory in cui hai creato GKE sul deployment AWS. Se un bastion host è stato creato nell'ambito di un'installazione VPC dedicata, GKE su AWS utilizza il bastion per connettersi al tuo servizio di gestione.

L'output include il log delle azioni e il nome del file di snapshot:

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.

Acquisisci uno snapshot di un cluster utente

Per acquisire uno snapshot di un cluster utente, utilizza 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

Sostituisci:

  • user-cluster-name è il nome del tuo cluster utente. Per impostazione predefinita, il primo cluster utente è denominato cluster-0.
  • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in .ssh/anthos-gke.
  • terraform-workspace con il percorso dell'area di lavoro Terraform in cui hai creato GKE sul deployment AWS.

L'output include il log delle azioni e il nome del file di snapshot:

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.

Modifica della configurazione dello snapshot in corso...

Per modificare la configurazione predefinita degli snapshot, utilizza prima anthos-gke con l'opzione --dry-run e salva l'output in un file. Quindi, modifica la configurazione ed esegui di nuovo anthos-gke con la nuova configurazione.

Creare un file di configurazione per il servizio di gestione

  1. Utilizza anthos-gke con l'opzione --dry-run e reindirizza l'output a un file denominato 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
    

    Sostituisci:

    • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in ~/.ssh/anthos-gke.
    • workspace con il percorso della directory in cui hai creato GKE sul deployment AWS.

  1. Modifica il file management-config.yaml in un editor di testo. Il file contiene due sezioni. La prima sezione è un log con timestamp di anthos-gke, che ha il seguente aspetto:

    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...
    ...
    

    Elimina la sezione del log. Mantieni la configurazione dopo la riga The snapshot configuration is:.

    I restanti contenuti del file sono una configurazione YAML che ha il seguente aspetto:

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
  1. Rimuovi tutti i comandi che ritieni mostrino dati sensibili.

  2. Esegui il comando anthos-gke e con l'opzione --snapshot-config e 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
    

    Sostituisci:

    • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in .ssh/anthos-gke.
    • terraform-workspace con il percorso dell'area di lavoro Terraform in cui hai creato GKE sul deployment AWS.

Creare un file di configurazione per un cluster utente

  1. Utilizza anthos-gke con l'opzione --dry-run e reindirizza l'output a un file denominato 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
    

    Sostituisci:

    • user-cluster-name è il nome del tuo cluster utente. Per impostazione predefinita, il primo cluster è denominato cluster-0.
    • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in ~/.ssh/anthos-gke.
    • workspace con il percorso della directory in cui hai creato GKE sul deployment AWS.

  1. Modifica il file management-config.yaml in un editor di testo. Il file contiene due sezioni. La prima sezione è un log con timestamp di anthos-gke, che ha il seguente aspetto:

    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...
    ...
    

    Elimina la sezione del log. Mantieni la configurazione dopo la riga The snapshot configuration is:.

    I restanti contenuti del file sono una configurazione YAML che ha il seguente aspetto:

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
  1. Rimuovi tutti i comandi che ritieni mostrino dati sensibili.

  2. Esegui il comando anthos-gke e con l'opzione --snapshot-config e 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>
    

    Sostituisci:

    • user-cluster-name è il nome del tuo cluster utente. Per impostazione predefinita, il primo cluster è denominato cluster-0.
    • ssh-key-path con il percorso della chiave SSH di GKE su AWS. Per impostazione predefinita, il file viene creato in .ssh/anthos-gke.
    • terraform-workspace con il percorso dell'area di lavoro Terraform in cui hai creato GKE sul deployment AWS.

Contenuti snapshot predefiniti

Introduzione

Questa sezione mostra strutture di file di esempio contenute all'interno dello snapshot predefinito per un servizio di gestione e un cluster utente.

Servizio di gestione

La struttura ad albero seguente è un esempio dei file all'interno di uno snapshot per un cluster di gestione.

.
├── 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 utente

La struttura ad albero seguente è un esempio dei file all'interno di uno snapshot per un cluster utente denominato 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