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à.
Kubernetes non supporta più. dockershim
Il team di Kubernetes ha rimosso il runtime nella versione Kubernetes. 1.24
Per ulteriori informazioni, consulta Kubernetes is Moving On From Dockershim: Impegni e fasi successive sul blog di
Amazon EKS ha inoltre interrotto il supporto dockershim
a partire dalla versione Kubernetes. 1.24
Amazon EKS AMIs che vengono pubblicati ufficialmente ha containerd
come unico runtime che inizia con la versione1.24
. Questo argomento contiene alcuni dettagli, ma ulteriori informazioni sono disponibili in Tutto quello che devi sapere sul passaggio a containerd su Amazon EKS
C'è un kubectl
plugin che puoi usare per vedere quali dei tuoi carichi di lavoro Kubernetes montano il volume del socket Docker. Per ulteriori informazioni, consulta Detector for Docker1.24
utilizzano Docker come runtime predefinito. Tuttavia, questi Amazon EKS AMIs dispongono di un'opzione di flag bootstrap che puoi utilizzare per testare i tuoi carichi di lavoro su qualsiasi cluster supportato. containerd
Per ulteriori informazioni, consulta Prova la migrazione di Amazon Linux 2 da Docker a containerd.
Continueremo a pubblicare AMIs per le versioni di Kubernetes esistenti fino alla fine della data di supporto. Per ulteriori informazioni, consulta Calendario di rilascio di Amazon EKS Kubernetes. Se occorre più tempo per testare i carichi di lavoro in containerd
, utilizza una versione supportata anteriore a 1.24
. Tuttavia, quando desideri aggiornare Amazon EKS ufficiale AMIs a una versione 1.24
o successiva, assicurati di verificare su cui vengono eseguiti i tuoi carichi di lavoro. containerd
Il containerd
runtime offre prestazioni e sicurezza più affidabili. containerd
è il runtime standardizzato su Amazon EKS. Fargate e Bottlerocket lo utilizzano già solo. containerd
containerd
aiuta a ridurre al minimo il numero di versioni AMI di Amazon EKS necessarie per risolvere vulnerabilità ed esposizioni dockershim
comunidockershim
già utilizza containerd
internamente, potrebbe non essere necessario apportare modifiche. che sono richieste, invece, in alcune situazioni:
-
È necessario apportare modifiche alle applicazioni che montano il socket Docker. Ad esempio, sono interessate le immagini di container generate con un container. Anche numerosi strumenti di monitoraggio montano il socket Docker. Potrebbe essere necessario attendere aggiornamenti o implementare nuovamente i carichi di lavoro per il monitoraggio del runtime.
-
Potrebbe essere necessario apportare modifiche alle applicazioni che dipendono da impostazioni Docker specifiche. Ad esempio, il protocollo
HTTPS_PROXY
non è più supportato. Devi aggiornare le applicazioni che utilizzano questo protocollo. Per ulteriori informazioni, consulta dockerdnella documentazione Docker. -
Se utilizzi l'assistente credenziali Amazon ECR per estrarre immagini, devi passare al provider di credenziali per immagini
kubelet
. Per ulteriori informazioni, consultare Configurazione di un provider di credenziali per immagini kubeletnella documentazione Kubernetes. -
Poiché Amazon EKS
1.24
non supporta più Docker, alcuni flag che lo script di bootstrap di Amazon EKSsupportava in precedenza non sono più supportati. Prima di passare ad Amazon EKS 1.24
o versioni successive, devi rimuovere tutti i riferimenti ai flag che attualmente non sono supportati:-
--container-runtime dockerd
(containerd
è l'unico valore supportato) -
--enable-docker-bridge
-
--docker-config-json
-
-
Se hai già configurato Fluentd per Container Insights, devi migrare Fluentd a Fluent Bit prima di passare a.
containerd
I parser Fluentd sono configurati per analizzare solo i messaggi di registro in formato JSON. Al contrariodockerd
, il runtime delcontainerd
contenitore contiene messaggi di registro che non sono in formato JSON. Se non si esegue la migrazione a Fluent Bit, alcuni dei parser di Fluentd configurati genereranno una quantità enorme di errori all'interno del contenitore Fluentd. Per ulteriori informazioni sulla migrazione, consulta Configurare Fluent Bit per inviare i log ai log. DaemonSet CloudWatch -
Se utilizzi un'AMI personalizzata e stai effettuando l'upgrade ad
1.24
Amazon EKS, devi assicurarti che l'inoltro IP sia abilitato per i tuoi nodi worker. Questa impostazione non era necessaria con Docker ma è obbligatoria per.containerd
È necessaria per la risoluzione dei problemi o Pod-to-apiserver per la Pod-to-Pod connettività di Pod-to-external rete.Per verificare questa impostazione su un nodo worker, esegui uno dei seguenti comandi:
-
sysctl net.ipv4.ip_forward
-
cat /proc/sys/net/ipv4/ip_forward
Se l'output è
0
, esegui uno dei seguenti comandi per attivare la variabile kernelnet.ipv4.ip_forward
:-
sysctl -w net.ipv4.ip_forward=1
-
echo 1 > /proc/sys/net/ipv4/ip_forward
-
Per l'attivazione dell'impostazione su Amazon EKS AMIs per Amazon Linux 2 in containerd
fase di esecuzione, consulta
install-worker.sh
on GitHub.
Prova la migrazione di Amazon Linux 2 da Docker a containerd
Per la versione Kubernetes1.23
, puoi utilizzare un flag bootstrap opzionale per abilitare il runtime ottimizzato containerd
per Amazon EKS. AL2 AMIs Questa funzione fornisce un percorso chiaro per la migrazione a containerd
quando viene eseguito l'aggiornamento alla versione 1.24
o successiva. Amazon EKS ha interrotto il supporto per Docker a partire dal lancio della versione Kubernetes. 1.24
Il tempo di esecuzione di containerd
è stato ampiamente adottato nella community Kubernetes ed è un progetto promosso con il CNCF (Cloud Native Computer Foundation). È possibile testarlo aggiungendo un gruppo di nodi a un cluster nuovo o esistente.
Creando uno tra i seguenti tipi di gruppi di nodi, è possibile abilitare il flag di bootstrap.
- Autogestito
-
Crea il gruppo di nodi utilizzando le istruzioni in Creare nodi Amazon Linux autogestiti. Specifica un'AMI ottimizzata per Amazon EKS e il testo seguente per il parametro
BootstrapArguments
.--container-runtime containerd
- Gestito
-
Se si utilizza
eksctl
, è necessario creare un file denominatomy-nodegroup.yaml
con i seguenti contenuti. Sostituisci ogniexample value
con i valori in tuo possesso. Il nome del gruppo di nodi non può superare i 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura. Per recuperare l'ID di un'AMI ottimizzata perami-
, consulta la sezione Recupera le AMI Amazon Linux consigliate IDs.1234567890abcdef0
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: 1.23 managedNodeGroups: - name: my-nodegroup ami: ami-1234567890abcdef0 overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh my-cluster --container-runtime containerd
Nota
Se si avviano più nodi contemporaneamente, potrebbe essere necessario specificare anche i valori per gli argomenti di bootstrap
--apiserver-endpoint
,--b64-cluster-ca
e--dns-cluster-ip
, al fine di evitare errori. Per ulteriori informazioni, consulta Specifica di un'AMI.Esegui i seguenti comandi per creare il gruppo di nodi.
eksctl create nodegroup -f my-nodegroup.yaml
Se si preferisce utilizzare uno strumento diverso per creare il gruppo di nodi gestiti, è necessario implementare il gruppo di nodi utilizzando un modello di avvio. Nel modello di avvio, specifica l'ID di un'AMI ottimizzata per Amazon EKS, quindi implementa il gruppo di nodi utilizzando un modello di avvio e fornisci i seguenti dati utente. Questi dati utente passano gli argomenti nel file
bootstrap.sh
. Per ulteriori informazioni sul file bootstrap, consulta bootstrap.shsu GitHub. /etc/eks/bootstrap.sh my-cluster --container-runtime containerd