Cómo decodificar secretos en Kubernetes

Como Decodificar Secretos En Kubernetes



Kubernetes es un sistema de implementación de contenedores de código abierto que ejecuta aplicaciones en contenedores dentro del clúster de Kubernetes. En la implementación de aplicaciones, los secretos son uno de los recursos esenciales de Kubernetes. Se utiliza para almacenar información crítica o confidencial como nombres de usuario y contraseñas, claves API, certificados o tokens. Evita que el usuario proporcione información crítica en el código. El secreto de Kubernetes no almacena datos directamente, primero los transforma en otra forma y luego los almacena en el recurso de Kubernetes.

Este artículo ilustrará:

¿Cómo crear un secreto de Kubernetes?

Existen diferentes tipos de secretos en Kubernetes: el secreto genérico se utiliza para almacenar información genérica como credenciales y tokens de usuario, el secreto TLS se usa para almacenar el certificado y la clave tls, y el secreto de registro de Docker almacena las credenciales de inicio de sesión de Docker.







Para demostración, crearemos un secreto genérico para almacenar el nombre de usuario y la contraseña en las siguientes instrucciones.



Paso 1: iniciar el clúster

Primero, inicie el clúster de Kubernetes. Para hacerlo, simplemente use el botón ' inicio del minikube ' dominio:



inicio del minikube -pag multinodo

En el comando anterior, estamos iniciando nuestro clúster minikube multinodo:





Paso 2: crear un archivo de credenciales

A continuación, cree dos archivos de texto llamados 'nombre de usuario.txt' y 'contraseña.txt' para guardar el nombre de usuario y la contraseña respectivamente.



Paso 3: crear secreto

A continuación, navegue hasta el directorio donde creó los archivos de credenciales:

cd C:\Usuarios\Dell\Documentos\Kubernetes\Secret

Crea un nuevo secreto usando el botón ' kubectl crea secreto ' dominio. Aquí el ' -desde el archivo La opción 'se utiliza para guardar los datos secretos del archivo:

kubectl crea secreto de demostración genérico secreto --desde el archivo = nombre de usuario =nombre de usuario.txt --desde el archivo = contraseña =contraseña.txt

Paso 4: consigue el secreto

Para verificación, enumere el secreto usando el siguiente comando

kubectl se vuelve secreto

El resultado indica que se creó un nuevo secreto correctamente:

¿Cómo decodificar el secreto en Kubernetes?

A veces, es posible que se solicite a los usuarios que vean la información secreta por diferentes motivos, como fines de depuración, visualización de información de credenciales para confirmación y muchos más. Para obtener el secreto decodificado en Kubernetes, siga la demostración a continuación.

Paso 1: Describe el secreto

El ' kubectl describe ”muestra el resumen detallado del recurso de Kubernetes. Para ver los detalles secretos, utilice el botón ' kubectl describe secreto ' dominio:

kubectl describe el secreto de demostración secreto

Aquí, el comando anterior muestra el tamaño de los datos secretos solo en bytes, pero no expone la información secreta como se muestra a continuación:

Paso 2: obtenga datos secretos en formato Json

Para obtener los datos secretos en formato json, utilice el siguiente comando:

kubectl obtiene secreto de demostración secreto -O jsonpath = '{.datos}'

El siguiente resultado muestra los datos secretos codificados en base64:

Para ver el secreto, el usuario debe decodificarlo. Para decodificar el secreto de base64 a su forma real, el usuario necesita tener una terminal bash para ejecutar el comando bash. Para instalar el terminal bash, siga las instrucciones ' Agregue Git Bash a la terminal de Windows ' artículo.

Paso 3: decodifica el secreto

Para decodificar el secreto, primero inicie la terminal 'git bash'. Después de eso, ejecute el ' echo | base64 –decodificar ' dominio. Este comando se puede ejecutar directamente en terminales Linux y Mac:

eco 'TGludXhoaW50' | base64 --descodificar

Aquí, hemos decodificado el nombre de usuario:

Para decodificar la contraseña, utilice el botón ' echo | base64 –decodificar ' dominio:

eco 'TGludXhoaW50QDEyMw==' | base64 --descodificar

¿Cómo decodificar el secreto usando el paquete View-Secret?

