This document shows how to create new environment on SoftLayer.
Step 1: Prepare a SoftLayer Environment¶
To prepare your SoftLayer environment:
Create a SoftLayer account¶
If you do not have an SoftLayer account, create one for one month free.
Use the login credentials received in your provided email to login to SoftLayer Customer Portal.
Generate an API Key¶
API keys are used to securely access the SoftLayer API. Follow Generate an API Key to generate your API key.
Access SoftLayer VPN¶
VLANs provide the ability to partition devices and subnets on the network. To order VLANs, login to SoftLayer Customer Portal and navigate to Network > IP Management > VLANs. Once on the page, click the "Order VLAN" link in the top-right corner. Fill in the pop-up window to order the VLANs as you need. The VLAN IDs are needed in the deployment manifest.
Step 2: Deploy¶
Install CLI v2.
Establish VPN connection between your host and SoftLayer. The machine where to run CLI needs to communicate with the target Director VM over the SoftLayer private network.
bosh create-envcommand to deploy the Director.
# Create directory to keep state $ mkdir bosh-1 && cd bosh-1 # Clone Director templates $ git clone https://github.com/cloudfoundry/bosh-deployment # Fill below variables (replace example values) and deploy the Director $ sudo bosh create-env bosh-deployment/bosh.yml \ --state=state.json \ --vars-store=creds.yml \ -o bosh-deployment/softlayer/cpi.yml \ -v director_name=bosh-1 \ -v internal_cidr=10.0.0.0/24 \ -v internal_gw=10.0.0.1 \ -v internal_ip=10.0.0.6 \ -v sl_datacenter= \ -v sl_vm_domain= \ -v sl_vm_name_prefix= \ -v sl_vlan_public= \ -v sl_vlan_private= \ -v sl_username= \ -v sl_api_key=
The reason why need to run
bosh create-envcommand with sudo is that it needs to update
/etc/hostsfile which needs suffient permission.
Connect to the Director.
# Configure local alias $ bosh alias-env bosh-1 -e 10.0.0.6 --ca-cert <(bosh int ./creds.yml --path /director_ssl/ca) # Log in to the Director $ export BOSH_CLIENT=admin $ export BOSH_CLIENT_SECRET=`bosh int ./creds.yml --path /admin_password` # Query the Director for more info $ bosh -e bosh-1 env
Save the deployment state files left in your deployment directory
bosh-1so you can later update/delete your Director. See Deployment state for details.