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à.
Vuoi contribuire a questa guida per l'utente? Scegli il GitHub link Modifica questa pagina che si trova nel riquadro destro di ogni pagina. 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à.
Esegui la migrazione da a dockershim
containerd
Kubernetes non supporta piùdockershim
. Il Kubernetes il team ha rimosso il runtime in Kubernetes versione1.24
. Per ulteriori informazioni, consulta Kubernetes is Moving On From Dockershim: Impegni e fasi successive sul
Amazon EKS ha inoltre interrotto il supporto per dockershim
iniziare con Kubernetes 1.24
rilascio della versione. 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 delle tue Kubernetes i carichi di lavoro montano il Docker volume del socket. Per ulteriori informazioni, vedere Detector for Docker Socket (DDS) su1.24
uso 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 ad Amazon Linux 2 da Docker a containerd.
Continueremo a pubblicare quelli esistenti AMIs Kubernetes versioni fino alla fine della data di supporto. Per ulteriori informazioni, consulta Amazon EKS Kubernetes calendario dei rilasci. 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 AMIs ufficiale a una versione 1.24
o successiva, assicurati di convalidare 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 già in uso containerd
solo. 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 Docker presa. Ad esempio, sono interessate le immagini di container generate con un container. Molti strumenti di monitoraggio montano anche il Docker presa. Potrebbe essere necessario attendere aggiornamenti o implementare nuovamente i carichi di lavoro per il monitoraggio del runtime.
-
Potrebbe essere necessario apportare modifiche per le applicazioni che dipendono da specifiche Docker impostazioni. Ad esempio, il protocollo
HTTPS_PROXY
non è più supportato. Devi aggiornare le applicazioni che utilizzano questo protocollo. Per ulteriori informazioni, consulta dockerd nelDocker Documentazione. -
Se utilizzi l'assistente credenziali Amazon ECR per estrarre immagini, devi passare al provider di credenziali per immagini
kubelet
. Per ulteriori informazioni, consulta Configurare un provider di credenziali di immagine Kubeletnel Kubernetes documentazione. -
Perché 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 lo hai già fatto Fluentd configurato per Container Insights, quindi è necessario migrare Fluentd in Fluent Bit prima di passare a.
containerd
Il Fluentd i parser 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 esegui la migrazione a Fluent Bit, alcuni dei configurati Fluentd’s i parser genereranno una quantità enorme di errori all'interno di Fluentd contenitore. Per ulteriori informazioni sulla migrazione, consulta Configurare Fluent Bit DaemonSet per inviare i log ai log. 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 è richiesta percontainerd
. È necessario per risolvere i problemi Pod-per-Pod, Pod-esterno, oppure Pod-a-apiserver connettività di 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,
install-worker.sh
consulta GitHub.
Prova la migrazione ad Amazon Linux 2 da Docker a containerd
In Kubernetes versione1.23
, puoi utilizzare un flag bootstrap opzionale per abilitare il containerd
runtime ottimizzato AL2 AMIs per Amazon EKS. 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 terminato il supporto per Docker a partire da Kubernetes 1.24
lancio della versione. Il containerd
runtime è ampiamente adottato in Kubernetes comunità ed è un progetto laureato con il CNCF. È 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, vedete bootstrap.shsu GitHub. /etc/eks/bootstrap.sh my-cluster --container-runtime containerd