Los usuarios de Kubernetes pueden decodificar el secreto utilizando diferentes paquetes y el ' ver-secreto 'El paquete es uno de ellos que se puede instalar y utilizar fácilmente a través de uno de los complementos compatibles con Kubernetes'. Sangre ”. Para instalar y utilizar el “ ver-secreto ”, siga la siguiente demostración:

Requisito previo: instalar el complemento Krew

El complemento Krew es uno de los complementos de Kubernetes que se puede utilizar para instalar diferentes paquetes para proporcionar funcionalidades adicionales a los recursos de Kubernetes. Para instalar el krew en el sistema, siga los pasos a continuación.

Paso 1: descargue el archivo 'krew.exe'

Primero, navegue hasta el sitio oficial de lanzamientos de krew. página y descargue el archivo “krew.exe”:

——————————————————————————————————————————-

De forma predeterminada, krew se descargará en la carpeta ' Descargas 'carpeta:

Paso 2: inicie el símbolo del sistema

Abra el símbolo del sistema con derechos administrativos a través del botón ' Puesta en marcha ”menú:

Paso 3: instale Krew

Navegue hasta el directorio donde ' sangre.exe ”Se descarga el archivo:

cd C:\Usuarios\Dell\Descargas

A continuación, utilice el siguiente comando para instalar krew en Windows:

.\sangre instalar sangre

El comando anterior instalará el krew en el directorio de usuarios ' C:\Usuarios\\.crew\bin ”:

Paso 4: agregue Krew a la ruta de Windows

Para acceder a los comandos de Krew desde la línea de comandos de Windows, los usuarios deben agregar krew en la ruta de Windows. Para hacerlo, busque ' Variable ambiental ”en el menú Inicio e inicie la configuración resaltada a continuación:

Desde el ' Avanzado ”, abra la configuración de “Variables de entorno”:

Selecciona el ' Camino ”variable y presione el botón “ Editar ' botón:

Presione el ' Nuevo 'Para agregar una ruta, pegue el' C:\Usuarios\\.crew\bin ” ruta y presione el botón “OK”:

Paso 5: Verificación

Ahora, cierre todas las terminales de Windows e inicie el símbolo del sistema o PowerShell. Luego, ejecute el siguiente comando para verificar si krew está instalado o no:

sangre kubectl

El resultado muestra que hemos instalado krew con éxito en el sistema:

Decodifica el secreto de Kubernetes usando el paquete View-Secret

Para decodificar el secreto usando el paquete view-secret, primero instale el secreto usando krew. Después de eso, use el botón ' kubectl view-secret ”comando para decodificar el secreto. A modo de ilustración, observe los pasos a continuación.

Paso 1: Instale el paquete View-Secret

Para instalar el paquete view-secret, utilice el complemento Kubectl krew como se muestra a continuación:

sangre kubectl instalar ver-secreto

Puede ver que hemos instalado el paquete view-secret. Ignore también la advertencia que se muestra a continuación:

Paso 2: ver el secreto de Kubernetes

A continuación, para ver el secreto decodificado de Kubernetes, utilice el botón ' kubectl view-secret ' dominio:

kubectl ver-secreto demo-secreto

Aquí, el resultado muestra que el secreto actual contiene dos variables. Para ver el valor decodificado, el usuario también debe especificar el nombre de la variable en el comando:

Paso 3: decodifica el secreto

Para decodificar el valor secreto, utilice el botón ' kubectl view-secret ' dominio:

kubectl view-secret nombre de usuario secreto de demostración

Aquí, hemos decodificado el nombre de usuario:

Al cambiar el nombre de la variable en el comando anterior, hemos accedido a la contraseña como se muestra a continuación:

kubectl view-secret contraseña secreta de demostración

Se trata de obtener un secreto decodificado en Kubernetes.

Conclusión

Para obtener el secreto decodificado en Kubernetes, primero acceda a los datos secretos en formato json mediante el comando 'kubectl get secret'. Este comando mostrará datos secretos codificados en base64. Para decodificar los datos, utilice el botón ' echo | base64 –decodificar ' dominio. Alternativamente, el usuario puede ver el secreto decodificado utilizando el paquete 'view-secret'. Este blog ha ilustrado cómo obtener secretos decodificados en Kubernetes.