¿Qué es un presupuesto de interrupción de la cápsecos de Kubernetes (PDB)??
En Kubernetes, cuando algo crea una interrupción en el funcionamiento de una cápsula, esa interrupción se considera una interrupción. La interrupción podría ser de cualquier tipo como accidentalmente usando el comando "Kubectl Eliminar" en lugar del comando "Kubectl Get" o un nodo que requiere reiniciar debido a un bloqueo del sistema, etc. Sin embargo, las interrupciones voluntarias también pueden ocurrir en caso de que la interrupción sea causada por un operador como un nodo que se agota o el despliegue que se elimina.
Cuando la cápsula de una aplicación necesita ser reprogramada por una razón específica como el mantenimiento de rutina, una actualización o cualquier otra cosa, la aplicación enfrenta muchas interrupciones a lo largo del proceso de reprogramación. El presupuesto de interrupción del Pod (PDB) es un método en Kubernetes que se utiliza para limitar esas interrupciones para que una aplicación pueda ejecutar el proceso de reprogramación sin problemas. El PDB permite al propietario de la aplicación establecer los requisitos para la implementación para que la aplicación se interrumpe menos por cualquier tipo de interrupción. En otras palabras, PDB permite al propietario de la aplicación especificar los requisitos operativos que pueden ser tolerar mediante una implementación para que pueda mantenerse estable cuando ocurra una interrupción.
Aprendamos cómo configurar un presupuesto de interrupción de Pod para una aplicación Kubernetes con la ayuda de la siguiente guía paso a paso.
Prerrequisitos:
Antes de comenzar, asegúrese de que su sistema cumpla con todos los requisitos previos necesarios. Debes tener Ubuntu 20.02 o cualquier otra última versión instalada en su sistema. Además de eso, debe tener una máquina virtual habilitada para que se pueda usar el terminal Kubernetes. Además, debe ser el propietario de la aplicación Kubernetes que se ejecuta en el clúster de Kubernetes. Lo último que necesita es asegurarse de que el clúster de Kubernetes le permita establecer el presupuesto de interrupción del POD.
Ahora, configuremos el presupuesto de interrupción del Pod en Kubernetes. Siga los siguientes pasos para la configuración:
Paso 1: Inicie los Kubernetes
Cuando necesite trabajar con Kubernetes, el primer paso es iniciar los Kubernetes para que pueda tener acceso completo a la máquina virtual de Ubuntu. El minikube es un entorno de Kubernetes o, en palabras simples, es un terminal de tablero que se utiliza para ejecutar las aplicaciones y los comandos. Para iniciar el minikube, el comando "Inicio" se usa de la siguiente manera:
> Minikube Start
Ingrese este comando en el terminal de Kubernetes y presione Entrar. En la ejecución del comando, obtendrá la siguiente respuesta:
Una vez que tenga el terminal de Kubernetes en funcionamiento con éxito, debe decidir cómo su aplicación Kubernetes debe reaccionar ante las interrupciones. Las dos cosas principales que necesita especificar son el límite mínimo de parámetros disponibles y el límite máximo de parámetros no disponibles. El parámetro minavailable especifica cuántos vainas siempre deben estar disponibles incluso si se produce una interrupción. El parámetro maxUnavailable especifica cuántos pods puede no estar disponible a la vez en caso de interrupción. El valor para minavailable y maxunavailable se puede configurar como un entero o puede ser un porcentaje. Ahora, veamos cómo crear un objeto PDB como un archivo YAML utilizando los parámetros Minavailable y MaxUnVailable.
Paso 2: Cree un archivo YAML para la definición del presupuesto de la disrupción del Pod
Ahora que nuestro panel de Kubernetes está en funcionamiento con éxito, como se ve en la captura de pantalla anterior, estamos listos para iniciar la configuración del Presupuesto de interrupción del POD (PDB) para una aplicación Kubernetes. Para abrir o crear un nuevo archivo, Kubernetes proporciona un comando "nano". Aquí, crearemos un archivo YAML para la definición del Presupuesto de interrupción del POD (PDB) utilizando el siguiente comando:
> nano pdbmin.yaml
El "nano" es el comando Kubernetes que crea un archivo. El "PDBmin" es el nombre del archivo especificado por el usuario. Y ".Yaml ”es la extensión del archivo que está a punto de ser creado. Escriba este comando en el terminal de Kubernetes y presione Entrar desde el teclado.
Aquí, usamos el parámetro minavailable para establecer los requisitos operativos tolerables del PDB. Como puede ver en la siguiente captura de pantalla, el valor del parámetro minavailable es 2, lo que significa que 2 pods deben estar disponibles todo el tiempo incluso si la interrupción se produce a la aplicación.
Creemos otra definición PDB como un archivo YAML utilizando el parámetro maxunavailable. Use el mismo comando "nano" para crear la definición PDB como un archivo YAML:
> nano pdmax.yaml
Como puede ver en la siguiente captura de pantalla, el valor para el parámetro maxunaverable es 1, lo que significa que solo 1 pod puede estar disponible en caso de interrupción.
Paso 3: Crear un objeto Presupuesto de interrupción de Pod (PDB)
El siguiente paso es crear el objeto del PDB a partir de las definiciones YAML que se crearon previamente. Utilice la instrucción "Kubectl Aplice" para crear el objeto PDB:
> kubectl aplicar -f pdmax.yaml
Como puede ver en la salida, el objeto se ha creado correctamente.
Paso 4: Verifique el estado del objeto Presupuesto de interrupción del Pod (PDB)
Ahora, verifiquemos el estado del objeto PDB creado recientemente. Use la instrucción "Kubectl Get" para verificar el estado del objeto PDB. Ingrese el comando "Kubectl Get" en el terminal y vea el estado del objeto PDB:
> Kubectl Get PoddisruptionBudgets
Recuerde que establecemos el valor maxUnaveAilable en 1, que se muestra en la salida anterior.
Si desea ver el estado detallado del objeto Presupuesto de interrupción del POD (PDB), puede usar el comando "Kubectl Get" de la siguiente manera:
> kubectl get poddisruptionBudgets zk -pdb -o yaml
Conclusión
Este artículo presentó cómo crear una definición de Presupuesto de Distribución de Pod (PDB) utilizando los parámetros MINAVAYABLE y MaxUnVailable para la aplicación Kubernetes. Luego aprendimos cómo crear el objeto PDB a partir de las definiciones YAML definidas y verificamos el estado del objeto creado usando el comando kubectl. Siguiendo los pasos dados, aprenderá a crear y configurar los objetos PDB y validar si el objeto funciona correctamente.