Spring Cloud Config 배포

이 문서에서는 Kf 클러스터에 Spring Cloud Config를 배포하는 방법을 보여줍니다.

Spring Cloud Config는 런타임 구성에서 애플리케이션 코드를 분리하는 방법을 제공합니다. Spring Cloud Config 구성 서버는 Git 저장소, 로컬 파일 시스템, HashiCorp Vault 서버 또는 Cloud Foundry CredHub에서 구성 파일을 읽을 수 있습니다. 구성 서버가 구성을 읽고 나면 해당 구성을 YAML, 자바 속성 또는 HTTP 기반 JSON으로 형식을 지정하고 제공할 수 있습니다.

시작하기 전에

Kf가 설치되어 있고 Kf CLI에 대한 액세스 권한이 있는 클러스터가 필요합니다.

또한 다음 소프트웨어가 필요합니다.

  • git: 저장소를 클론하려면 Git이 필요합니다.

Spring Cloud Config 구성 서버 다운로드

구성 서버 소스를 다운로드하려면 다음 안내를 따르세요.

  1. 터미널을 엽니다.
  2. 구성 서버의 소스를 클론합니다.

    git clone --depth 1 "https://github.com/google/kf"
    

구성 서버 구성 및 배포

인스턴스 설정을 업데이트하려면 다음 안내를 따르세요.

  1. 디렉터리를 spring-cloud-config-server로 변경합니다.

    cd kf/spring-cloud-config-server
    
  2. manifest.yaml를 엽니다.

  3. GIT_URI 환경 변수를 Git 구성 서버의 URI로 변경합니다.

  4. 원하는 경우 manifest에서 애플리케이션 이름을 변경합니다.

  5. 원하는 경우 src/main/resources/application.properties를 편집하여 추가 속성 또는 대체 속성 소스를 구성합니다.

  6. 외부 경로 없이 구성 서버를 배포합니다. 매니페스트에서 애플리케이션 이름을 변경한 경우 여기에 업데이트합니다.

    kf push --no-route spring-cloud-config
    

구성 서버에 애플리케이션 바인딩

사용자 제공 서비스를 만들어 배포된 구성 서버를 동일한 클러스터 또는 네임스페이스에 있는 다른 Kf 애플리케이션에 바인딩할 수 있습니다.

구성 방법은 사용 중인 라이브러리에 따라 다릅니다.

PCF 애플리케이션

Pivotal의 Spring Cloud Services 클라이언트 라이브러리를 사용하는 기존 PCF 애플리케이션은 다음 방법을 사용하여 바인딩할 수 있습니다.

  1. config-server라는 사용자 제공 서비스를 만듭니다. 이 단계는 구성 서버당 한 번만 수행하면 됩니다.

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
    
  2. 사용자 인증 정보를 가져와야 하는 각 애플리케이션에서 다음을 실행합니다.

    kf bind-service application-name config-server
    kf restart application-name
    

    그러면 구성 서버의 VCAP_SERVICES 환경 변수에 항목이 생성됩니다.

기타 애플리케이션

Spring Cloud Config 구성 서버에 직접 연결할 수 있는 애플리케이션은 클러스터 내부 URI를 사용하여 액세스할 수 있도록 구성해야 합니다.

http://spring-cloud-config
  • Spring Cloud Config 클라이언트 라이브러리를 사용하는 Spring 애플리케이션의 경우 애플리케이션에 적합한 위치에 spring.cloud.config.uri 속성을 설정할 수 있습니다. 일반적으로 application.properties 또는 application.yaml 파일입니다.
  • 다른 프레임워크의 경우 라이브러리의 참조 정보를 확인하세요.

구성 서버 삭제

구성 서버를 삭제하려면 다음 안내를 따르세요.

  1. 바인딩된 각 애플리케이션에서 다음 명령어를 실행하는 구성 서버에 대한 모든 바인딩을 삭제합니다.

    kf unbind-service application-name config-server
    kf restart application-name
    
  2. 구성 서버의 서비스 항목을 삭제합니다.

    kf delete-service config-server
    
  3. 구성 서버 애플리케이션을 삭제합니다.

    kf delete spring-cloud-config
    

다음 단계