Aiutaci a migliorare questa pagina
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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
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à.
Configurare componenti aggiuntivi per nodi ibridi
Questa pagina descrive le considerazioni sull'esecuzione di componenti aggiuntivi e AWS componenti aggiuntivi della community su Amazon EKS Hybrid Nodes. Per ulteriori informazioni sui componenti aggiuntivi di Amazon EKS e sui processi per la creazione, l'aggiornamento e la rimozione di componenti aggiuntivi dal cluster, consulta. Componenti aggiuntivi Amazon EKS Salvo diversa indicazione in questa pagina, i processi per la creazione, l'aggiornamento e la rimozione dei componenti aggiuntivi Amazon EKS sono gli stessi per i cluster Amazon EKS con nodi ibridi e per i cluster Amazon EKS con nodi in esecuzione nel cloud. AWS Solo i componenti aggiuntivi inclusi in questa pagina sono stati convalidati per la compatibilità con Amazon EKS Hybrid Nodes.
I seguenti AWS componenti aggiuntivi sono compatibili con Amazon EKS Hybrid Nodes.
AWS componente aggiuntivo | Versioni aggiuntive compatibili |
---|---|
kube-proxy |
v1.25.14-eksbuild.2 e versioni successive |
CoreDNS |
v1.9.3-eksbuild.7 e versioni successive |
AWS Distro per (ADOT) OpenTelemetry |
v0.102.1-eksbuild.2 e versioni successive |
CloudWatch Agente di osservabilità |
v2.2.1-eksbuild.1 e versioni successive |
EKS Pod Identity Agent |
|
Agente di monitoraggio dei nodi |
v1.2.0-eksbuild.1 e versioni successive |
Controller di snapshot CSI |
v8.1.0-eksbuild.1 e versioni successive |
AWS Connettore CA privato per Kubernetes |
v1.6.0-eksbuild.1 e versioni successive |
I seguenti componenti aggiuntivi della community sono compatibili con Amazon EKS Hybrid Nodes. Per ulteriori informazioni sui componenti aggiuntivi della community, consulta. Componenti aggiuntivi della community
Componente aggiuntivo per la community | Versioni aggiuntive compatibili |
---|---|
Kubernetes Metrics Server |
v0.7.2-eksbuild.1 e versioni successive |
cert-manager |
v1.17.2-eksbuild.1 e versioni successive |
Prometheus Node Exporter |
v1.9.1-eksbuild.2 e versioni successive |
kube-state-metrics |
v2.15.0-eksbuild.4 e versioni successive |
Oltre ai componenti aggiuntivi Amazon EKS indicati nelle tabelle precedenti, Amazon Managed Service for Prometheus Collector e AWS Load Balancer Controller per l'ingresso delle applicazioni (HTTP) e il bilanciamento del carico (TCP/UDP) sono compatibili con i nodi ibridi.
Esistono AWS componenti aggiuntivi e componenti aggiuntivi della community che non sono compatibili con Amazon EKS Hybrid Nodes. Le versioni più recenti di questi componenti aggiuntivi prevedono una regola di antiaffinità per l'eks.amazonaws.com/compute-type: hybrid
etichetta predefinita applicata ai nodi ibridi. Ciò impedisce loro di funzionare su nodi ibridi quando vengono distribuiti nei cluster. Se disponi di cluster con nodi ibridi e nodi in esecuzione nel AWS cloud, puoi distribuire questi componenti aggiuntivi nel cluster sui nodi in esecuzione nel cloud. AWS Amazon VPC CNI non è compatibile con i nodi ibridi e Cilium e Calico sono supportati come Container Networking Interfaces (CNIs) per i nodi ibridi Amazon EKS. Per ulteriori informazioni, consulta Configurare un CNI per nodi ibridi.
AWS componenti aggiuntivi
Le sezioni seguenti descrivono le differenze tra l'esecuzione di AWS componenti aggiuntivi compatibili su nodi ibridi rispetto ad altri tipi di elaborazione Amazon EKS.
kube-proxy e CoredNS
EKS installa kube-proxy e CoredNS come componenti aggiuntivi autogestiti per impostazione predefinita quando crei un cluster EKS con l'API e, anche dalla CLI. AWS AWS SDKs AWS Puoi sovrascrivere questi componenti aggiuntivi con i componenti aggiuntivi Amazon EKS dopo la creazione del cluster. Fai riferimento alla documentazione EKS per i dettagli su e. Gestione kube-proxy nei cluster Amazon EKS Gestisci CoredNS per DNS nei cluster Amazon EKS Se stai eseguendo un cluster in modalità mista con nodi ibridi e nodi in AWS Cloud, ti consigliamo di avere almeno una replica CoreDNS sui nodi ibridi e almeno una replica CoreDNS sui tuoi nodi nel Cloud. AWS Configurazione delle repliche CoredNSPer i passaggi di configurazione, consulta la sezione.
CloudWatch Agente di osservabilità
L'operatore dell'agente CloudWatch Observability utilizza i webhook.
Le metriche a livello di nodo non sono disponibili per i nodi ibridi perché CloudWatch Container Insights dipende dalla disponibilità di Instance Metadata Service (IMDS) per le metriche a livello di nodo. Per i nodi ibridi sono disponibili metriche a livello di cluster, carico di lavoro, pod e container.
Dopo aver installato il componente aggiuntivo seguendo i passaggi descritti in Installa l' CloudWatch agente con Amazon CloudWatch Observability, il manifesto del componente aggiuntivo deve essere aggiornato prima che l'agente possa essere eseguito correttamente sui nodi ibridi. Modifica la amazoncloudwatchagents
risorsa sul cluster per aggiungere la variabile di RUN_WITH_IRSA
ambiente come mostrato di seguito.
kubectl edit amazoncloudwatchagents -n amazon-cloudwatch cloudwatch-agent
apiVersion: v1 items: - apiVersion: cloudwatch.aws.amazon.com/v1alpha1 kind: AmazonCloudWatchAgent metadata: ... name: cloudwatch-agent namespace: amazon-cloudwatch ... spec: ... env: - name: RUN_WITH_IRSA # <-- Add this value: "True" # <-- Add this - name: K8S_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName ...
Amazon Managed Prometheus Managed Collector per nodi ibridi
Un collettore gestito Amazon Managed Service for Prometheus (AMP) è costituito da uno scraper che rileva e raccoglie i parametri dalle risorse di un cluster Amazon EKS. AMP gestisce lo scraper per te, eliminando la necessità di gestire autonomamente istanze, agenti o scraper.
Puoi utilizzare i raccoglitori gestiti AMP senza alcuna configurazione aggiuntiva specifica per i nodi ibridi. Tuttavia, gli endpoint metrici per le applicazioni sui nodi ibridi devono essere raggiungibili dal VPC, compresi i percorsi dal VPC alla rete pod remota CIDRs e le porte aperte nel firewall locale. Inoltre, il cluster deve disporre di un accesso privato agli endpoint del cluster.
Segui i passaggi descritti in Utilizzo di un raccoglitore AWS gestito nella Guida per l'utente di Amazon Managed Service for Prometheus.
AWS Distro per (ADOT) OpenTelemetry
Puoi utilizzare il componente aggiuntivo AWS Distro for OpenTelemetry (ADOT) per raccogliere metriche, log e dati di tracciamento dalle tue applicazioni in esecuzione su nodi ibridi. ADOT utilizza i webhook di ammissione per modificare e convalidare le richieste Collector Custom Resource
Segui la procedura descritta in Guida introduttiva a AWS Distro per OpenTelemetry utilizzare i componenti aggiuntivi EKS
AWS Controller Load Balancer
Puoi utilizzare AWS Load Balancer Controller e Application Load Balancer (ALB) o Network Load Balancer (NLB) con il tipo di destinazione ip per carichi di lavoro su nodi ibridi connessi con Direct Connect o VPN. AWS AWS Site-to-Site Le destinazioni IP utilizzate con ALB o NLB devono essere instradabili da. AWSIl controller AWS Load Balancer utilizza anche i webhook.
Per installare il AWS Load Balancer Controller, segui i passaggi indicati in Installa il AWS Load Balancer Controller con Helm o. Installa AWS Load Balancer Controller con manifesti
Per l'accesso con ALB, è necessario specificare le annotazioni seguenti. Per istruzioni, consulta Indirizza il traffico di applicazioni e HTTP con Application Load Balancer.
alb.ingress.kubernetes.io/target-type: ip
Per il bilanciamento del carico con NLB, è necessario specificare le annotazioni seguenti. Per istruzioni, consulta Indirizza il traffico TCP e UDP con Network Load Balancer.
service.beta.kubernetes.io/aws-load-balancer-type: "external" service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"
EKS Pod Identity Agent
Nota
Per implementare correttamente il componente aggiuntivo EKS Pod Identity Agent su nodi ibridi che eseguono Bottlerocket, assicurati che la tua versione di Bottlerocket sia almeno la v1.39.0. Il Pod Identity Agent non è supportato nelle versioni precedenti di Bottlerocket in ambienti con nodi ibridi.
L'originale Amazon EKS Pod Identity Agent DaemonSet si basa sulla disponibilità di EC2 IMDS sul nodo per ottenere le credenziali richieste AWS . Poiché IMDS non è disponibile sui nodi ibridi, a partire dalla versione 1.3.3-eksbuild.1, il componente aggiuntivo Pod Identity Agent implementa facoltativamente un componente che monta le credenziali richieste. DaemonSet I nodi ibridi che eseguono Bottlerocket richiedono un metodo diverso per montare le credenziali e, a partire dalla versione 1.3.7-eksbuild.2, il componente aggiuntivo Pod Identity Agent ne implementa facoltativamente uno che si rivolge specificamente ai nodi ibridi Bottlerocket. DaemonSet Le sezioni DaemonSets seguenti descrivono il processo per abilitare l'opzione.
Ubuntu/RHEL/AL2023
-
Per utilizzare l'agente Pod Identity sui nodi ibridi Ubuntu/RHEL/Al 2023, imposta
enableCredentialsFile: true
nella sezione ibrida dinodeadm
config come mostrato di seguito:apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: hybrid: enableCredentialsFile: true # <-- Add this
Questo configurerà
nodeadm
la creazione di un file di credenziali da configurare sul nodo sottostante/eks-hybrid/.aws/credentials
, che verrà utilizzato daieks-pod-identity-agent
pod. Questo file di credenziali conterrà AWS credenziali temporanee che verranno aggiornate periodicamente. -
Dopo aver aggiornato la
nodeadm
configurazione su ogni nodo, esegui il seguentenodeadm init
comando con il tuonodeConfig.yaml
per unire i nodi ibridi al cluster Amazon EKS. Se i tuoi nodi si sono uniti al cluster in precedenza, esegui comunque di nuovo ilinit
comando.nodeadm init -c file://nodeConfig.yaml
-
Installa
eks-pod-identity-agent
con il supporto per i nodi ibridi abilitato, utilizzando la AWS CLI o. AWS Management Console-
AWS CLI: dalla macchina che stai utilizzando per amministrare il cluster, esegui il seguente comando per l'installazione
eks-pod-identity-agent
con il supporto per i nodi ibridi abilitato. Sostituiscimy-cluster
con il nome del cluster.aws eks create-addon \ --cluster-name my-cluster \ --addon-name eks-pod-identity-agent \ --configuration-values '{"daemonsets":{"hybrid":{"create": true}}}'
-
AWS Management Console: Se stai installando il componente aggiuntivo Pod Identity Agent tramite la AWS console, aggiungi quanto segue alla configurazione opzionale per distribuire i DaemonSet nodi ibridi destinati.
{"daemonsets":{"hybrid":{"create": true}}}
-
Bottlerocket
-
Per utilizzare l'agente Pod Identity sui nodi ibridi Bottlerocket, aggiungi il
--enable-credentials-file=true
flag al comando utilizzato per i dati utente del contenitore bootstrap Bottlerocket, come descritto in. Connect nodi ibridi con Bottlerocket-
Se stai usando il provider di credenziali SSM, il tuo comando dovrebbe avere il seguente aspetto:
eks-hybrid-ssm-setup --activation-id=<activation-id> --activation-code=<activation-code> --region=<region> --enable-credentials-file=true
-
Se utilizzi il provider di credenziali IAM Roles Anywhere, il tuo comando dovrebbe avere il seguente aspetto:
eks-hybrid-iam-ra-setup --certificate=<certificate> --key=<private-key> --enable-credentials-file=true
Questo configurerà lo script bootstrap per creare un file di credenziali sul nodo sottostante
/var/eks-hybrid/.aws/credentials
, che verrà utilizzato dai pod.eks-pod-identity-agent
Questo file di credenziali conterrà AWS credenziali temporanee che verranno aggiornate periodicamente.
-
-
Installa
eks-pod-identity-agent
con il supporto per i nodi ibridi Bottlerocket abilitato, utilizzando la CLI AWS o. AWS Management Console-
AWS CLI: dalla macchina che stai utilizzando per amministrare il cluster, esegui il seguente comando per l'installazione
eks-pod-identity-agent
con il supporto per i nodi ibridi Bottlerocket abilitato. Sostituiscimy-cluster
con il nome del cluster.aws eks create-addon \ --cluster-name my-cluster \ --addon-name eks-pod-identity-agent \ --configuration-values '{"daemonsets":{"hybrid-bottlerocket":{"create": true}}}'
-
AWS Management Console: Se stai installando il componente aggiuntivo Pod Identity Agent tramite la AWS console, aggiungi quanto segue alla configurazione opzionale per distribuire i nodi ibridi Bottlerocket destinati. DaemonSet
{"daemonsets":{"hybrid-bottlerocket":{"create": true}}}
-
Controller di snapshot CSI
A partire dalla versionev8.1.0-eksbuild.2
, il componente aggiuntivo del controller snapshot CSI applica una regola di antiaffinità morbida per i nodi ibridi, preferendo che il controller deployment
venga eseguito EC2 nella stessa regione del piano di controllo di Amazon AWS EKS. La collocazione congiunta deployment
nella stessa AWS regione del piano di controllo di Amazon EKS migliora la latenza.
Componenti aggiuntivi per la community
Le sezioni seguenti descrivono le differenze tra l'esecuzione di componenti aggiuntivi della community compatibili su nodi ibridi rispetto ad altri tipi di elaborazione Amazon EKS.
Server Kubernetes Metrics
Il piano di controllo deve raggiungere l'IP del pod di Metrics Server (o l'IP del nodo se HostNetwork è abilitato). Pertanto, a meno che non esegui Metrics Server in modalità HostNetwork, devi configurare una rete di pod remota durante la creazione del cluster Amazon EKS e devi rendere instradabili gli indirizzi IP del pod. L'implementazione del Border Gateway Protocol (BGP) con il CNI è un modo comune per rendere instradabili gli indirizzi IP dei pod.
gestore dei certificati
cert-manager
utilizza webhook.cert-manager
su nodi ibridi, il tuo pod CIDR locale deve essere instradabile sulla tua rete locale e devi configurare il cluster EKS con la tua rete di pod remota. Per ulteriori informazioni, consulta Configurare i webhook per i nodi ibridi.