enero 26, 2022

Kubernetes: 5 Mejores consejos y trucos.

El día de hoy te compartimos los mejores consejos y trucos de Kubernetes:

1- Autocompletar

Esta es probablemente la más simple de hacer, pero también una de las cosas más útiles cuando se usa Kubernetes. Para autocompletar (si usas bash) ejecuta el siguiente comando:

echo "source <(kubectl completion bash)" >> ~/.bashrc

Esto agregará el autocompletado a su .bashrc para que cada vez que abra un shell lo habilite.

2- Agregar límites de memoria predeterminados y límites de CPU

Si alguien escribe una aplicación que abre una conexión a una base de datos cada segundo pero nunca la cierra, ahora tenemos una pérdida de memoria en una de nuestras aplicaciones en el clúster. Y si se implementaron en el clúster sin establecer un límite, puede bloquear un nodo.

Para evitar esto, Kubernetes permite que se establezcan límites predeterminados por espacio de nombres. Para hacer esto, es tan simple como crear un yaml para el rango límite y aplicarlo al espacio de nombres. Aquí un ejemplo:

apiVersion: v1  
 kind: LimitRange  
 metadata:  
   name: mem-limit-range  
 spec:  
   limits:  
   - default:  
       memory: 512Mi  
     defaultRequest:  
       memory: 256Mi  
     type: Container

3- Los Pod Disruption Budgets son tus amigos.

¿Cómo alguien garantiza que no haya tiempo de inactividad para una aplicación con un clúster de Kubernetes?

La respuesta es: Pod Disruption Budgets
Los clústeres se actualizarán. Los nodos se drenarán y las cosas se moverán. Los PDB (PodDisruptionBudget) deben colocarse en cada implementación que tenga más de 1 instancia. Se puede crear un PDB usando un yaml simple aplicado al clúster y usa selectores de etiquetas para determinar qué cubre un PDB específico.

Ejemplo:

apiVersion: policy/v1beta1  
 kind: PodDisruptionBudget  
 metadata:  
   name: app-a-pdb  
 spec:  
   minAvailable: 2  
   selector:  
       matchLabels:  
         app: app-a

4- Limpia el desorden

Kubernetes es un sistema muy poderoso, pero como cualquier sistema, eventualmente puede atascarse. Tiene que hacer todas las comprobaciones que le indiques y hacer sus propias comprobaciones al mismo tiempo.

Por supuesto, tener un servicio que no se conecta a nada no atascará el sistema y, por supuesto, Kubernetes está diseñado para escalar. PERO amplía ese servicio a millones y, de repente, el kubelet comenzará a atascarse. Si estas eliminando una implementación (o cualquier cosa) por cualquier motivo, asegurate de limpiar todo lo demás con eso, simple y llanamente.

5- Etiqueta todo

Las etiquetas son una de las bases principales de Kubernetes. Permite que los objetos se ajusten libremente a otros objetos y también le permite consultar en función de las etiquetas.

Puede hacer casi cualquier cosa con el uso de una etiqueta, pero un buen ejemplo sería varios entornos dentro del mismo clúster.

Supongamos que usas el mismo clúster para desarrollo y control de calidad. Esto significa que tendrías una aplicación potencialmente ejecutándose en control de calidad y desarrollo al mismo tiempo.

Para lograr esto de la manera más fácil, dar servicio a los objetos, una selección de etiquetas en la aplicación: aplicación-a y entorno: dev y otro objeto de servicio que selecciona la aplicación: aplicación-a pero cambia el dev con qa.

Lo que esto te brinda son dos de la misma aplicación con un punto final diferente para cada aplicación, lo que permite que las pruebas se realicen al mismo tiempo.

¿Qué te parecieron estos trucos y consejos? Esperamos que estos trucos te funcionen y logres ponerlos en practica.😉

(Visited 278 times, 1 visits today)
Escoge los temas de tu preferencia

¡Suscribete a nuestro Newsletter!

Cargando
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram