맥에 PCF Dev(Pivoal Cloud Fundry)를 설치해 보았습니다.
10017 단어 PCFcloudfoundryPaas
개요
Cloud Foundery는 오픈 소스 PaaS 플랫폼에서 로컬로 PaaS 환경을 구축할 수 있습니다.
이번에는 PCF Dev를 사용하여 맥OS에 PaaS 환경을 구축합니다.
기본적으로 이쪽Tutorial에 따라 집행됩니다.(일부 다름)
필요조건
컨디션
설치
PCF를 실행하는 cli를 설치합니다.
아래에서 mac용 을 다운로드하고 GUI로 설치하십시오.
https://cli.run.pivotal.io/stable?release=macosx64&source=github
PCF Dev 설치
(보충)설치 프로그램으로 설치한 경우 이쪽 절차가 필요 없습니다
PCF Dev를 다운로드하십시오.
다운로드 시 무료 회원 로그인이 필요합니다. 메일 주소로 로그인하세요.
https://network.pivotal.io/products/pcfdev
osx가 적힌 다운로드를 선택하십시오.
다운로드 후 동결해제.
$ unzip pcfdev-v0.26.0+PCF1.10.0-osx.zip
PCF Dev에 plugen을 설치합니다.$ ./pcfdev-v0.26.0+PCF1.10.0-osx
부팅
PCF Dev를 시작합니다.
Pivocal Network에 등록된 메일 주소와 비밀번호를 묻겠으니 입력하십시오.
$ cf dev start
Please sign in with your Pivotal Network account.
Need an account? Join Pivotal Network: https://network.pivotal.io
Email> [email protected]
Password>
Downloading VM...
Progress: |====================>| 100%
VM downloaded.
Allocating 4096 MB out of 16384 MB total system memory (6869 MB free).
Importing VM...
Starting VM...
Provisioning VM...
Waiting for services to start...
7 out of 56 running
7 out of 56 running
7 out of 56 running
7 out of 56 running
38 out of 56 running
56 out of 56 running
_______ _______ _______ ______ _______ __ __
| || || | | | | || | | |
| _ || || ___| | _ || ___|| |_| |
| |_| || || |___ | | | || |___ | |
| ___|| _|| ___| | |_| || ___|| |
| | | |_ | | | || |___ | |
|___| |_______||___| |______| |_______| |___|
is now running.
To begin using PCF Dev, please run:
cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Apps Manager URL: https://local.pcfdev.io
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass
로그인
PCF Dev에 로그인합니다.
계정 정보는 실행
cf dev start
시 출력 결과와 같습니다.Apps Manager URL: https://local.pcfdev.io
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass
로그인이번에는 user로 로그인합니다.(admin도 가능)
$ cf login -a api.local.pcfdev.io --skip-ssl-validation
API endpoint: api.local.pcfdev.io
Email> user
Password>
Authenticating...
OK
Targeted org pcfdev-org
Targeted space pcfdev-space
API endpoint: https://api.local.pcfdev.io (API version: 2.75.0)
User: user
Org: pcfdev-org
Space: pcfdev-space
샘플 응용 프로그램 만들기
디버깅을 위해 PHP의 샘플 프로그램을 제작합니다.
$ mkdir sample-php
$ vi index.php
index.php<?php
echo 'This is a sample.';
프로그램 설계
응용 프로그램에 대한 디버깅을 진행하다.
$ cf push php-sample-app -p sample-php/
Creating app php-sample-app in org pcfdev-org / space pcfdev-space as user...
OK
(**snip**)
-------> Buildpack version 4.3.26
Installing HTTPD
HTTPD 2.4.25
Downloaded [file:///tmp/buildpacks/4cc31f829ff946712e63e84276d50969/dependencies/https___buildpacks.cloudfoundry.org_dependencies_httpd_httpd-2.4.25-linux-x64.tgz] to [/tmp]
Installing PHP
PHP 5.5.38
Downloaded [file:///tmp/buildpacks/4cc31f829ff946712e63e84276d50969/dependencies/https___buildpacks.cloudfoundry.org_dependencies_php_php-5.5.38-linux-x64-1485208781.tgz] to [/tmp]
Finished: [2017-08-01 00:09:04.698339]
(**snip**)
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: php-sample-app.local.pcfdev.io
last uploaded: Tue Aug 1 03:15:35 UTC 2017
stack: cflinuxfs2
buildpack: php 4.3.26
state since cpu memory disk details
#0 running 2017-08-01 12:16:07 PM 0.0% 240K of 256M 448K of 512M
도중에 HTTPD와 PHP가 설치되어 있음을 알 수 있습니다.브라우저에서 액세스http://php-sample-app.local.pcfdev.io
This is a sample.
가 나타나면 디버깅에 성공합니다.응용 프로그램 목록
생성된 응용 프로그램 목록을 확인할 수 있습니다.
$ cf apps
Getting apps in org pcfdev-org / space pcfdev-space as user...
OK
name requested state instances memory disk urls
php-sample-app started 1/1 256M 512M php-sample-app.local.pcfdev.io
앱$ cf app php-sample-app
로그 출력
로그를 실시간으로 확인할 때
$ cf logs php-sample-app
최근 로그를 확인할 때$ cf logs php-sample-app --recent
Retrieving logs for app php-sample-app in org pcfdev-org / space pcfdev-space as user...
2017-08-01T09:08:54.49+0900 [API/0] OUT Created app with guid 998003b3-3ba5-4a85-b36b-70e24fee0317
2017-08-01T09:08:54.87+0900 [API/0] OUT Updated app with guid 998003b3-3ba5-4a85-b36b-70e24fee0317 ({"route"=>"00483624-4291-42fd-9252-d936b4ed16ca", :verb=>"add", :relation=>"routes", :related_guid=>"00483624-4291-42fd-9252-d936b4ed16ca"})
DB에 연결
PCF에서는 MySQL, Postgres, Redis, and MongoDB를 사용할 수 있다.
$ cf marketplace
Getting services from marketplace in org pcfdev-org / space pcfdev-space as user...
OK
service plans description
local-volume free-local-disk Local service docs: https://github.com/cloudfoundry-incubator/local-volume-release/
p-mysql 512mb, 1gb MySQL databases on demand
p-rabbitmq standard RabbitMQ is a robust and scalable high-performance multi-protocol messaging broker.
p-redis shared-vm Redis service to provide a key-value store
TIP: Use 'cf marketplace -s SERVICE' to view descriptions of individual plans of a given service.
mysql에서 사용할 수 있는plan을 조사합니다.$ cf marketplace -s p-mysql
Getting service plan information for service p-mysql as user...
OK
service plan description free or paid
512mb PCF Dev MySQL Server free
1gb PCF Dev MySQL Server free
512mb와 1gb 두 가지 방안이 있는 것 같습니다.이번에는 512mb의 계획을 사용해 Sample-php-db라는 서비스를 제작한다.
$ cf create-service p-mysql 512mb sample-php-db
제작된 서비스 확인.$ cf services
Getting services in org pcfdev-org / space pcfdev-space as user...
OK
name service plan bound apps last operation
sample-php-db p-mysql 512mb create succeeded
이때 바운드 앱스는 공백으로 바뀌었다.sample-php-db를 php-sample-app에서 사용하기 위해bind를 진행합니다.
$ cf bind-service php-sample-app sample-php-db
Binding service sample-php-db to app php-sample-app in org pcfdev-org / space pcfdev-space as user...
OK
TIP: Use 'cf restage php-sample-app' to ensure your env variable changes take effect
restart php-sample-app를 요청한다고 해서 프로그램을 다시 시작합니다.$ cf restart php-sample-app
바운드 앱에 php-sample-app가 있는지 확인하세요.$ cf services
Getting services in org pcfdev-org / space pcfdev-space as user...
OK
name service plan bound apps last operation
sample-php-db p-mysql 512mb php-sample-app create succeeded
확대/축소
실례를 하나에서 두 개로 늘리다.
$ cf scale php-sample-app -i 2
확인 증가$ cf app php-sample-app
Showing health and status for app php-sample-app in org pcfdev-org / space pcfdev-space as user...
name: php-sample-app
requested state: started
instances: 2/2
usage: 256M x 2 instances
routes: php-sample-app.local.pcfdev.io
last uploaded: Tue 01 Aug 09:08:54 JST 2017
stack: cflinuxfs2
buildpack: php 4.3.26
state since cpu memory disk details
#0 running 2017-08-01T00:37:39Z 1.5% 25.3M of 256M 155.9M of 512M
#1 running 2017-08-01T00:45:28Z 0.0% 25.7M of 256M 155.9M of 512M
memorylimit을 각각 1G로 늘립니다.$ cf scale php-sample-app -i 2
디스크 용량을 개별적으로 늘립니다.$ cf scale php-sample-app -i 2
manifest.yml 방법을 사용하는 등, 나는 나중에 다시 보충하고 싶다.이상
참고 자료
Reference
이 문제에 관하여(맥에 PCF Dev(Pivoal Cloud Fundry)를 설치해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Esfahan/items/30fd720d37f645028c7d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)