Continuamos viendo un incremento en el uso del patrón de Operador de Kubernetes con propósitos más allá de administrar aplicaciones desplegadas en el clúster. Usando el patrón de operador para recursos no agrupados se aprovechan las definiciones de recurso personalizado y el mecanismo de programación guiado por eventos implementados en el panel de control de Kubernetes para gestionar las actividades que están relacionadas fuera del cluster. Esta técnica se basa en la idea de Kube-managed cloud services y la extiende a otras actividades, como despliegue continuo o reacción a cambios en repositorios externos. Una de las ventajas de ésta técnica por encima de una herramienta especialmente diseñada, es que abre una amplia gama de herramientas que ya vienen incluidas en Kubernetes o son parte de un ecosistema más amplio. Puedes usar comandos como diff, dry-run o apply para interactuar con los recursos personalizados del operador. El mecanismo de programación de Kube hace que el desarrollo sea más fácil al eliminar la necesidad de orquestar actividades en el orden correcto. Herramientas de código abierto como Crossplane, Flux y Argo CD aprovechan ésta técnica, y esperamos ver más de estas surgir con el tiempo. Aunque éstas herramientas tienen sus casos de uso, también estamos comenzando a ver un mal uso y abuso de ésta técnica y necesitamos repetir un viejo consejo: Sólo porque puedas hacer algo con una herramienta no significa que debas. Asegúrate de descartar enfoques más sencillos y convencionales antes de crear una definición de recurso personalizada y asumir la complejidad que este enfoque implica.
Estamos viendo un incremento en el uso del patrón de Kubernetes Operator para propósitos distintos a la gestión de aplicaciones desplegadas en el cluster. El uso del patrón de operación para recursos no clusterizados aprovecha las definiciones de recursos personalizadas y el mecanismo de programación basado en eventos implementado en el plano de control de Kubernetes para administrar actividades relacionadas aún fuera del clúster. Esta técnica se construye sobre la idea de Kube-managed cloud services y se extiende a otras actividades, como despliegue continuo o reacción a los cambios en repositorios externos. Una ventaja de esta técnica sobre una herramienta específicamente construida es que abre una amplia gama de herramientas que o bien vienen con Kubernetes o son parte del ecosistema más amplio. Puede usar comandos como diff
, dry-run
o apply
para interactuar con los recursos personalizados del operador. El mecanismo de programación Kube hace el desarrollo más fácil al eliminar la necesidad de orquestar actividades en el orden correcto. Las herramientas de código abierto como Crossplane, Flux y ArgoCD toman ventaja sobre esta técnica y esperamos ver más emerger con el tiempo.