I decided to eventually install PCF Healthwatch on my Google Cloud Platform PCF 2.0 instance. Installing it is straight forward using Ops Manager UI and once installed it will look like this.
Note: This is PCF 2.0 on GCP
Once installed the application for the Web UI end point would be as follows. The login username and password is the UAA admin user . By default the property "healthwatch.read" credential is given to this user only. You can always create a new user that has this credential role if you like.
https://healthwatch.SYSTEM-DOMAIN
The main page has various useful information and more then enough to show you what's happening in your PCF instance as shown below.
Clicking on any of the headings for each tile you can get more detailed information. The two screen shots below show some CF CLI command history tests like a "cf push" , "cf logs" and also what is happening within the Diego cells in terms of "Memory, Disk and the Containers" themselves.
More Information
https://docs.pivotal.io/pcf-healthwatch/1-1/index.html
Search This Blog
Showing posts with label Google Cloud Platform. Show all posts
Showing posts with label Google Cloud Platform. Show all posts
Thursday, 15 March 2018
Thursday, 5 October 2017
Pivotal Cloud Foundry 1.12 on Google Cloud Platform with VM labels
Once PCF is installed on GCP it's worth noting that viewing the "Compute Engine" labels gives you as indication of what VM each CF service is associated with. The screen shots below show's this.
Tuesday, 4 April 2017
Manually running a BOSH errand for Pivotal Cloud Foundry on GCP
Pivotal Ops Manager has various errands in runs for different deployments within a PCF instance. These Errands can be switched off manually when installing new Tiles or upgrading the platform, in fact in PCF 1.10 the errands themselves will only run if they need to run making it a lot faster.
Below I am going to show you how you would manually run an Errand if you needed to on a PCF instance running on GCP. These instructions would work for PCF running on AWS, Azure or even vSphere so there not specific to PCF on GCP.
1. First login to your Ops Manager VM itself
pasapicella@pas-macbook:~/pivotal/GCP/install/10/opsmanager$ ./ssh-opsman.sh
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-66-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Mon Apr 3 23:38:57 UTC 2017
System load: 0.0 Processes: 141
Usage of /: 14.7% of 78.71GB Users logged in: 0
Memory usage: 68% IP address for eth0: 0.0.0.0
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
5 packages can be updated.
0 updates are security updates.
Your Hardware Enablement Stack (HWE) is supported until April 2019.
*** System restart required ***
Last login: Mon Apr 3 23:38:59 2017 from 110.175.56.52
ubuntu@om-pcf-110:~$
2. Target the Bosh director which would look like this
ubuntu@om-pcf-110:~$ bosh --ca-cert /var/tempest/workspaces/default/root_ca_certificate target 10.0.0.10
Target set to 'p-bosh'
Note: You may be asked to login if you have not logged in to the bosh director which you can determine the login details from Ops Manager UI as follows
- Log into Ops Manager UI
- Click on the tile for the the the "Ops Manager Director" which would be specific to your IaaS provider, in the example below that is GCP
- Click on the credentials tab
3. Target the correct deployment. In the example below I am targeting the Elastic Runtime deployment.
ubuntu@om-pcf-110:~$ bosh deployment /var/tempest/workspaces/default/deployments/cf-c099637fab39369d6ba0.yml
Deployment set to '/var/tempest/workspaces/default/deployments/cf-c099637fab39369d6ba0.yml'
Note: You can list out the deployment names using "bosh deployments"
4. List out the errands as shown below using "bosh errands"
ubuntu@om-pcf-110:~$ bosh errands
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
+-----------------------------+
| Name |
+-----------------------------+
| smoke-tests |
| push-apps-manager |
| notifications |
| notifications-ui |
| push-pivotal-account |
| autoscaling |
| autoscaling-register-broker |
| nfsbrokerpush |
| bootstrap |
| mysql-rejoin-unsafe |
+-----------------------------+
5. Now in this example we are going to run the errand "push-apps-manager" and we do it as shown below
$ bosh run errand push-apps-manager
** Output **
ubuntu@om-pcf-110:~$ bosh run errand push-apps-manager
Acting as user 'director' on deployment 'cf-c099637fab39369d6ba0' on 'p-bosh'
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Director task 621
Started preparing deployment > Preparing deployment
Started preparing package compilation > Finding packages to compile. Done (00:00:01)
Done preparing deployment > Preparing deployment (00:00:05)
Started creating missing vms > push-apps-manager/32218933-7511-4c0d-b512-731ca69c4254 (0)
...
+ '[' '!' -z 'Invitations deploy log: ' ']'
+ printf '** Invitations deploy log: \n'
+ printf '*************************************************************************************************\n'
+ cat /var/vcap/packages/invitations/invitations.log
Errand 'push-apps-manager' completed successfully (exit code 0)
ubuntu@om-pcf-110:~$
Below I am going to show you how you would manually run an Errand if you needed to on a PCF instance running on GCP. These instructions would work for PCF running on AWS, Azure or even vSphere so there not specific to PCF on GCP.
1. First login to your Ops Manager VM itself
pasapicella@pas-macbook:~/pivotal/GCP/install/10/opsmanager$ ./ssh-opsman.sh
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-66-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Mon Apr 3 23:38:57 UTC 2017
System load: 0.0 Processes: 141
Usage of /: 14.7% of 78.71GB Users logged in: 0
Memory usage: 68% IP address for eth0: 0.0.0.0
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
5 packages can be updated.
0 updates are security updates.
Your Hardware Enablement Stack (HWE) is supported until April 2019.
*** System restart required ***
Last login: Mon Apr 3 23:38:59 2017 from 110.175.56.52
ubuntu@om-pcf-110:~$
2. Target the Bosh director which would look like this
ubuntu@om-pcf-110:~$ bosh --ca-cert /var/tempest/workspaces/default/root_ca_certificate target 10.0.0.10
Target set to 'p-bosh'
Note: You may be asked to login if you have not logged in to the bosh director which you can determine the login details from Ops Manager UI as follows
- Log into Ops Manager UI
- Click on the tile for the the the "Ops Manager Director" which would be specific to your IaaS provider, in the example below that is GCP
- Click on the credentials tab
3. Target the correct deployment. In the example below I am targeting the Elastic Runtime deployment.
ubuntu@om-pcf-110:~$ bosh deployment /var/tempest/workspaces/default/deployments/cf-c099637fab39369d6ba0.yml
Deployment set to '/var/tempest/workspaces/default/deployments/cf-c099637fab39369d6ba0.yml'
Note: You can list out the deployment names using "bosh deployments"
4. List out the errands as shown below using "bosh errands"
ubuntu@om-pcf-110:~$ bosh errands
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
+-----------------------------+
| Name |
+-----------------------------+
| smoke-tests |
| push-apps-manager |
| notifications |
| notifications-ui |
| push-pivotal-account |
| autoscaling |
| autoscaling-register-broker |
| nfsbrokerpush |
| bootstrap |
| mysql-rejoin-unsafe |
+-----------------------------+
5. Now in this example we are going to run the errand "push-apps-manager" and we do it as shown below
$ bosh run errand push-apps-manager
** Output **
ubuntu@om-pcf-110:~$ bosh run errand push-apps-manager
Acting as user 'director' on deployment 'cf-c099637fab39369d6ba0' on 'p-bosh'
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Director task 621
Started preparing deployment > Preparing deployment
Started preparing package compilation > Finding packages to compile. Done (00:00:01)
Done preparing deployment > Preparing deployment (00:00:05)
Started creating missing vms > push-apps-manager/32218933-7511-4c0d-b512-731ca69c4254 (0)
...
+ '[' '!' -z 'Invitations deploy log: ' ']'
+ printf '** Invitations deploy log: \n'
+ printf '*************************************************************************************************\n'
+ cat /var/vcap/packages/invitations/invitations.log
Errand 'push-apps-manager' completed successfully (exit code 0)
ubuntu@om-pcf-110:~$
Tuesday, 22 November 2016
Deploying Spring Boot Applications on Google Application Engine (GAE)
I previously blogged about how to how to deploy a Spring Boot application to Flexible VM's on Google Cloud Platform as shown below.
http://theblasfrompas.blogspot.com.au/2016/09/spring-boot-on-google-cloud-platform-gcp.html
In this example below I use Google Application Engine (GAE) to deploy a Spring Boot application without using a flexible VM which is a lot faster and what I orginally wanted to do when I did this previously. In short this is using the [Standard environment] option for GAE.
Spring Boot uses Servlet 3.0 APIs to initialize the ServletContext (register Servlets etc.) so you can’t use the same application out of the box in a Servlet 2.5 container. It is however possible to run a Spring Boot application on an older container with some special tools. If you include org.springframework.boot:spring-boot-legacy as a dependency (maintained separately to the core of Spring Boot and currently available at 1.0.2.RELEASE), all you should need to do is create a web.xml and declare a context listener to create the application context and your filters and servlets. The context listener is a special purpose one for Spring Boot, but the rest of it is normal for a Spring application in Servlet 2.5
Visit for more Information:
http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-servlet-2-5
Steps
1. In order to use Servlet 2.5 and a web.xml we will need to add spring-boot-legacy dependecany to a local maven repoistory as shown below.
$ git clone https://github.com/scratches/spring-boot-legacy
$ cd spring-boot-legacy
$ mvn install
2. Clone and package the GIT REPO as shown below
$ https://github.com/papicella/GoogleAppEngineSpringBoot.git
3. Edit the file ./src/main/webapp/WEB-INF/appengine-web.xml to specify the correct APPLICATION ID which we will target in step 4 as well.
4. Package as shown below
$ mvn package
5. Target your project for deployment as follows
pasapicella@pas-macbook:~/piv-projects/GoogleAppEngineSpringBoot$ gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
bionic-vertex-150302 AppEngineSpringBoot 97889500330
fe-papicella FE-papicella 1049163203721
pas-spring-boot-on-gcp Pas Spring Boot on GCP 1043917887789
pasapicella@pas-macbook:~/piv-projects/GoogleAppEngineSpringBoot$ gcloud config set project fe-papicella
Updated property [core/project].
6. Deploy as follows
mvn appengine:deploy
Finally once deployed you can access you application using it's endpoint which is displayed in the dashboard of GCP console
Project in InteiilJ IDEA
NOTE: Google AppEngine does not allow JMX, so you have to switch it off in a Spring Boot app (set spring.jmx.enabled=false in application.properties).
application.properties
spring.jmx.enabled=false
More Information
Full working example with code as follows on GitHub
https://github.com/papicella/GoogleAppEngineSpringBoot
http://theblasfrompas.blogspot.com.au/2016/09/spring-boot-on-google-cloud-platform-gcp.html
In this example below I use Google Application Engine (GAE) to deploy a Spring Boot application without using a flexible VM which is a lot faster and what I orginally wanted to do when I did this previously. In short this is using the [Standard environment] option for GAE.
Spring Boot uses Servlet 3.0 APIs to initialize the ServletContext (register Servlets etc.) so you can’t use the same application out of the box in a Servlet 2.5 container. It is however possible to run a Spring Boot application on an older container with some special tools. If you include org.springframework.boot:spring-boot-legacy as a dependency (maintained separately to the core of Spring Boot and currently available at 1.0.2.RELEASE), all you should need to do is create a web.xml and declare a context listener to create the application context and your filters and servlets. The context listener is a special purpose one for Spring Boot, but the rest of it is normal for a Spring application in Servlet 2.5
Visit for more Information:
http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-servlet-2-5
Steps
1. In order to use Servlet 2.5 and a web.xml we will need to add spring-boot-legacy dependecany to a local maven repoistory as shown below.
$ git clone https://github.com/scratches/spring-boot-legacy
$ cd spring-boot-legacy
$ mvn install
2. Clone and package the GIT REPO as shown below
$ https://github.com/papicella/GoogleAppEngineSpringBoot.git
3. Edit the file ./src/main/webapp/WEB-INF/appengine-web.xml to specify the correct APPLICATION ID which we will target in step 4 as well.
<?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application>fe-papicella</application> <version>5</version> <threadsafe>true</threadsafe> <manual-scaling> <instances>1</instances> </manual-scaling> </appengine-web-app>
4. Package as shown below
$ mvn package
5. Target your project for deployment as follows
pasapicella@pas-macbook:~/piv-projects/GoogleAppEngineSpringBoot$ gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
bionic-vertex-150302 AppEngineSpringBoot 97889500330
fe-papicella FE-papicella 1049163203721
pas-spring-boot-on-gcp Pas Spring Boot on GCP 1043917887789
pasapicella@pas-macbook:~/piv-projects/GoogleAppEngineSpringBoot$ gcloud config set project fe-papicella
Updated property [core/project].
6. Deploy as follows
mvn appengine:deploy
Finally once deployed you can access you application using it's endpoint which is displayed in the dashboard of GCP console
Project in InteiilJ IDEA
NOTE: Google AppEngine does not allow JMX, so you have to switch it off in a Spring Boot app (set spring.jmx.enabled=false in application.properties).
application.properties
spring.jmx.enabled=false
More Information
Full working example with code as follows on GitHub
https://github.com/papicella/GoogleAppEngineSpringBoot
Thursday, 17 November 2016
Installing Pivotal Cloud Foundry (PCF) on Google Cloud Platform (GCP)
I decided to install PCF 1.8 onto Google Cloud Platform today and I thought the experience was fantastic and very straight forward. The GCP Console is fantastic and very powerful indeed. The steps to install it are as follows
http://docs.pivotal.io/pivotalcf/1-8/customizing/gcp.html
Here are some screen shots you would expect to see along the way when using Operations Manager
Screen Shots
Finally Once Installed here is how to create an ORG, USER and get started using the CLI. You will note you must log in as ADMIN to get started and finally I log in as the user who will be the OrgManager.
** Target my PCF Instance **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf api https://api.system.pas-apples.online --skip-ssl-validation
Setting api endpoint to https://api.system.pas-apples.online...
OK
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
Not logged in. Use 'cf login' to log in.
** Login as ADMIN **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf login -u admin -p YYYY -o system -s system
API endpoint: https://api.system.pas-apples.online
Authenticating...
OK
Targeted org system
Targeted space system
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: admin
Org: system
Space: system
** Create Org **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-org gcp-pcf-org
Creating org gcp-pcf-org as admin...
OK
Assigning role OrgManager to user admin in org gcp-pcf-org ...
OK
TIP: Use 'cf target -o gcp-pcf-org' to target new org
** Create a USER **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-user pas YYYY
Creating user pas...
OK
TIP: Assign roles with 'cf set-org-role' and 'cf set-space-role'
** Set ORG Role **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-org-role pas gcp-pcf-org OrgManager
Assigning role OrgManager to user pas in org gcp-pcf-org as admin...
OK
** Target the newly created ORG **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf target -o gcp-pcf-org
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: admin
Org: gcp-pcf-org
Space: No space targeted, use 'cf target -s SPACE'
** Create a SPACE **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-space development
Creating space development in org gcp-pcf-org as admin...
OK
Assigning role RoleSpaceManager to user admin in org gcp-pcf-org / space development as admin...
OK
Assigning role RoleSpaceDeveloper to user admin in org gcp-pcf-org / space development as admin...
OK
TIP: Use 'cf target -o "gcp-pcf-org" -s "development"' to target new space
** Set Some Space Roles **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-space-role pas gcp-pcf-org development SpaceDeveloper
Assigning role RoleSpaceDeveloper to user pas in org gcp-pcf-org / space development as admin...
OK
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-space-role pas gcp-pcf-org development SpaceManager
Assigning role RoleSpaceManager to user pas in org gcp-pcf-org / space development as admin...
OK
** Login as PAS user and target the correct ORG/SPACE **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf login -u pas -p YYYY -o gcp-pcf-org -s development
API endpoint: https://api.system.pas-apples.online
Authenticating...
OK
Targeted org gcp-pcf-org
Targeted space development
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: pas
Org: gcp-pcf-org
Space: development
Lets push a simple application
Application manifest.yml
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cat manifest-inmemory-db.yml
applications:
- name: pas-albums
memory: 512M
instances: 1
random-route: true
path: ./target/PivotalSpringBootJPA-0.0.1-SNAPSHOT.jar
env:
JAVA_OPTS: -Djava.security.egd=file:///dev/urando
Deploy
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cf push -f manifest-inmemory-db.yml
Using manifest file manifest-inmemory-db.yml
Creating app pas-albums in org gcp-pcf-org / space development as pas...
OK
Creating route pas-albums-gloomful-synapse.apps.pas-apples.online...
OK
Binding pas-albums-gloomful-synapse.apps.pas-apples.online to pas-albums...
OK
Uploading pas-albums...
Uploading app files from: /var/folders/c3/27vscm613fjb6g8f5jmc2x_w0000gp/T/unzipped-app341113312
Uploading 31.6M, 195 files
Done uploading
OK
Starting app pas-albums in org gcp-pcf-org / space development as pas...
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
OK
App pas-albums was started using this command `CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-2.0.2_RELEASE -memorySizes=metaspace:64m..,stack:228k.. -memoryWeights=heap:65,metaspace:10,native:15,stack:10 -memoryInitials=heap:100%,metaspace:100% -stackThreads=300 -totMemory=$MEMORY_LIMIT) && JAVA_OPTS="-Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh $CALCULATED_MEMORY -Djava.security.egd=file:///dev/urando" && SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher`
Showing health and status for app pas-albums in org gcp-pcf-org / space development as pas...
OK
requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: pas-albums-gloomful-synapse.apps.pas-apples.online
last uploaded: Thu Nov 17 03:39:04 UTC 2016
stack: cflinuxfs2
buildpack: java-buildpack=v3.8.1-offline-https://github.com/cloudfoundry/java-buildpack.git#29c79f2 java-main java-opts open-jdk-like-jre=1.8.0_91-unlimited-crypto open-jdk-like-memory-calculator=2.0.2_RELEASE spring-auto-reconfiguration=1.10.0_RELEASE
state since cpu memory disk details
#0 running 2016-11-17 02:39:57 PM 142.6% 333.1M of 512M 161M of 1G
Get Route to Application
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cf apps
Getting apps in org gcp-pcf-org / space development as pas...
OK
name requested state instances memory disk urls
pas-albums started 1/1 512M 1G pas-albums-gloomful-synapse.apps.pas-apples.online
More Information
https://cloud.google.com/solutions/cloud-foundry-on-gcp
http://docs.pivotal.io/pivotalcf/1-8/customizing/gcp.html
Here are some screen shots you would expect to see along the way when using Operations Manager
Screen Shots
Finally Once Installed here is how to create an ORG, USER and get started using the CLI. You will note you must log in as ADMIN to get started and finally I log in as the user who will be the OrgManager.
** Target my PCF Instance **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf api https://api.system.pas-apples.online --skip-ssl-validation
Setting api endpoint to https://api.system.pas-apples.online...
OK
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
Not logged in. Use 'cf login' to log in.
** Login as ADMIN **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf login -u admin -p YYYY -o system -s system
API endpoint: https://api.system.pas-apples.online
Authenticating...
OK
Targeted org system
Targeted space system
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: admin
Org: system
Space: system
** Create Org **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-org gcp-pcf-org
Creating org gcp-pcf-org as admin...
OK
Assigning role OrgManager to user admin in org gcp-pcf-org ...
OK
TIP: Use 'cf target -o gcp-pcf-org' to target new org
** Create a USER **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-user pas YYYY
Creating user pas...
OK
TIP: Assign roles with 'cf set-org-role' and 'cf set-space-role'
** Set ORG Role **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-org-role pas gcp-pcf-org OrgManager
Assigning role OrgManager to user pas in org gcp-pcf-org as admin...
OK
** Target the newly created ORG **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf target -o gcp-pcf-org
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: admin
Org: gcp-pcf-org
Space: No space targeted, use 'cf target -s SPACE'
** Create a SPACE **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf create-space development
Creating space development in org gcp-pcf-org as admin...
OK
Assigning role RoleSpaceManager to user admin in org gcp-pcf-org / space development as admin...
OK
Assigning role RoleSpaceDeveloper to user admin in org gcp-pcf-org / space development as admin...
OK
TIP: Use 'cf target -o "gcp-pcf-org" -s "development"' to target new space
** Set Some Space Roles **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-space-role pas gcp-pcf-org development SpaceDeveloper
Assigning role RoleSpaceDeveloper to user pas in org gcp-pcf-org / space development as admin...
OK
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf set-space-role pas gcp-pcf-org development SpaceManager
Assigning role RoleSpaceManager to user pas in org gcp-pcf-org / space development as admin...
OK
** Login as PAS user and target the correct ORG/SPACE **
pasapicella@pas-macbook:~/pivotal/GCP/install$ cf login -u pas -p YYYY -o gcp-pcf-org -s development
API endpoint: https://api.system.pas-apples.online
Authenticating...
OK
Targeted org gcp-pcf-org
Targeted space development
API endpoint: https://api.system.pas-apples.online (API version: 2.58.0)
User: pas
Org: gcp-pcf-org
Space: development
Lets push a simple application
Application manifest.yml
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cat manifest-inmemory-db.yml
applications:
- name: pas-albums
memory: 512M
instances: 1
random-route: true
path: ./target/PivotalSpringBootJPA-0.0.1-SNAPSHOT.jar
env:
JAVA_OPTS: -Djava.security.egd=file:///dev/urando
Deploy
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cf push -f manifest-inmemory-db.yml
Using manifest file manifest-inmemory-db.yml
Creating app pas-albums in org gcp-pcf-org / space development as pas...
OK
Creating route pas-albums-gloomful-synapse.apps.pas-apples.online...
OK
Binding pas-albums-gloomful-synapse.apps.pas-apples.online to pas-albums...
OK
Uploading pas-albums...
Uploading app files from: /var/folders/c3/27vscm613fjb6g8f5jmc2x_w0000gp/T/unzipped-app341113312
Uploading 31.6M, 195 files
Done uploading
OK
Starting app pas-albums in org gcp-pcf-org / space development as pas...
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
OK
App pas-albums was started using this command `CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-2.0.2_RELEASE -memorySizes=metaspace:64m..,stack:228k.. -memoryWeights=heap:65,metaspace:10,native:15,stack:10 -memoryInitials=heap:100%,metaspace:100% -stackThreads=300 -totMemory=$MEMORY_LIMIT) && JAVA_OPTS="-Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh $CALCULATED_MEMORY -Djava.security.egd=file:///dev/urando" && SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher`
Showing health and status for app pas-albums in org gcp-pcf-org / space development as pas...
OK
requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: pas-albums-gloomful-synapse.apps.pas-apples.online
last uploaded: Thu Nov 17 03:39:04 UTC 2016
stack: cflinuxfs2
buildpack: java-buildpack=v3.8.1-offline-https://github.com/cloudfoundry/java-buildpack.git#29c79f2 java-main java-opts open-jdk-like-jre=1.8.0_91-unlimited-crypto open-jdk-like-memory-calculator=2.0.2_RELEASE spring-auto-reconfiguration=1.10.0_RELEASE
state since cpu memory disk details
#0 running 2016-11-17 02:39:57 PM 142.6% 333.1M of 512M 161M of 1G
Get Route to Application
pasapicella@pas-macbook:~/piv-projects/PivotalSpringBootJPA$ cf apps
Getting apps in org gcp-pcf-org / space development as pas...
OK
name requested state instances memory disk urls
pas-albums started 1/1 512M 1G pas-albums-gloomful-synapse.apps.pas-apples.online
More Information
https://cloud.google.com/solutions/cloud-foundry-on-gcp
Tuesday, 20 September 2016
Spring Boot on Google Cloud Platform (GCP)
I recently created a demo which can be used to deploy a basic Spring Boot application on Google Cloud Platform (GCP). There isn't really anything specific in the code to make this work on GCP BUT the maven pom.xml has what is required to make it one simple command to send this app to GCP.
$ mvn gcloud:deploy
You can run an App Engine application in two environments, the standard environment and the flexible environment. This is an example of Java with Spring Boot in the App Engine [Flexible Environment]. The following table summarizes some of the differences between the two environments.
GitHub URL:
https://github.com/papicella/PivotalSpringBoot
$ mvn gcloud:deploy
You can run an App Engine application in two environments, the standard environment and the flexible environment. This is an example of Java with Spring Boot in the App Engine [Flexible Environment]. The following table summarizes some of the differences between the two environments.
Feature Standard environment Flexible environment
---------------------------------------------------------------------------------------------------------
Instance startup time Milliseconds Minutes
Scaling Manual, Basic, Automatic Manual, Automatic
Writing to local disk No Yes, ephemeral (disk initialized on each VM startup)
Customizable serving stack No Yes (built by customizing a Dockerfile)
First time deployment may take several minutes. This is because App Engine Flexible environment will automatically provision a Google Compute Engine virtual machine for you behind the scenes to run this application.GitHub URL:
https://github.com/papicella/PivotalSpringBoot
Subscribe to:
Posts (Atom)




















