Cómo actualizar de forma segura un servidor Kubernetes existente sin configuraciones originales

Cómo actualizar de forma segura un servidor Kubernetes existente sin configuraciones originales

Me entregaron un clúster de Kubernetes sin archivos de configuración y no estaba configurado con helm. El autor dijo que acaban de crear todo desde la línea cmd. Es un clúster pequeño/nuevo para un único servidor API con un controlador de entrada nginx. Conozco lo suficiente sobre Kubernetes como para moverme y pude agregar un nuevo servidor web, pero ahora necesito profundizar y actualizar las configuraciones existentes. Específicamente, quiero habilitar las métricas de Prometheus en el controlador nginx, pero no quiero romper nada.

¿Existe una forma estándar de recuperar las configuraciones existentes (implementaciones, servicios, etc.) del clúster, realizar modificaciones y aplicarlas? ¿O hay alguna manera de parchear las actualizaciones de partes individuales de la configuración existente sin tener que crear un nuevo archivo yaml?

Entiendo que puedo obtener la configuración actual con algo como esto:

kubectl get services -n nginx -o yaml

Esa salida tiene campos adicionales como CreationTimestamp, uid, etc., que supongo que debo eliminar. ¿O puedo simplemente guardar el resultado exactamente como está en un archivo yaml, hacer mis modificaciones para habilitar Prometheus y luego aplicar la configuración nuevamente al controlador? ¿Ignorará los campos creados por kube? ¿Existe algún enfoque diferente que debería considerar?

En segundo lugar, ¿debería almacenar estas configuraciones en un repositorio o es así como se hacen las cosas?

Respuesta1

Parece que tienes casi todo lo que necesitas; Sólo hay algunas consideraciones menores:

  • kubectl -n <ns> get <CRD> -o yamlle dará el resultado con algunos identificadores de solo lectura, que no puede redefinir incluso si mantienen sus valores, por lo que no son adecuados para mantenerlos como archivos simples.
  • usarkubectl edit instead
  • en cuanto a si debe conservarlos en cualquier VCS que desee, o si simplemente debe realizar modificaciones sobre la marcha, depende totalmente de usted decidir; cualquier intento de discutir esto probablemente encenderá una llama.

información relacionada