conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

We have 3 killer features in this recent development cycle aimed at bringing you closer to your cloud provider of choice, more advanced configuration options, and to Just Do More with our introduction of addons.

AWS Native Integration

conjure-up has gained support for native integration with AWS. This support is enabled by default in our Kubernetes spells. This allows the Kubernetes Controller Manager to automatically provision the AWS resources that it needs to integrate with the Elastic Load Balancer or Elastic Block Storage for persistent volume storage.

Our documentation has been updated for this feature as well, check out how to setup ELB for Kubernetes and how to setup EBS for Kubernetes.

vSphere

conjure-up is able to talk to vSphere API endpoint and obtain necessary information to provide the user with more control over which datacenter to use, what networks for primary/external networks, and preferred datastore.

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

For more information and extended walkthrough on our vSphere support click here.

Addons

conjure-up has gained the ability to support "addons". This enables anyone who has a product that sits on top of Kubernetes or OpenStack to have a fully working, reproducible, and guided process for getting your application stack deployed.

The beauty of addons is that you can use our base spell, for example, Canonical Distribution of Kubernetes (CDK) and bring in any additional charms required for things like persistent storage (Ceph or Swift). After that, you provide the installation walkthrough on how to install, configure, and setup any prerequisites so that when the installation is complete your users can get started using your product.

We've gone ahead and created an addon for people to try out and experience the conjure-up way of getting you from an installed stack to a fully usable one. Start using your big software instead of learning how to deploy it.

CDK, AWS, Deis == InstaPaaS

The addon we chose for this adventure, Deis or more specifically Deis Workflow a very cool PaaS from the same people who brought you Helm.

So the goal for this addon can be summed up with the following steps:

  1. Choose our Canonical Distribution of Kubernetes Spell
  2. Select the Deis addon
  3. Pick the cloud provider
  4. Configure Kubernetes and Deis Workflow
  5. Install Kubernetes
  6. Install Deis, enable native cloud integration, enable Deis for immediate use

So let's get started.

1. Choose our Canonical Distribution of Kubernetes Spell

sudo snap install conjure-up --classic --edge  
conjure-up  

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

2. Select the Deis Workflow Addon

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

3. Pick the cloud provider

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

Yes localhost and of course Azure provider support coming soon. Hey Microsoft, have your people call my people :)

4. Configure Kubernetes and Deis Workflow

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

5. Install Kubernetes

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

6. Install Deis, enable native cloud integration, enable Deis for immediate use

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

That can't be all.. can it?

Let's just verify that Deis is up and running. We're going to check if an admin user and ssh keys are imported and available.

ubuntu@conjure-up-runner:~$ deis keys  
=== admin Keys
ubuntu@conjure-up-runner ssh-rsa AAAAB3Nz...-up-runner  
ubuntu@conjure-up-runner:~$ deis whoami  
You are admin at http://deis.52.72.186.16.nip.io  
ubuntu@conjure-up-runner:~$ deis users  
=== Users (*=admin)
*admin

That all looks good, now all thats left is to immediately start deploying applications. We'll test one of their Go applications.

ubuntu@conjure-up-runner:~$ git clone https://github.com/deis/example-go.git  
ubuntu@conjure-up-runner:~$ cd example-go/  
ubuntu@conjure-up-runner:~/example-go$ deis create  
Creating Application... done, created zanier-instinct  
Git remote deis successfully created for app zanier-instinct.  
ubuntu@conjure-up-runner:~/example-go$ git push deis master  
Counting objects: 106, done.  
Compressing objects: 100% (61/61), done.  
Writing objects: 100% (106/106), 24.10 KiB | 0 bytes/s, done.  
Total 106 (delta 40), reused 106 (delta 40)  
remote: Resolving deltas: 100% (40/40), done.  
Starting build... but first, coffee!  
...
-----> Restoring cache...
       No cache file found. If this is the first deploy, it will be created now.
-----> Go app detected
-----> Fetching jq... done
-----> Checking Godeps/Godeps.json file.
-----> Installing go1.7.6
-----> Fetching go1.7.6.linux-amd64.tar.gz... done
-----> Running: go install -v -tags heroku .
       github.com/deis/example-go
-----> Discovering process types
       Procfile declares types -> web
-----> Checking for changes inside the cache directory...
       Files inside cache folder changed, uploading new cache...
       Done: Uploaded cache (82M)
-----> Compiled slug size is 1.9M
Build complete.  
Launching App...  
...
Done, zanier-instinct:v2 deployed to Workflow

Use 'deis open' to view this application in your browser

To learn more, use 'deis help' or visit https://deis.com/

To ssh://git@deis-builder.52.72.186.16.nip.io:2222/zanier-instinct.git  
 * [new branch]      master -> master

Let's check out our new app:

ubuntu@conjure-up-runner:~/example-go$ deis open  

conjure-up dev summary: aws native integration, vsphere <3, and ADDONS

b0ss.

Want to get your product in our addons list for the world to consume?

Come talk to us over in https://rocket.ubuntu.com/channel/conjure-up

How to use these features

Currently, conjure-up in our snap --edge channel contains all the latest features outlined in this summary:

sudo snap install conjure-up --classic --edge  

Or to upgrade from stable

sudo snap refresh conjure-up --edge  

This originally appeared at Adam Stokes' blog

About the author

Adam's photo

Adam is currently a Technical Lead for the Solutions Engineering team at Canonical, part of Ubuntu Core Developer, and an all around opensource evangelist.

More articles by Adam

Posted in: