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à.
Determina i campi che puoi personalizzare per i EKS componenti aggiuntivi di Amazon
EKSI componenti aggiuntivi di Amazon vengono installati nel cluster utilizzando configurazioni standard e basate sulle best practice. Per ulteriori informazioni sull'aggiunta di un EKS componente aggiuntivo Amazon al tuo cluster, consultaEKSComponenti aggiuntivi Amazon.
Potresti voler personalizzare la configurazione di un EKS componente aggiuntivo Amazon per abilitare funzionalità avanzate. Amazon EKS utilizza il Kubernetes funzionalità di applicazione lato server per consentire la gestione di un componente aggiuntivo da parte di Amazon EKS senza sovrascrivere la configurazione per le impostazioni che non sono gestite da Amazon. EKS Per ulteriori informazioni, consulta Server-Side Apply nelkube-controller-manager
, ad esempio, senza problemi.
Importante
La modifica di un campo gestito da Amazon EKS impedisce ad Amazon EKS di gestire il componente aggiuntivo e può comportare la sovrascrittura delle modifiche quando un componente aggiuntivo viene aggiornato.
Sintassi di gestione dei campi
Quando si visualizzano i dettagli di un Kubernetes oggetto, nell'output vengono restituiti sia i campi gestiti che quelli non gestiti. I campi gestiti possono essere dei seguenti tipi:
-
Completamente gestito: tutte le chiavi del campo sono gestite da AmazonEKS. Le modifiche a qualsiasi valore causano un conflitto.
-
Gestito parzialmente: alcune chiavi per il campo sono gestite da AmazonEKS. Solo le modifiche alle chiavi gestite esplicitamente da Amazon EKS causano un conflitto.
Entrambi i tipi di campi sono taggati con manager: eks
.
Ogni chiave è un .
che rappresenta il campo stesso, che viene sempre mappato a un insieme vuoto o a una stringa che rappresenta un sottocampo o un elemento. L'output per la gestione del campo è costituito dai seguenti tipi di dichiarazioni:
-
f:
, dovename
è il nome di un campo in un elenco.name
-
k:
, dovekeys
è una mappa dei campi di una voce di elenco.keys
-
v:
, dovevalue
è il valore JSON formattato esatto di una voce di elenco.value
-
i:
, doveindex
è la posizione di un elemento nell'elenco.index
Le seguenti porzioni di output per CoreDNS il componente aggiuntivo illustra le dichiarazioni precedenti:
-
Campi completamente gestiti – Se un campo gestito ha un
f:
(campo) specificato, ma nonk:
(chiave), l'intero campo è gestito. Le modifiche apportate a qualsiasi valore in questo campo causano un conflitto.Nel seguente output, è possibile vedere che il container denominato
coredns
è gestito daeks
. Laargs
,image
, e i sottocampiimagePullPolicy
sono gestiti anche daeks
. Le modifiche a qualsiasi valore in questi campi causano un conflitto.[...] f:containers: k:{"name":"coredns"}: .: {} f:args: {} f:image: {} f:imagePullPolicy: {} [...] manager: eks [...]
-
Campi parzialmente gestiti – Se una chiave gestita ha un valore specificato, le chiavi dichiarate vengono gestite per quel campo. La modifica delle chiavi specificate causa un conflitto.
Nel seguente output, è possibile vedere che
eks
gestisce ilconfig-volume
e volumitmp
impostati con la chiavename
.[...] f:volumes: k:{"name":"config-volume"}: .: {} f:configMap: f:items: {} f:name: {} f:name: {} k:{"name":"tmp"}: .: {} f:name: {} [...] manager: eks [...]
-
Aggiunta di chiavi a campi parzialmente gestiti – Se viene gestita solo una chiave-valore specifica, è possibile aggiungere ulteriori chiavi, ad esempio, argomenti, a un campo senza causare conflitti. Se aggiungi altre chiavi, assicurati per prima cosa che il campo non sia gestito. L'aggiunta o la modifica di qualsiasi valore gestito causa un conflitto.
Nel seguente output, è possibile vedere come sia la chiave
name
che il camponame
siano gestiti. L'aggiunta o la modifica di qualsiasi nome container causa un conflitto con questa chiave gestita.[...] f:containers: k:{"name":"coredns"}: [...] f:name: {} [...] manager: eks [...]
Procedura
Puoi usarlo kubectl
per vedere quali campi sono gestiti da Amazon EKS per qualsiasi EKS componente aggiuntivo Amazon.
Puoi modificare tutti i campi che non sono gestiti da Amazon EKS o da un altro Kubernetes processo del piano di controllokube-controller-manager
, ad esempio, senza problemi.
-
Determinare quale componente aggiuntivo si desidera esaminare. Per visualizzare tutte le
deployments
e iDaemonSets
implementati nel cluster, consulta Vista Kubernetes risorse nel AWS Management Console. -
Visualizzazione dei campi gestiti per un componente aggiuntivo eseguendo il comando seguente:
kubectl get
type
/add-on-name
-nadd-on-namespace
-o yamlAd esempio, è possibile visualizzare i campi gestiti per CoreDNS componente aggiuntivo con il seguente comando.
kubectl get deployment/coredns -n kube-system -o yaml
La gestione dei campi è elencata nella sezione seguente dell'output restituito.
[...] managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: [...]
Nota
Se non visualizzi
managedFields
nell'output, aggiungi
al comando ed eseguilo di nuovo. La versione di--show-managed-fields
kubectl
che stai utilizzando determina se i campi gestiti vengono restituiti per impostazione predefinita.
Passaggi successivi
Personalizza i campi non di proprietà del componente aggiuntivo AWS for you.