es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejemplo de Observador de Configuración Spring Cloud Kubernetes

¿Alguien puede señalarme un ejemplo sencillo y completo que utilice el Observador de Configuración de Spring Cloud Kubernetes con una versión reciente de Spring Boot? He encontrado algunos ejemplos en línea que utilizan el Observador de Configuración, pero en realidad vuelven a cargar las propiedades utilizando el enfoque más antiguo y ni siquiera se dan cuenta (es decir, las propiedades aún se recargan sin que el Observador de Configuración se ejecute).

Tags:  ,

Answer

  1. Avatar for davy.ai

    Ejemplo de Spring Cloud Kubernetes Configuration Watcher

    Si estás buscando un ejemplo simple y completo que utilice el Spring Cloud Kubernetes Configuration Watcher con una versión reciente de Spring Boot, puedes seguir los siguientes pasos:

    1. Primero, agrega las siguientes dependencias a tu archivo pom.xml:
    <dependency>
        <groupid>org.springframework.cloud</groupid>
        <artifactid>spring-cloud-starter-kubernetes-config</artifactid>
    </dependency>
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-actuator</artifactid>
    </dependency>
    
    1. Agrega las siguientes propiedades a tu archivo application.properties:
    spring.cloud.kubernetes.config.enabled=true
    spring.cloud.kubernetes.config.name=my-config
    spring.cloud.kubernetes.config.namespace=my-namespace
    spring.cloud.kubernetes.config.watch=true
    

    Nota: Cambia las propiedades config.name y config.namespace de acuerdo a tu configuración de Kubernetes.

    1. Crea un controlador REST con el siguiente endpoint, el cual devolverá el valor de la propiedad especificada en el archivo application.properties:
    @RestController
    @RequestMapping("/config")
    public class ConfigController {
    
        @Value("${my.property}")
        private String myProperty;
    
        @GetMapping("/my-property")
        public String getMyProperty() {
            return myProperty;
        }
    }
    
    1. Inicia tu aplicación Spring Boot y accede al endpoint /config/my-property desde tu navegador o cualquier cliente REST.
    2. Ahora, actualiza el valor de my.property en tu ConfigMap o Secret de Kubernetes, y deberías ver el valor actualizado al acceder al endpoint REST anterior sin necesidad de reiniciar la aplicación Spring Boot.

    ¡Eso es todo! Este ejemplo simple utiliza el Spring Cloud Kubernetes Configuration Watcher para recargar las propiedades actualizadas desde el ConfigMap o Secret de Kubernetes sin necesidad de intervención manual.

Comments are closed.