Adam Stokes
on 19 August 2017
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.
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:
- Choose our Canonical Distribution of Kubernetes Spell
- Select the Deis addon
- Pick the cloud provider
- Configure Kubernetes and Deis Workflow
- Install Kubernetes
- 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
2. Select the Deis Workflow Addon
3. Pick the cloud provider
Yes localhost and of course Azure provider support coming soon. Hey Microsoft, have your people call my people :)
4. Configure Kubernetes and Deis Workflow
5. Install Kubernetes
6. Install Deis, enable native cloud integration, enable Deis for immediate use
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
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