Noticias
New Serverspace Centro de datos en Uzbekistán: Tashkent
Serverspace Black Friday
DF
Enero 31 2026
Actualizado el 31 de enero de 2026

Quilla para Kubernetes — actualizaciones automáticas de Helm y de implementación

Kubernetes

Introducción

Actualización manual de aplicaciones en Kubernetes Casi siempre es una molestia: hay que hacer un seguimiento de las etiquetas de imágenes, aplicar manifiestos a tiempo, recordar las reglas de control de versiones y evitar “detener” la producción. Quilla Resuelve este problema como un Kubernetes Operador: supervisa nuevas versiones de contenedores (y lanzamientos de Helm) y actualiza automáticamente sus cargas de trabajo de acuerdo con una política definida: implementaciones, DaemonSets, StatefulSets y lanzamientos de Helm.
Repositorio oficial: https://github.com/keel-hq/keel

¿Qué es Keel y cómo funciona?

Quilla Es un servicio ligero autoalojado (un solo contenedor, sin base de datos independiente) que se ejecuta dentro de un clúster y actúa como un actualizador automático. La lógica de gestión de actualizaciones se define directamente en los manifiestos de la aplicación (mediante anotaciones) o en los diagramas de Helm:

  • Qué actualizar — un Deployment/StatefulSet/DaemonSet específico o una versión de Helm;
  • cuándo actualizar — a través de un sondeo de registro (encuesta) o un activador de webhook;
  • como actualizar — de acuerdo con una política de versiones (por ejemplo, parche/menor a través de SemVer) o de manera forzada.

La idea es simple: publicas una nueva imagen en el registro, Keel la detecta y actualiza el recurso respetando las reglas definidas.

Tabla: comandos y acciones rápidas

Task Comando/acción Notas
Crear espacio de nombres kubectl crea espacio de nombres quilla Aísla los componentes de la quilla
Ver vainas de quilla kubectl -n quilla obtener pods Comprueba que Keel se está ejecutando
Ver la implementación de la quilla kubectl -n quilla obtener implementación Diagnósticos rápidos
Aplicar manifiesto de aplicación kubectl apply -f implementación.yaml Después de agregar anotaciones de Keel
Ver eventos del espacio de nombres kubectl -n predeterminado obtener eventos --sort-by=.metadata.creationTimestamp Ayuda a comprender qué se actualizó y cuándo
Comprobar el lanzamiento kubectl -n estado de implementación predeterminado deploy/webhook-demo Conveniente después de las actualizaciones de imágenes
Historial de lanzamiento kubectl -n historial de implementación predeterminado deploy/webhook-demo Comprueba qué revisión se aplicó

Ejemplos de uso práctico

Ejemplo 1. Actualizaciones automáticas de implementación mediante SemVer (menor)

Supongamos que desea extraer automáticamente nuevas versiones de imágenes, pero solo dentro de la menor de edad Ámbito (por ejemplo, 1.3.x → 1.4.x, pero no 2.0.0). Agregue anotaciones de Keel al manifiesto de implementación:

apiVersion: apps/v1
kind: Deployment
metadata:
name: webhook-demo
namespace: default
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll

Example 2. Updating only patch versions (no minor “jumps”)

Suitable for production environments where minimizing risk is critical:

metadata:
annotations:
keel.sh/policy: patch
keel.sh/trigger: poll

Lógica: 1.4.2 → 1.4.3 se actualizará, mientras que 1.4.2 → 1.5.0 no lo hará.

Ejemplo 3. StatefulSet: actualizaciones cuidadosas para servicios con estado

Keel admite StatefulSets. Esto resulta útil cuando se publican nuevas compilaciones de aplicaciones con frecuencia, pero se desea cumplir con políticas de control de versiones estrictas:

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: api-stateful
annotations:
keel.sh/policy: patch
keel.sh/trigger: poll
spec:
serviceName: api-stateful
replicas: 3
selector:
matchLabels:
app: api-stateful
template:
metadata:
labels:
app: api-stateful
spec:
containers:
- name: api
image: your-registry.example.com/api:3.2.9
imagePullPolicy: Always

Ejemplo 4. DaemonSet: actualización de agentes/registradores en todos los nodos

