Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Determinación de los campos que se pueden personalizar para los complementos de Amazon EKS
Los complementos de Amazon EKS se instalan en el clúster mediante configuraciones estándar de prácticas recomendadas. Para obtener más información acerca de cómo agregar un complemento de Amazon EKS al clúster, consulte Complementos de Amazon EKS.
Es posible que desee personalizar la configuración de un complemento de Amazon EKS para habilitar características avanzadas. Amazon EKS utiliza la característica de aplicación del lado del servidor de Kubernetes para habilitar la administración de un complemento por parte de Amazon EKS sin sobrescribir la configuración de los ajustes que Amazon EKS no administra. Para obtener más información, consulte Server-side Applykube-controller-manager
, sin problema.
importante
La modificación de un campo administrado por Amazon EKS impide que Amazon EKS administre el complemento y puede provocar que los cambios se sobrescriban cuando se actualiza un complemento.
Sintaxis de administración de campos
Cuando se visualizan los detalles de un objeto de Kubernetes, los campos administrados y los no administrados se devuelven en la salida. Los campos administrados pueden ser de uno de los tipos siguientes:
-
Completamente administrado: Amazon EKS administra todas las claves del campo. Las modificaciones de algún valor provocan un conflicto.
-
Parcialmente administrado: Amazon EKS administra algunas claves del campo. Solo las modificaciones de las claves administradas explícitamente por Amazon EKS provocan un conflicto.
Ambos tipos de campos se etiquetan con manager: eks
.
Cada clave es o bien un .
que representa el campo en sí, que siempre se asigna a un conjunto vacío, o una cadena que representa un subcampo o elemento. La salida para la administración del campo consta de los siguientes tipos de declaraciones:
-
f:
, dondename
es el nombre de un campo de una lista.name
-
k:
, dondekeys
es un mapa de los campos de un elemento de lista.keys
-
v:
, dondevalue
es el valor exacto con formato JSON de un elemento de lista.value
-
i:
, dondeindex
es la posición de un elemento en la lista.index
Las siguientes partes de salida para el complemento CoreDNS ilustran las declaraciones anteriores:
-
Campos completamente administrados: si para un campo administrado se ha especificado
f:
(campo), pero nok:
(clave), se administra todo el campo. Las modificaciones a los valores de este campo provocan un conflicto.En la siguiente salida, puede ver que el contenedor llamado
coredns
está administrado poreks
. Los subcamposargs
,image
yimagePullPolicy
también están administrados poreks
. Las modificaciones de algún valor de estos campos provocan un conflicto.[...] f:containers: k:{"name":"coredns"}: .: {} f:args: {} f:image: {} f:imagePullPolicy: {} [...] manager: eks [...]
-
Campos parcialmente administrados: si una clave administrada tiene especificado un valor, se administran las claves declaradas para ese campo. La modificación de las claves especificadas provoca un conflicto.
En el siguiente resultado, puede ver que
eks
administra los volúmenesconfig-volume
ytmp
establecidos con la clavename
.[...] f:volumes: k:{"name":"config-volume"}: .: {} f:configMap: f:items: {} f:name: {} f:name: {} k:{"name":"tmp"}: .: {} f:name: {} [...] manager: eks [...]
-
Adición de claves a campos parcialmente administrados: si solo se administra un valor de clave específico, puede agregar claves adicionales, como argumentos, a un campo sin provocar ningún conflicto. Si agrega claves adicionales, asegúrese de que el campo no esté administrado primero. Agregar o modificar cualquier valor administrado provoca un conflicto.
En el siguiente resultado, puede ver que tanto la clave
name
como el camponame
están administrados. Agregar o modificar cualquier nombre de contenedor provoca un conflicto con esta clave administrada.[...] f:containers: k:{"name":"coredns"}: [...] f:name: {} [...] manager: eks [...]
Procedimiento
Puede utilizar kubectl
para ver qué campos administra Amazon EKS en cualquier complemento de Amazon EKS.
Puede modificar todos los campos que no estén administrados por Amazon EKS u otro proceso de plano de control de Kubernetes, como kube-controller-manager
, sin problema.
-
Determine el complemento que desea examinar. Para ver todas las
deployments
y losDaemonSets
implementados en el clúster, consulte Vea los recursos Kubernetes en el AWS Management Console. -
Para ver los campos administrados por un complemento, ejecute el siguiente comando:
kubectl get
type
/add-on-name
-nadd-on-namespace
-o yamlPor ejemplo, puede ver los campos administrados para el complemento CoreDNS con el siguiente comando.
kubectl get deployment/coredns -n kube-system -o yaml
La administración de campos se muestra en la siguiente sección de la salida devuelta.
[...] managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: [...]
nota
Si no ve
managedFields
en la salida, agregue
al comando y ejecútelo de nuevo. La versión de--show-managed-fields
kubectl
que utiliza determina si los campos administrados se devuelven de forma predeterminada.
Siguientes pasos
Para su complemento, personalice los campos que no son propiedad de AWS.