-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19541 from VineethReddy02/merged-master-to-dev-1.18
Merged master to dev 1.18
- Loading branch information
Showing
41 changed files
with
4,956 additions
and
208 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
153 changes: 153 additions & 0 deletions
153
content/es/docs/concepts/configuration/organize-cluster-access-kubeconfig.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 %}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.