Un caso de uso clásico: agentes de registro, agentes de seguridad, exportador de nodos y cualquier servicio "uno por nodo":

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: log-agent
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll
spec:
selector:
matchLabels:
app: log-agent
template:
metadata:
labels:
app: log-agent
spec:
containers:
- name: agent
image: your-registry.example.com/log-agent:0.9.1
imagePullPolicy: Always

Ejemplo 5. Helm: actualizaciones automáticas de versiones

Keel también puede funcionar como proveedor de Helm. La lógica práctica es la misma: se definen las reglas de actualización en el gráfico/valores, y Keel actualiza la versión cuando aparece una nueva (ya sea de imágenes o de la propia versión, según el modelo de entrega).
En la práctica, esto es conveniente si tiene muchos entornos similares (desarrollo/etapa) y desea que se actualicen automáticamente según reglas claras, sin ejecutar helm upgrade manualmente cada vez.

Instalación de Keel en un clúster

A continuación se presenta un escenario básico de inicio rápido. Para obtener más información y variantes de instalación (incluido el diagrama de Helm), consulte la documentación y el repositorio de Keel.

Paso 1. Preparar el espacio de nombres

kubectl create namespace keel

Paso 2. Instalar la quilla

Opción A (diagrama de timón): Si prefiere la instalación basada en Helm, utilice el diagrama de Keel. La lógica general es la siguiente:

helm repo add keel https://charts.keel.sh
helm repo update
helm install keel keel/keel -n keel

Nota: La dirección del repositorio o el nombre del gráfico pueden variar según la fuente. Lo más seguro es verificar los comandos más recientes en la documentación oficial o en ArtifactHub.

Opción B (aplica kubectl): Adecuado si desea una dependencia mínima de Helm. En este caso, aplique los manifiestos YAML de Keel del repositorio/documentación oficial.

Paso 3. Verifique que Keel esté ejecutándose

kubectl -n keel get pods
kubectl -n keel get deploy

Paso 4. Agregue anotaciones a sus cargas de trabajo

Keel empieza a funcionar cuando detecta sus anotaciones (política/disparador, etc.) en los recursos. Después de añadirlas, aplique los cambios:

kubectl apply -f deployment.yaml

Recomendaciones operativas

  • Empezar con el parche para producción y uso menor para desarrollo/etapa: esto hace que el control de riesgos sea más fácil.
  • Utilice etiquetas únicas y predeciblesSi confías en "lo último", las actualizaciones pueden volverse opacas.
  • Elige el disparador adecuado:La encuesta es más sencilla para comenzar; los webhooks son más rápidos y reducen las consultas de registro.
  • Observabilidad: asegúrese de poder ver los eventos de implementación (eventos/registros) para comprender rápidamente por qué se produjo o se omitió una actualización.

En la práctica: dónde funciona mejor

Keel se adapta especialmente bien a escenarios donde se busca una integración continua y continua (CI/CD) sin pipelines complejos: equipos pequeños, microservicios de producto, ciclos rápidos de desarrollo y preparación, y entornos estandarizados. En estos casos, la simplicidad y las actualizaciones predecibles son más importantes que la complejidad añadida.
Si tu corres Kubernetes usted mismo (kubeadm/k3s) o mantener múltiples entornos para diferentes proyectos, es conveniente tener una infraestructura donde VPS Las instancias se pueden aprovisionar de forma rápida y predecible, por ejemplo, en una región cercana a su público objetivo. Con ServerspacePuede implementar servidores virtuales en la ubicación deseada y crear clústeres de la forma que necesite (desarrollo, ensayo y entornos aislados), luego usar Keel para automatizar las actualizaciones de servicio con políticas basadas en SemVer.

Keel en flujos de trabajo del mundo real: reducción de la fricción operativa

Una de las ventajas menos obvias de Keel es cómo cambia los hábitos operativos diarios. En lugar de tratar las implementaciones como acciones explícitas ("alguien necesita actualizar la imagen"), las actualizaciones se convierten en un proceso en segundo plano predecible, controlado por reglas. Este cambio reduce la carga cognitiva: los ingenieros dejan de pensar en cómo implementar una nueva versión y se centran más en lo que están entregando.

