Spring Music 배포

여기에서는 Google Cloud용 Kf Cloud 서비스 브로커를 사용하여 Cloud Foundry Spring Music 참조 앱을 배포하는 과정을 안내합니다.

  1. 소스에서 자바 앱 빌드: Spring Music 소스는 로컬이 아닌 클러스터에 빌드됩니다.

  2. 서비스 브로커 통합: Kf Cloud 서비스 브로커를 사용하여 데이터베이스를 만들고 Spring Music 앱을 결합합니다.

  3. Spring Cloud Connectors: Spring Cloud Connectors는 Spring Music 앱에서 바인드된 CF 서비스를 감지하는데 사용됩니다. Kf와 원활하게 작동합니다.

  4. 자바 버전 구성: 빌드팩에서 사용할 자바 버전을 지정합니다.

기본 요건

Kf Cloud 서비스 브로커 설치 및 구성

  1. Kf Cloud 서비스 브로커 배포

Spring Music 배포

소스 복제

  1. Spring Music 저장소를 클론합니다.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
    
  2. manifest.yml을 수정하고 path: build/libs/spring-music-1.0.jarstack: org.cloudfoundry.stacks.cflinuxfs3으로 바꿉니다. 이는 Kf가 클라우드 기반 빌드팩을 사용하여 소스에서 빌드하도록 지시하므로 로컬에서 컴파일할 필요가 없습니다.

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{enabled: false}'
    #    JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 11.+ } }'
    

결합 없이 Spring Music 푸시

  1. Space를 만들고 타겟팅합니다.

    kf create-space test
    kf target -s test
    
  2. Spring Music을 배포합니다.

    kf push spring-music
    
  3. 프록시 기능을 사용하여 배포된 앱에 액세스합니다.

    1. 프록시를 시작합니다.

      kf proxy spring-music
      
    2. 브라우저에서 http://localhost:8080을 엽니다.

    배포된 앱에는 사용 중인 Spring 프로필(있는 경우)을 보여주는 UI 요소가 포함됩니다. 여기에서는 인메모리 데이터베이스가 사용 중임을 나타내는 프로필이 없습니다.

데이터베이스 만들기 및 결합

  1. Marketplace에서 PostgresSQL 데이터베이스를 만듭니다.

     kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"COMPUTE_REGION","authorized_network":"VPC_NAME"}'
    
  2. 서비스를 앱과 결합합니다.

     kf bind-service spring-music spring-music-postgres-db
    
  3. 앱을 다시 시작하여 VCAP_SERVICES 환경 변수를 통해 서비스 결합을 사용할 수 있도록 합니다.

     kf restart spring-music
    
  4. (선택사항) 결합 세부정보를 확인합니다.

     kf bindings
    
  5. 앱이 새 결합을 사용 중인지 확인합니다.

    1. 프록시를 시작합니다.

      kf proxy spring-music
      
    2. 브라우저에서 http://localhost:8080을 엽니다.

      Postgres 프로필이 사용되고 있으며 앱을 결합한 서비스의 이름이 표시됩니다.

삭제

  1. PostgreSQL 서비스를 바인딩 해제하고 삭제합니다.

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. 앱을 삭제합니다.

    kf delete spring-music