From 1003e0e90d1b25b10d8ea47b656c0dd6b2b660df Mon Sep 17 00:00:00 2001 From: Carlos Almeida Date: Fri, 6 Mar 2020 03:43:23 -0300 Subject: [PATCH] Add content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md (#17172) * starting with the translation * updating, review and adding more translations * updating, review and adding more translations * last review * replaced 'archivos' by 'ficheros' * removed comments with original content * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * replaced 'ficheros by archivos' and 'fichero by archivo' * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales * Update content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md Co-Authored-By: Victor Morales Co-authored-by: Victor Morales --- .../organize-cluster-access-kubeconfig.md | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md diff --git a/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md new file mode 100644 index 0000000000..dc9f9e14a5 --- /dev/null +++ b/content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -0,0 +1,153 @@ +--- +title: Organizar el acceso a los clústeres utilizando archivos kubeconfig +content_template: templates/concept +weight: 60 +--- + +{{% capture overview %}} + +Utilice los archivos kubeconfig para organizar la información acerca de los clústeres, los +usuarios, los Namespaces y los mecanismos de autenticación. La herramienta de +línea de comandos `kubectl` utiliza los archivos kubeconfig para hallar la información que +necesita para escoger un clúster y comunicarse con el servidor API de un clúster. + +{{< note >}} +Un archivo utilizado para configurar el acceso a los clústeres se denomina +*archivo kubeconfig*. Esta es una forma genérica de referirse a los archivos de +configuración. Esto no significa que exista un archivo llamado `kubeconfig`. +{{< /note >}} + +Por defecto, `kubectl` busca un archivo llamado `config` en el directorio `$HOME/.kube`. +Puedes especificar otros archivos kubeconfig mediante la configuración de la variable +de entorno `KUBECONFIG` o mediante la configuracion del flag +[`--kubeconfig`](/docs/reference/generated/kubectl/kubectl/). + +Para obtener instrucciones paso a paso acerca de cómo crear y especificar los archivos kubeconfig, +consulte el recurso +[Configurar El Acceso A Múltiples Clústeres](/docs/tasks/access-application-cluster/configure-access-multiple-clusters). + +{{% /capture %}} + +{{% capture body %}} + +## Compatibilidad con múltiples clústeres, usuarios y mecanismos de autenticación + +Suponga que tiene diversos clústeres y que sus usuarios y componentes se autentican +de diversas maneras. Por ejemplo: + +- Un kubelet en ejecución se podría autenticar usando certificados. +- Un usuario se podría autenticar utilizando tokens. +- Los administradores podrían tener un conjunto de certificados que sean suministrados a los usuarios individualmente. + +Con los archivos kubeconfig puedes organizar tus clústeres, usuarios y Namespaces. +También puedes definir diferentes contextos para realizar de forma rápida y +fácil cambios entre clústeres y Namespaces. + +## Contexto + +Un elemento *context* en un archivo kubeconfig se utiliza para agrupar los parámetros de +acceso bajo un nombre apropiado. Cada contexto tiene tres parámetros: clúster, Namespace +y usuario. +Por defecto, la herramienta de línea de comandos `kubectl` utiliza los parámetros del +*contexto actual* para comunicarse con el clúster. + +Para seleccionar el contexto actual: + +```shell +kubectl config use-context +``` + +## Variable de entorno KUBECONFIG + +La variable de entorno `KUBECONFIG` contiene una lista de archivos kubeconfig. +En el caso de Linux y Mac, la lista está delimitada por dos puntos. Si se trata +de Windows, la lista está delimitada por punto y coma. La variable de entorno +`KUBECONFIG` no es indispensable. Si la variable de entorno `KUBECONFIG` no existe, +`kubectl` utiliza el archivo kubeconfig por defecto `$HOME/.kube/config`. + +Si la variable de entorno `KUBECONFIG` existe, `kubectl` utiliza una +configuración eficiente que es el resultado de la fusión de los archivos +listados en la variable de entorno `KUBECONFIG`. + +## Fusionando archivos kubeconfig + +Para poder ver su configuración, escriba el siguiente comando: + +```shell +kubectl config view +``` + +Como se ha descrito anteriormente, la respuesta de este comando podría resultar a partir de un solo +archivo kubeconfig, o podría ser el resultado de la fusión de varios archivos kubeconfig. + +A continuación se muestran las reglas que usa `kubectl` cuando fusiona archivos kubeconfig: + +1. Si el flag `--kubeconfig` está activado, usa solamente el archivo especificado. Sin fusionar. + Sólo se permite una instancia con este flag. + + En caso contrario, si la variable de entorno `KUBECONFIG` está activada, sera usada + como un listado de los archivos a ser fusionados. + Fusionar los archivos listados en la variable de entorno `KUBECONFIG` de acuerdo + con estas reglas: + + * Ignorar nombres de archivo vacíos. + * Producir errores para archivos con contenido que no pueden ser deserializados. + * El primer archivo que establezca un valor particular o una clave se impone. + * Nunca cambie el valor o la clave. + Ejemplo: Conserva el contexto del primer archivo para configurar el `contexto actual`. + Ejemplo: Si dos archivos especifican un `red-user`, utilice sólo los valores del primer archivo. + Incluso desechar el segundo archivo aunque tenga registros que no tengan conflictos. + + Para obtener un ejemplo de configuración de la variable de entorno `KUBECONFIG`, consulte la sección + [Configuración de la variable de entorno KUBECONFIG](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#set-the-kubeconfig-environment-variable). + + En caso contrario, utilice el archivo kubeconfig predeterminado `$HOME/.kube/config`, sin fusionar. + +2. Determinar el contexto a utilizar con base en el primer acierto en esta secuencia: + + 1. Si es que existe, utilice el flag `---contexto` de la línea de comandos. + 2. Utilice el `contexto actual` procedente de los archivos kubeconfig fusionados. + + En este punto se permite un contexto vacío. + +3. Determinar el clúster y el usuario. En este caso, puede o no haber un contexto. + Determine el clúster y el usuario con base en el primer acierto que se ejecute dos veces en + esta secuencia: una para el usuario y otra para el clúster: + + 1. Si es que existen, utilice el flag `--user` o `--cluster` de la línea de comandos. + 2. Si el contexto no está vacío, tome el usuario o clúster del contexto. + + En este caso el usuario y el clúster pueden estar vacíos. + +4. Determinar la información del clúster a utilizar. En este caso, puede o no haber información del clúster. + Se construye cada pieza de la información del clúster con base en esta secuencia, el primer acierto se impone: + + 1. Si es que existen, use el flag `--server`, `--certificate-authority`, `--insecure-skip-tls-verify` en la línea de comandos. + 2. Si existen atributos de información de clúster procedentes de los archivos kubeconfig fusionados, utilícelos. + 3. Falla si no existe la ubicación del servidor. + +5. Determinar la información del usuario a utilizar. Cree información de usuario utilizando las mismas reglas que + la información de clúster, con la excepción de permitir sólo un mecanismo de autenticación por usuario: + + 1. Si es que existen, utilice el flag `--client-certificate`, `--client-key`, `--username`, `--password`, `--token` de la línea de comandos. + 2. Utilice los campos `user` de los archivos kubeconfig fusionados. + 3. Falla si hay dos mecanismos de autenticación contradictorios. + +6. Si todavía falta información, utilice los valores predeterminados y solicite + información de autenticación. + +## Referencias de archivos + +Las referencias, así también como, las rutas de un archivo kubeconfig son relativas a la ubicación del archivo kubeconfig. +Las referencias de un archivo en la línea de comandos son relativas al directorio actual de trabajo. +Dentro de `$HOME/.kube/config`, las rutas relativas se almacenan de manera relativa a la ubicación del archivo kubeconfig , al igual que las rutas absolutas +se almacenan absolutamente. + +{{% /capture %}} + +{{% capture whatsnext %}} + +* [Configurar el acceso a multiples Clústeres](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) +* [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) + +{{% /capture %}}