...
- Bring up a (virtual) Kubernetes cluster
- Deploy Labs Workbench
- Ideally, process should mimic deployment in other environments
- Ideally, user can create new Docker containers and publish all in local environment
A secondary use case is the single-node installation for a project. This has come up a few times, but for example:
- SEAD/IML-CZO want to run Labs Workbench – want a simple install process that runs on a single VM during initial evaluation. May never scale up.
Current environment (ndslabs-startup)
...
- Docker for Windows requires using Hyper-V (not Virtual Box)
- So far unable to get Hyperkube to work under Windows 10/Hyper-V without Vm.
VirtualBox VM
- You must follow the steps described here: https://coreos.com/os/docs/latest/booting-on-virtualbox.html
- You must add a Host-only adapter to your VM instance to SSH in
- You must manually load the .iso containing your ssh key, as described in the guide above
- You will a DNS entry pointing 192.168.99.XXX to a hostname, like www.local.ndslabs.org
- This can be done by populating /etc/hosts, or using a tool such as Dnsmasq
- You can disable TLS (this is likely optional)
- Still minor bugs ongoing (for example: sending e-mail for signup throws a 503)
Openstack VM
- Process works well for OpenStack VMs
- Editing PATH is annoying, but otherwise fine.
...
- Deployed Ubuntu 16.10 VM via Azure portal
- Standard DS2_v2 (2 Cores, 7 GB memory). (Wow, that takes a really long time!)
- Add endpoint for 443 access
- Start Labs Workbench
- apt-install docker.io
- git clone ndslabs-startup
- kube-up.sh (+ bash_profile changes)
- Same SMTP problem as before – but manual registration worked
AWS VM
- Deployed CoreOS 1298.5 stable via AWS Management Console
- t2.micro, because it was free! (way too small)
- Expose HTTP/HTTPS ports via security group
- Create a DNS rule pointing to the public IP of this node
- SSH in and start Labs Workbench
- git clone ndslabs-startup
- kube-up.sh (+ bash_profile changes)
- ndslabs-up.sh
- Same SMTP problem as before
Vagrant
Vagrant is a tool to manage virtual machines. The approach described below comes from CoreOS as a method to deploy a Kubernetes cluster via VirtualBox (or similar). Vagrant has multiple providers, so it might be possible to use the same Vagrant configuration to deploy a Kubernetes cluster on VirtualBox on your laptop and deploy a full cluster on OpenStack. However, it's not clear how useful this might be.
...