Aiutaci a migliorare questa pagina
Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Implementa cluster privati con accesso limitato a Internet
Questo argomento descrive come distribuire un cluster Amazon EKS che viene distribuito su Cloud AWS, ma non dispone di accesso a Internet in uscita. Se hai un cluster locale attivo AWS OutpostsCrea nodi Amazon Linux su AWS Outposts, consulta invece di questo argomento.
Se non si ha dimestichezza con la rete Amazon EKS, consultare Demistificazione delle reti cluster per i nodi (worker) Amazon EKS
-
Il tuo cluster deve estrarre immagini da un registro di container che si trova nel tuo VPC. Puoi creare un Amazon Elastic Container Registry nel VPC e copiare al suo interno le immagini dei container per i nodi da cui estrarre. Per ulteriori informazioni, consulta Copia di un'immagine di container da un repository a un altro.
-
Il tuo cluster deve avere l'accesso privato all'endpoint abilitato. Ciò è obbligatorio per la registrazione dei nodi con l'endpoint del cluster. L'accesso pubblico all'endpoint è facoltativo. Per ulteriori informazioni, consulta Controlla l'accesso alla rete all'endpoint del server API del cluster.
-
Prima di essere lanciati, i nodi Linux e Windows autogestiti devono includere i seguenti argomenti di bootstrap. Questi argomenti ignorano l'introspezione Amazon EKS e non richiedono l'accesso all'API Amazon EKS dal VPC.
-
Determina l'endpoint del cluster con il comando seguente. Sostituisci
my-cluster
con il nome del tuo cluster.aws eks describe-cluster --name
my-cluster
--query cluster.endpoint --output textDi seguito viene riportato un output di esempio:
https://
EXAMPLE108C897D9B2F1B21D5EXAMPLE
.sk1
.region-code
.eks.amazonaws.com -
Determina il valore dell'autorità di certificazione del cluster con il seguente comando. Sostituisci
my-cluster
con il nome del tuo cluster.aws eks describe-cluster --name
my-cluster
--query cluster.certificateAuthority --output textL'output è una stringa molto lunga.
-
Sostituisci
ecluster-endpoint
nei comandi seguenti con i valori restituiti nell'output dei passaggi precedenti. Per ulteriori informazioni su come specificare gli argomenti di bootstrap quando si avviano nodi autogestiti, consulta Crea nodi Amazon Linux autogestiti e Crea nodi Microsoft Windows autogestiti.certificate-authority
-
Per i nodi Linux:
--apiserver-endpoint
cluster-endpoint
--b64-cluster-cacertificate-authority
Per maggiori informazioni, consulta lo script di bootstrap
su GitHub. -
Per i nodi Windows:
Nota
Se utilizzi il servizio personalizzato CIDR, devi specificarlo utilizzando il parametro
-ServiceCIDR
. In caso contrario, la risoluzione DNS per i Pods nel cluster fallirà.-APIServerEndpoint
cluster-endpoint
-Base64ClusterCAcertificate-authority
Per ulteriori argomenti, consulta.Parametri di configurazione dello script di bootstrap.
-
-
aws-auth
ConfigMap
del tuo cluster devono essere creati all'interno del tuo VPC. Per ulteriori informazioni sulla creazione e l'aggiunta di voci aaws-auth
ConfigMap
, digitaeksctl create iamidentitymapping --help
nel terminale. SeConfigMap
non esiste sul server,eksctl
la creerà quando usi il comando per aggiungere una mappatura dell'identità. -
I Pods configurati con ruoli IAM per gli account di servizio acquisiscono le credenziali da una chiamata API AWS Security Token Service (AWS STS). Se non è disponibile un accesso a Internet in uscita, devi creare e utilizzare un endpoint AWS STS VPC nel tuo VPC. La maggior parte degli AWS
v1
SDK utilizza l' AWS STS endpoint globale di default (sts.amazonaws.com
), che non utilizza l'endpoint VPC AWS STS . Per utilizzare l'endpoint AWS STS VPC, potrebbe essere necessario configurare l'SDK per utilizzare l'endpoint regionale AWS STS ().sts.
Per ulteriori informazioni, consulta Configurare l' AWS Security Token Service endpoint per un account di servizio.region-code
.amazonaws.com
-
Le sottoreti VPC del cluster devono disporre di un endpoint di interfaccia VPC per qualsiasi AWS servizi a cui Pods deve accedere. Per ulteriori informazioni, consulta Accesso a un servizio AWS utilizzando un endpoint VPC di interfaccia. Nella tabella seguente sono elencati alcuni servizi ed endpoint di uso comune. Per un elenco completo degli endpoint, consulta Servizi AWS che si integrano con AWS PrivateLink nella Guida di AWS PrivateLink.
Servizio Endpoint Amazon EC2 com.amazonaws. codice-regione
.ec2Amazon Elastic Container Registry (per estrarre immagini di container) com.amazonaws. codice-regione
.ecr.api, com.amazonaws.codice-regione
.ecr.dkr e com.amazonaws.codice-regione
.s3Application Load Balancer e Network Load Balancer com.amazonaws. codice-regione
.elasticloadbalancingAWS X-Ray com.amazonaws. codice-regione
.xrayCloudWatch Registri Amazon com.amazonaws. codice-regione
.logsAWS Security Token Service (richiesto quando si utilizzano i ruoli IAM per gli account di servizio) com.amazonaws. codice-regione
.sts
Considerazioni
-
Qualsiasi nodo autogestito deve essere implementato in sottoreti con gli endpoint di interfaccia VPC richiesti. Se crei un gruppo di nodi gestiti, il gruppo di sicurezza dell'endpoint di interfaccia VPC deve consentire il CIDR per le sottoreti oppure dovrai aggiungere il gruppo di sicurezza del nodo creato al gruppo di sicurezza dell'endpoint di interfaccia VPC.
-
Se Pods utilizzi volumi Amazon EFS, prima di distribuire il Archivia un file system elastico con Amazon EFS file kustomization.yaml
del driver deve essere modificato per impostare le immagini dei container in modo che utilizzino le stesse del cluster Amazon EKS. Regione AWS -
Puoi utilizzare il AWS Load Balancer Controllerper distribuire AWS Application Load Balancers (ALB) e Network Load Balancers nel tuo cluster privato. Quando lo implementi, devi usare i flag della riga di comando
per impostare enable-shield
,enable-waf
eenable-wafv2
su fasle. Il rilevamento dei certificaticon i nomi host degli oggetti in ingresso non è supportato. Questo perché il controller deve raggiungere un endpoint con interfaccia VPC AWS Certificate Manager, che non dispone di un endpoint con interfaccia VPC. Il controller supporta bilanciatori di carico di rete destinazioni IP, necessari per l'utilizzo con Fargate. Per ulteriori informazioni, consulta Instrada l'applicazione e HTTP il traffico con Application Load Balancers e Creazione di un Network Load Balancer.
-
Cluster Autoscaler è supportato. Quando implementi i Pods di Cluster Autoscaler, assicurati che la riga di comando includa
--aws-use-static-instance-list=true
. Per ulteriori informazioni, consulta Utilizzo dell'elenco di istanze statichesu GitHub. Il VPC del nodo di lavoro deve includere anche l'endpoint VPC e l'endpoint AWS STS VPC con scalabilità automatica. -
Alcuni prodotti software per container utilizzano chiamate API che accedono a per monitorare l'utilizzo. AWS Marketplace Metering Service I cluster privati non consentono queste chiamate, pertanto questi tipi di container non possono essere utilizzati nei cluster privati.