forked from pivotal-cf/docs-pcf-install
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pcf_azure.html.md.erb
166 lines (123 loc) · 10.9 KB
/
pcf_azure.html.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
---
title: Installing PCF on Microsoft Azure
owner: Partners
---
This topic describes how to deploy Pivotal Cloud Foundry® (PCF) on Microsoft Azure. This deployment is suitable for proof-of-concept or trial workloads, not for production.
PCF on Microsoft Azure is available as an offering in [Azure Marketplace](https://azure.microsoft.com/en-us/marketplace/partners/pivotal/pivotal-cloud-foundryazure-pcf/). The Azure Marketplace offering installs a pre-configured deployment of PCF and key PCF services. No upgrade path is available for this offering to a production deployment.
##<a id='components'></a>Components ##
PCF on Microsoft Azure includes the following components:
* [Elastic Runtime](../installing/pcf-docs.html)
* [RabbitMQ for PCF](../../rabbitmq-cf/index.html)
* [MySQL for PCF](../../p-mysql/index.html)
* [Redis for PCF](../../redis/)
* [Spring Cloud Services for PCF](../../spring-cloud-services/)
##<a id='prereqs'></a>Prerequisites##
You must have the following in order to use PCF on Microsoft Azure:
* A pay-as-you-go subscription on your Azure account.
* A Pivotal Network account: If you do not already have an account, [create one](https://network.pivotal.io/). Retrieve the API token for your profile by performing the following steps:
1. Sign into the Pivotal Network.
1. Navigate to your name in the top right and click **Edit Profile**.
1. Record the API token located at the bottom of the page.
* An Azure command line tool on your machine.
* For Linux/Unix/Mac OS X, follow these [instructions](https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/) to install the Azure CLI. Then use this [shell script](https://github.com/cf-platform-eng/bosh-azure-template/blob/master/create_azure_principal.sh) to create an Azure Service Principal. Record the `TENANT-ID`, `CLIENT-ID`, `CLIENT-SECRET` produced by the script.
* For Windows, follow these [instructions](https://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/) to install the Azure PowerShell. Then use this [PowerShell script](https://github.com/cf-platform-eng/bosh-azure-template/blob/master/create_azure_principal_powershell.txt) to create an Azure Service Principal. Record the `TENANT-ID`, `CLIENT-ID`, `CLIENT-SECRET` produced by the script.
* Sufficient resources for your Azure account. PCF on Azure allocates the following resources during deployment:
* 53 VMs: The deployment uses a total of 53 VMs during the installation.
15 VMs are created to run jobs and errands and are subsequently destroyed. 38 VMs continue to run after installation.
* 1 storage account
* 3 public IPs
* 1 jumpbox VM that runs the deployment using [BOSH](http://bosh.io/)
For more information, see [Azure subscription and service limits, quotas, and constraints](https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/). To raise your quota, follow the instructions in <a href="#raising-quota">Raise Your Quota</a> below.
<p class="note"><strong>Note</strong>: The cost per day for Azure resources varies, but it is likely in the $75-100 (US) range.</p>
###<a id="raising-quota"></a>Raise Your Quota###
* To request a core quota increase, follow these [instructions](https://blogs.msdn.microsoft.com/girishp/2015/09/20/increasing-core-quota-limits-in-azure/).
* When filling in the Details section of the Support Request Description, provide the following information to expedite your request,
replacing REGION with your region of choice:
<blockquote>"We are preparing to roll out Pivotal Cloud Foundry from the Azure Marketplace.<br>
We would like to raise our ARM (Azure Resource Manager) core limits.<br>
Requested quantity of ARM Cores: 202<br>
Requested region: REGION<br>
Please fulfill this request as soon as possible.<br>
The request is not temporary.<br>
This will not be a bursting request.<br>
Please allocate 5 TBs of premium storage.<br>
No standard storage will be used.<br>
VM Types to be used: D series, DS series, Dv2 series.<br>
VM count (Number of VMs with Cores ):<br>
2 x D 1 = 2 cores<br>
200 x DS = 150 cores<br>
50 x Dv2 = 50 cores"<br>
</blockquote>
##<a id='getting-started'></a>Install PCF on Microsoft Azure##
1. Log in to your Microsoft Azure [portal](https://portal.azure.com).
1. Select the Azure Marketplace tile.
1. Search for “Pivotal Cloud Foundry” and select **Pivotal Cloud Foundry on Microsoft Azure** or
navigate directly to the [Pivotal Cloud Foundry on Azure Marketplace](https://azure.microsoft.com/en-us/marketplace/partners/pivotal/pivotal-cloud-foundryazure-pcf/) page.
<%= image_tag("azure/marketplace.png") %>
4. Click **Deploy >**.
5. Enter the following **User Inputs**:
* **Storage Account Name Prefix**: Installing PCF on Microsoft Azure creates a new storage account. Use a unique prefix that contains letters and numbers and is no more
than 10 characters long. For more information, see [About Azure storage accounts](https://azure.microsoft.com/en-us/documentation/articles/storage-create-storage-account/).
* **SSH public key**: You must generate 2048-bit RSA public and private key files.
* Linux/Unix/Mac OS X: From the command line, run `$ ssh-keygen -t rsa -b 2048`. Locate your public key in `~/.ssh/id_rsa.pub` and paste the contents into the parameter **sshKeyData**.
* Windows: Download, install, and use [PuTTYgen](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
Locate your public key file and paste the contents into the parameter **sshKeyData**.
* **Tenant ID**: Enter the `TENANT-ID` output from the Azure Service Principal creation script you ran in the [Prerequisites](#prereqs) section.
* **Client ID**: Enter the `CLIENT-ID` output from the Azure Service Principal creation script you ran in the [Prerequisites](#prereqs) section.
* **Client Secret**: Enter the `CLIENT-SECRET` output from the Azure Service Principal creation script you ran in the [Prerequisites](#prereqs) section.
* **Pivotal Network Token**: Enter the API token of your Pivotal Network Account that you recorded in the [Prerequisites](#prereqs) section.
* **Resource Group**: Use a new resource group with a unique name for each new deployment. For more information about Azure resource groups,
see [Manage Azure resources through portal](https://azure.microsoft.com/en-us/documentation/articles/resource-group-portal/).
* **Location**: Choose which Azure location you want to deploy to. If you requested a quota increase, you must choose the same region that you submitted in your request.
1. Click **OK** and review the Summary Page.
7. Click **OK** and read the Terms of Use and Privacy Policy.
8. Click **Create** to be directed to the main Azure portal page, where a new tile shows the deployment is in progress.
<p class="note"><strong>Note</strong>: The tile deployment progress shows completed when the initial jumpbox VM is provisioned.
This does not indicate the deployment is complete.</p>
The full deployment takes approximately two hours.
9. Check the **Outputs** section of the deployment template. Azure confirms your quota before deploying PCF.
If you see this message in the **Outputs** section of the deployment template `CRITICAL Insufficient Quota, PCF will NOT deploy`, you need to raise your quota.
See <a href="#raising-quota">Raise Your Quota</a>.
<%= image_tag("azure/quota.png") %>
10. (Optional) In the **Outputs** section of the deployment template, navigate to the URL shown in **PROGRESSMONITORURL** textbox.
In the tmux session on this page, follow the progress of the deployment.
The deployment is complete when the Apps Manager URL is written to the page.
##<a id='verify'></a>Verify the PCF on Microsoft Azure Installation ##
1. From your Azure Portal, navigate to **Resource Groups** and ensure the new **Resource Group** has been created.
<%= image_tag("azure/resource_group.png") %>
2. SSH into the jumpbox VM by performing the following steps:
1. Navigate to **Resource groups** > **cf** > **Deployment history** and select your deployment.
1. Under the **Outputs** section, record the **JUMPBOX-FQDN**. This is the fully qualified domain name (FQDN) for the jumpbox VM.
1. Use a SSH client to open an SSH connection to the jumpbox VM, with the username `pivotal`. <br>
* Linux/Unix/Mac OS X: For example, run the command `$ ssh [email protected]`.
* Windows: For example, use PuTTY to SSH into the jumpbox VM. Locate your public key file and paste the contents into the appropriate text field in PuTTY.
<%= image_tag("azure/jumpbox.png") %>
3. View the PCF deployment log on the jumpbox VM at <code>/home/pivotal/pcf\_install.log</code>.
4. Find the Apps Manager URL and the admin password:
1. In the Azure Portal, return to the **Outputs** section of your deployment.
2. Navigate to the URL shown in **PROGRESSMONITORURL** textbox. This is the URL to a tmux session in which you find the Apps Manager URL and admin password that
you use to log in to the Apps Manager console.
If the URL not longer shows the tmux session, see [Cannot find the admin password or Apps Manager URL](#cantfindpsswd) below.
6. From your Azure Portal, navigate to **Resources** and find the **Public IP address** resource named <code>YOUR-JUMPBOX-NAME–cf</code> and select it.
<%= image_tag("azure/app_manager_one.png") %>
7. Record the **IP address**. This is the IP address of Apps Manager.
<%= image_tag("azure/app_manager_two.png") %>
8. Navigate to the URL `https://apps.system.APPS-MANAGER-IP-ADDRESS.cf.pcfazure.com`, and log in to Apps Manager with the username `admin` and the password obtained above.
9. From Apps Manager, verify that your services are running.
<%= image_tag("azure/console.png") %>
##<a id='delete'></a>Delete a Deployment of PCF on Microsoft Azure
To remove the deployment, navigate to your Azure Portal and delete the **Resource Group** associated with the deployment.
##<a id='troubleshooting'></a>Troubleshooting ##
* [Deployment fails](#deployfails)
* [Cannot find the admin password or Apps Manager URL](#cantfindpsswd)
###<a id='deployfails'></a>Deployment fails
**Symptom:** PCF on Azure fails to deploy.
**Solution**: If the deployment fails after the jumpbox VM has been created, capture the PCF deployment log as described in the [verification procedure above](#verify) and send it to [email protected] with any additional information about the installation that you can provide.
###<a id='cantfindpsswd'></a>Cannot Find the Admin Password or Apps Manager URL
**Symptom**: The URL in the **PROGRESSMONITORURL** textbox no longer takes you to the tmux session to locate the Apps Manager URL and admin password.
**Solution**: Even though the tmux session has been lost, you can retrieve the Apps Manager URL and admin password by searching for `admin` in the `manifests/elastic-runtime.yml` file on the jumpbox VM:
<pre class="terminal">
$ cat manifests/elastic-runtime.yml | grep admin
admin\_user: admin
admin\_password: "example_password"
</pre>