El tipo de fusión estratégica intenta "hacer lo preciso" al fusionar la especificación dada con la especificación actual. Más explícitamente, intenta fusionar matrices y objetos. Por ejemplo, especificar un parche que contiene una variable única o nueva en una especificación de contenedor de POD da como resultado que esa variable se incluya en las variables actuales, no sobrescribirlas. Borrar un elemento de matriz a través de un parche de fusión estratégica es más difícil, lo que necesita el uso de órdenes de fusión.
Al igual que el enfoque estratégico, el método JSON Merge Patch toma una especificación parcial de Kubernetes como entrada y contiene los objetos de fusión. De esta manera es bastante diferente del enfoque citado anteriormente, ya que solo admite reemplazar matrices. Al usar este enfoque, debe transmitir especificaciones completas para todos los contenedores; Si necesita modificar cualquier propiedad de contenedor en la CLI, puede elegir el parche de fusión JSON a través del parche Kubectl.
Por otro lado, el método JSON Patch utiliza una ilustración JSON de las variaciones que desea hacer a un recurso. JSON Patch es una forma más robusta y eficiente de indicar las modificaciones que desea hacer.
Requisitos previos
Necesitamos un clúster de Kubernetes o una configuración de Kubectl CLI para interactuar con el clúster. Si no tiene un clúster, entonces debe generar uno con la ayuda de Minikube. Mientras trabajamos con comandos de parche en Kubernetes, necesitamos instalar el clúster de Minikube en su sistema para ejecutar Kubernetes en Linux.
Comando de parche kubectl
Vamos a ilustrar el funcionamiento de los comandos de parche con la ayuda de los comandos o instrucciones de Kubectl.
Desde la barra de búsqueda de aplicaciones, escriba "Terminal" o presione las teclas del teclado "Ctrl+Alt+T" simultáneamente. Ahora escriba el comando "Minikube Start" en la terminal y espere un tiempo hasta que comience con éxito.
$ minikube comienzo
Mientras trabajamos con comandos de parche, primero debemos generar una implementación en Kubernetes. Para este propósito, utilizamos la implementación táctil.Comando YAML para crear un archivo en Ubuntu 20.04, y la palabra clave táctil se usa para generar un archivo.
$ touch desplegamiento1.yaml
Guardar y ejecutar el archivo de comando kubectl. Luego verá el archivo que se crea con éxito.
El archivo de configuración de implementación mencionado a continuación tiene dos copias o réplicas, y cada copia es una cápsula que contiene un contenedor.
Para crear la implementación, utilizamos el 'Aplicar -f' con el nombre del archivo para crear correctamente la implementación.
$ kubectl aplicar -f implementment1.yaml
Para ver la información o verificar las cápsulas vinculadas con su implementación, usamos el comando get pods tal como lo hicimos en la siguiente captura de pantalla:
Después de ejecutar el comando anterior, mostrará el nombre, listo, estado, reinicio y edad de todos los pods ejecutando en su PC.
Tenga en cuenta que el nombre especifica las vainas actualmente en ejecución. Después de unos minutos, verá que estas cápsulas terminan y cambian por otras nuevas.
$ kubectl consigue vainas
En esta etapa, cada vaina contiene un contenedor que ejecuta la imagen Nginx. Ahora, si desea que cada Pod mantenga dos contenedores: uno que ejecute Nginx y otro que ejecute Redis. Para nuestro siguiente comando a continuación, genere un archivo de parche.
$ touch patchfile.yaml
Después de ejecutar este comando, puede ver el File Patch con el ".extensión Yaml ”.
Después de guardar y abrir el archivo, puede ver que su "PatchFile" contiene el contenido deseado.
Ahora nuestro próximo enfoque es parchear la implementación. Entonces, el siguiente comando es muy útil para la implementación de parches.
Para mostrar la implementación parchada, deberá ejecutar el siguiente comando. El resultado muestra que el PODSPEC en la implementación contiene dos contenedores:
El siguiente comando muestra si las cápsulas están vinculadas con su implementación parcheada o no. En esta salida, las cápsulas actualmente en ejecución han cambiado los nombres de las cápsulas que se estaban ejecutando anteriormente. El despliegue terminó las cápsulas anteriores y creó otras dos cápsulas nuevas que se ajustan a la especificación de implementación actualizada.
$ kubectl consigue vainas
Conclusión:
Así que aquí en este artículo, hemos elaborado el concepto de comando de parche en Kubernetes. Utilizamos el parche Kubectl para alterar la configuración del objeto de implementación en vivo. Espero que ahora puedas detener todo el concepto del parche en Kubernetes.