En equipos donde varios servicios se actualizan de forma independiente, este enfoque ayuda a evitar problemas de sincronización. Cada carga de trabajo sigue su propia política de actualización, por lo que un pequeño cambio en un servicio no obliga a realizar acciones manuales coordinadas en todo el clúster. Con el tiempo, esto se traduce en menos correcciones apresuradas, menos momentos de "actualización rápida de la etiqueta" y mayor confianza en el proceso de lanzamiento.

Keel también es útil como herramienta de transición. Para equipos que no están listos para invertir en pipelines complejos de CI/CD o GitLos flujos de trabajo de operaciones ofrecen una solución intermedia práctica. Siguen obteniendo actualizaciones automatizadas basadas en políticas, pero sin añadir componentes de infraestructura adicionales ni modificar significativamente los procesos existentes. Esto hace que Keel sea especialmente atractivo para equipos y proyectos en crecimiento que necesitan automatización inmediata, no después de un rediseño completo de la plataforma.

Conclusión

Keel es un práctico Kubernetes Operador para automatizar actualizaciones de implementaciones, conjuntos con estado, conjuntos de demonios y lanzamientos de Helm. Es ideal para eliminar los flujos de trabajo manuales de tipo "kubectl apply solo para cambiar una etiqueta" y reemplazarlos con políticas administradas (parche/menor) y desencadenadores claros. Como resultado, los equipos ahorran tiempo, los ciclos de entrega se agilizan y se reduce el riesgo de errores humanos durante lanzamientos frecuentes.

Preguntas Frecuentes

¿Es Keel un reemplazo para CI/CD?

No. CI/CD generalmente se encarga de la creación, prueba y publicación de artefactos. Keel resuelve una tarea más específica: actualización automática Kubernetes cargas de trabajo cuando ya hay una nueva imagen/versión disponible, según reglas definidas.

Cual Kubernetes ¿Qué tipos de carga de trabajo son compatibles?

En una configuración típica, Keel puede actualizar Los despliegues, Conjuntos con estadoy el ámbito Conjuntos de demonios, y también puede integrarse con Casco Lanzamientos

¿Cómo decide Keel cuándo actualizar?

Esto se define mediante anotaciones: se elige una política (por ejemplo, parche/menor mediante SemVer) y un tipo de activador (como sondeo). Si la nueva versión coincide con la política, Keel inicia la actualización del recurso.

¿Qué debería elegir: encuesta o webhooks?

Nuca Es más sencillo empezar con: Keel comprueba periódicamente el registro. Webhooks Son útiles cuando necesita una reacción más rápida a los lanzamientos y desea reducir las consultas de registro innecesarias.

¿Se puede utilizar Keel en múltiples entornos?

Sí. Keel normalmente se instala por separado en cada entorno (desarrollo/etapa/producción), con diferentes políticas de actualización: por ejemplo, menor para desarrollo/etapa y parche para producción.

¿Dónde puedo encontrar ejemplos y parámetros actualizados?

Comience con el repositorio oficial y la documentación: GitHub cuartel general de la quilla/quilla además quilla.sh.

Recursos adicionales: el Serverspace base de conocimientos y Kubernetes

Si recién está comenzando con Kubernetes o desea profundizar en temas específicos, desde conceptos centrales hasta operaciones diarias del clúster, el Serverspace La base de conocimientos ya contiene una amplia gama de materiales dedicados a Kubernetes.

En la base de conocimientos, puedes encontrar:

  • Guías paso a paso para trabajar con Kubernetes y contenedores;
  • Desgloses de tareas comunes de DevOps y administración de clústeres;
  • tutoriales sobre implementación de aplicaciones, redes, almacenamiento y seguridad;
  • artículos prácticos sobre Kubernetes herramientas del ecosistema, desde utilidades básicas hasta operadores y automatización.

Estos materiales son prácticos para usar como referencia diaria: cuando necesita recordar rápidamente un comando, verificar una configuración o comprender cómo configurar correctamente un componente específico. Combinados con herramientas como Keel, esto ayuda no solo a automatizar las actualizaciones, sino también a crear un entorno más claro y manejable. Kubernetes infraestructura.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies además Política de privacidad.