여기에서는 Google Cloud용 Kf Cloud 서비스 브로커를 사용하여 Cloud Foundry Spring Music 참조 앱을 배포하는 과정을 안내합니다.
소스에서 자바 앱 빌드: Spring Music 소스는 로컬이 아닌 클러스터에 빌드됩니다.
서비스 브로커 통합: Kf Cloud 서비스 브로커를 사용하여 데이터베이스를 만들고 Spring Music 앱을 결합합니다.
Spring Cloud Connectors: Spring Cloud Connectors는 Spring Music 앱에서 바인드된 CF 서비스를 감지하는데 사용됩니다. Kf와 원활하게 작동합니다.
자바 버전 구성: 빌드팩에서 사용할 자바 버전을 지정합니다.
기본 요건
Kf Cloud 서비스 브로커를 설치하고 구성해야 합니다.
Spring Music 배포
소스 복제
Spring Music 저장소를 클론합니다.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
cd spring-music
manifest.yml
을 수정하고path: build/libs/spring-music-1.0.jar
를stack: 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 푸시
Space를 만들고 타겟팅합니다.
kf create-space test
kf target -s test
Spring Music을 배포합니다.
kf push spring-music
프록시 기능을 사용하여 배포된 앱에 액세스합니다.
프록시를 시작합니다.
kf proxy spring-music
브라우저에서
http://localhost:8080
을 엽니다.
배포된 앱에는 사용 중인 Spring 프로필(있는 경우)을 보여주는 UI 요소가 포함됩니다. 여기에서는 인메모리 데이터베이스가 사용 중임을 나타내는 프로필이 없습니다.
데이터베이스 만들기 및 결합
Marketplace에서 PostgresSQL 데이터베이스를 만듭니다.
kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"COMPUTE_REGION","authorized_network":"VPC_NAME"}'
서비스를 앱과 결합합니다.
kf bind-service spring-music spring-music-postgres-db
앱을 다시 시작하여 VCAP_SERVICES 환경 변수를 통해 서비스 결합을 사용할 수 있도록 합니다.
kf restart spring-music
(선택사항) 결합 세부정보를 확인합니다.
kf bindings
앱이 새 결합을 사용 중인지 확인합니다.
프록시를 시작합니다.
kf proxy spring-music
브라우저에서
http://localhost:8080
을 엽니다.Postgres 프로필이 사용되고 있으며 앱을 결합한 서비스의 이름이 표시됩니다.
삭제
PostgreSQL 서비스를 바인딩 해제하고 삭제합니다.
kf unbind-service spring-music spring-music-db
kf delete-service spring-music-db
앱을 삭제합니다.
kf delete spring-music