AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Perché non riesco a connettermi al mio cluster Amazon EKS?
Ho creato un cluster Amazon Elastic Kubernetes Service (Amazon EKS) a cui non riesco a connettermi.
Breve descrizione
Potresti non riuscire a connetterti a un cluster EKS per uno dei seguenti motivi:
- Non hai creato il file kubeconfig per il cluster.
- Non riesci a connetterti all'endpoint del server API Amazon EKS.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Non hai creato il file kubeconfig
Dopo aver creato il cluster Amazon EKS, configura il file kubeconfig in modo da poter utilizzare la riga di comando kubectl per connetterti al cluster. Il file kubeconfig contiene la configurazione del cluster Kubernetes.
A seconda del sistema operativo in uso, puoi trovare il file kubeconfig nelle seguenti posizioni:
- Per Linux o macOS, vai in $HOME/.kube/config.
- Per Windows, vai in %USERPROFILE%\.kube\config.
Per utilizzare una posizione di file diversa, esegui una di queste azioni:
- Imposta la variabile di ambiente KUBECONFIG in modo che punti verso la nuova posizione.
- Utilizza il flag --kubeconfig quando esegui i comandi kubectl per specificare un percorso di file personalizzato.
Se esiste già un file kubeconfig nella posizione predefinita, Amazon EKS unisce le nuove configurazioni con il file esistente. Puoi utilizzare il comando kubectl config per gestire i contesti del cluster. Per ulteriori informazioni, consulta kubectl config sul sito web Kubernetes.
Non riesci a connetterti all'endpoint del server API Amazon EKS
Per risolvere il problema, completa i seguenti passaggi:
-
Per verificare se puoi connetterti all'URL del server API Amazon EKS, esegui questo comando con più dettagli:
kubectl get svc --v=9L'output del comando mostra informazioni dettagliate sulla connessione, incluso l'URL del server API utilizzato. Controlla gli indirizzi IP elencati per HTTP Trace: DNS Lookup.
Esempio di output:I0110 16:43:36.920095 48173 loader.go:373] Config loaded from file: /Users/abs/.kube/configI0110 16:43:36.936844 48173 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500' I0110 16:43:37.362185 48173 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/ resolved to [{18.119.155.77 } {3.136.153.3 }] I0110 16:43:37.402538 48173 round_trippers.go:510] HTTP Trace: Dial to tcp:18.119.155.77:443 succeed I0110 16:43:37.500276 48173 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500 200 OK in 563 milliseconds I0110 16:43:37.500302 48173 round_trippers.go:570] HTTP Statistics: DNSLookup 1 ms Dial 40 ms TLSHandshake 44 ms ServerProcessing 52 ms Duration 563 ms I0110 16:43:37.500308 48173 round_trippers.go:577] Response Headers: I0110 16:43:37.500316 48173 round_trippers.go:580] Audit-Id: 37c17136-7fa7-40e9-8fe6-b24426e81564 I0110 16:43:37.500323 48173 round_trippers.go:580] Cache-Control: no-cache, private I0110 16:43:37.500329 48173 round_trippers.go:580] Content-Type: application/json I0110 16:43:37.500334 48173 round_trippers.go:580] X-Kubernetes-Pf-Flowschema-Uid: 508eb99e-d99b-44db-8ade-838c99fe8e9f I0110 16:43:37.500340 48173 round_trippers.go:580] X-Kubernetes-Pf-Prioritylevel-Uid: d324d3db-05ce-441b-a0ff-c31cbe8f696c I0110 16:43:37.500345 48173 round_trippers.go:580] Date: Tue, 10 Jan 2023 21:43:37 GMT -
Per verificare se il server API Amazon EKS è accessibile pubblicamente, esegui questo comando AWS CLI describe-cluster:
aws eks describe-cluster --name cluster_name --region example_region --query cluster.resourcesVpcConfig**Nota:**Sostituisci cluster_name con il nome del tuo cluster e example_region con la tua Regione AWS.
Esempio di output:{ "subnetIds": [ "subnet-abc1", "subnet-abc2", "subnet-abc3", "subnet-abc4", "subnet-abc5", "subnet-abc6" ], "securityGroupIds": [ "sg-abc7" ], "clusterSecurityGroupId": "sg-abc7", "vpcId": "vpc-abc9", "endpointPublicAccess": true, "endpointPrivateAccess": false, "publicAccessCidrs": [ "0.0.0.0/0" ] }Per consentire l'accesso pubblico, assicurati che endpointPublicAccess sia true. Per mantenere l'accesso privato, assicurati che endpointPublicAccess sia false. Se endpointPublicAccess è false, vai al passaggio 9. Se endpointPublicAccess è true, per motivi di sicurezza è consigliabile limitare endpointPublicAccess a intervalli di indirizzi IP specifici. Completa i passaggi 3-8 per aggiungere gli indirizzi IP consentiti al relativo elenco publicAccessCidrs.
-
Apri la console Amazon EKS.
-
Scegli Cluster, quindi seleziona il cluster che desideri aggiornare.
-
Scegli la scheda Rete, quindi seleziona Gestisci reti.
-
Scegli Pubblico.
-
In Impostazioni avanzate, alla voce Blocco CIDR, inserisci l'intervallo CIDR pubblico che desideri aggiungere all'elenco di indirizzi consentiti.
Importante: includi l'indirizzo IP del gateway NAT utilizzato dai nodi worker nelle sottoreti private per accedere a Internet. Inoltre, includi gli indirizzi IP di tutti i componenti di rete dei dispositivi NAT. -
Scegli Salva modifiche.
-
Se hai configurato il server API del cluster in modalità private-only, assicurati che la richiesta kubectl provenga dalla rete del cluster. Se la richiesta kubectl proviene dall'esterno del Amazon Virtual Private Cloud (Amazon VPC), ricevi il seguente errore di timeout quando esegui il comando get svc:
$ kubectl get svc --v=9I0110 17:15:58.889798 50514 loader.go:373] Config loaded from file: /Users/example-user/.kube/config I0110 17:15:58.896715 50514 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500' I0110 17:15:59.374499 50514 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com resolved to [{192.168.126.17 } {192.168.144.26 }] I0110 17:16:14.285027 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.126.17:443 failed: dial tcp 192.168.126.17:443: i/o timeout I0110 17:16:29.191768 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.144.26:443 failed: dial tcp 192.168.144.26:443: i/o timeout I0110 17:16:29.196959 50514 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500 in 30300 milliseconds I0110 17:16:29.197724 50514 round_trippers.go:570] HTTP Statistics: DNSLookup 183 ms Dial 14906 ms TLSHandshake 0 ms Duration 30300 ms I0110 17:16:29.197768 50514 round_trippers.go:577] Response Headers: I0110 17:16:29.199254 50514 helpers.go:264] Connection error: Get https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500: dial tcp 192.168.126.17:443: i/o timeout Unable to connect to the server: dial tcp 192.168.126.17:443: i/o timeout -
Aggiorna il gruppo di sicurezza del cluster per aggiungere l'indirizzo IP di origine o l'intervallo CIDR all'elenco di indirizzi consentiti. Ciò consente al client kubectl di connettersi all'endpoint del server API Amazon EKS dall'interno del cluster VPC.
Informazioni correlate
Risolvi i problemi con i cluster e i nodi Amazon EKS
Come faccio a risolvere l'errore quando mi connetto al server API Amazon EKS?"You must be logged in to the server (Unauthorized)"
De-mystifying cluster networking for Amazon EKS worker nodes (Demistificazione della rete di cluster per i nodi worker di Amazon EKS)
Come posso bloccare l'accesso alle API a indirizzi IP specifici nel mio cluster Amazon EKS?
- Argomenti
- Containers
- Lingua
- Italiano
Video correlati


Contenuto pertinente
AWS UFFICIALEAggiornata 3 anni fa