Spring Music 배포

이 안내에서는 Kf를 사용하여 Cloud Foundry Spring Music 참조 앱을 배포하는 과정을 안내하고 몇 가지 내용을 설명합니다.

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

  2. 서비스 브로커 통합: PostgreSQL 데이터베이스를 만들어 Spring Music 앱에 바인딩합니다.

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

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

기본 요건

옵션 1: Minibroker

클러스터 관리자는 다음 안내에 따라 Minibroker 서비스 브로커를 클러스터에 설치해야 합니다. Minibroker를 사용하면 PostgreSQL 데이터베이스를 프로비저닝하고 이를 사용하도록 앱을 구성할 수 있습니다.

Minibroker가 설치되고 클러스터에서 사용할 수 있는지 확인하려면 kf marketplace를 실행합니다. 그러면 다음과 비슷한 출력이 표시됩니다.

$ kf marketplace
5 services can be used in Space "demo", use the --service flag to list the plans for a service

Broker      Name        Space      Status  Description
minibroker  mariadb                Active  Helm Chart for mariadb
minibroker  mongodb                Active  Helm Chart for mongodb
minibroker  mysql                  Active  Helm Chart for mysql
minibroker  postgresql             Active  Helm Chart for postgresql
minibroker  redis                  Active  Helm Chart for redis

옵션 2: 기타 서비스 브로커

PostgreSQL 서비스 만들기를 지원하는 경우 설치된 다른 서비스 브로커를 사용할 수 있습니다. 예를 들면 gcp-service-broker입니다.

배포

소스 복제

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

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. manifest.yml을 수정하고 콘텐츠를 다음으로 바꿉니다.

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        BP_AUTO_RECONFIGURATION_ENABLED: false
    

앱 푸시

  1. 배포(이미 공간을 kf target한 것으로 가정함): 자세한 내용은 이 문서를 참조하세요.

    kf push spring-music
    
  2. 프록시 기능을 사용하여 배포된 앱에 액세스한 다음 브라우저에서 http://localhost:8080을 로드합니다.

    kf proxy spring-music
    

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

데이터베이스 만들기 및 바인딩

  1. 마켓플레이스에 설치된 브로커를 통해 PostgreSQL 서비스를 만듭니다.

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. 서비스 인스턴스를 Spring Music 앱에 바인딩합니다.

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. 앱을 다시 시작하여 VCAP_SERVICES 환경 변수를 통해 서비스 결합을 사용할 수 있도록 합니다.

    kf restart spring-music
    
  4. (선택사항) 바인딩 세부정보 보기:

    kf bindings
    
  5. kf proxy를 다시 앱에 추가하고 웹브라우저에서 확인합니다. 앞서 만들고 바인딩한 PostgreSQL 서비스가 사용되고 있음을 나타내는 Spring 프로필이 표시됩니다.

폐기

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

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

    kf delete spring-music