ubuntu-bakery.ps1
ubuntu bakery is a Joint work from Project DoDo (@stephan_kuehne and @azurestack_guy) with the goal to provide a simple, streamlined, basic configuration of Openstack, Kubernetes and /or Docker running on ubuntu including components like EMC SaleIO or EMC Unity with Cinder/Kubernetes Volume Support.
requirements
- Internet Gateway, most probably labbuildr´s openwrt
Receive-LabOpenWRT -start
- DNS Service, labbuildr dcnode recommended
.\build-lab.ps1 -Defaults -DConly
Currently, Bakery is able to deploy the following Scenraios:
Openstack
Kubernetes
openstack
example
\ubuntu-bakery.ps1 -openstack
this will install:
- 3 Ubuntu 14_4 Nodes
- ScaleIO Configuration with MDM´s on Ubuntu1 and Ubuntu2, Gateway / TB on Ubuntu3
- ScaleIO SDS on all 3 Nodes
- Horizon Dashbord on Ubuntu3
- Nova Compute on Ubuntu1 and Ubuntu2
- Default Openstack liberty
You may want to select mitaka or even Newton, however, as netwon deploys Ubuntu16_4 you can tweak the Size of controllernodes / Openstack Release with
.\ubuntu-bakery.ps1 -openstack -openstack_release mitaka -Compute_Size TXL
this will configure the compute nodes with 6GB of Memory and will aslo install a base tenant config
create a volume from Horizon Portal
create Snapshot from Horizon Portal
view Volume and Snap Properties
view volume from ScaleIO Gui
Options
the Default configuration uses ScaleIO as a cinder Backend. you can Switch / add a backend / multi-backend with
./ubuntu-bakery.ps1 -openstack -cinder scaleio,unity
the unity Backend expects a default labbuildr unity configuration, however, if you wand to specify a different Unity system * Unity, you need to pass along Custom_unity_ip
custom_unity_vpool_name
Custom_Unity_Target_ip
where Targe_IP is the iSCSI Portal Address and Unity_IP is the Management IP
troubleshooting
for the bakery process of scaleio tail into /tmp/labbuildr.log on the Controller node:
kubernetes
Kubernetes
you can start a basic Kubernetes setup by simply typing
.\ubuntu-bakery.ps1 -kubernetes
this will create a basic, 2-Node Kubernetes Deployment with a dedicated Master the default configuration builds up the system pod, flannel pod networking support, and the dashboard with rbac constraints. the deployment will take up to 6 Minutes.
you may also add scaleio switch, this will build a 3-node scaleio/kubernetes cluster
.\ubuntu-bakery.ps1 -kubernetes -scaleio
in step1, labbuildr deploy´s the 2 Nodes
then, after basic node config is done, kubernetes and docker binaries are installed.
the first node will install the kubernetes master with kubeadm
the slave nodes will use kubeadm join to join the cluster. once the cluster is built, kubernetes dashboard deployment starts.
follow the instructions for Kubernetes Dashboard
Kubernetes Dashboard
there are multiple options to run the kubernetes dashboard - using kubectl on windows (copy config from host with scp upfront ):
Install-Script install-kubectl -Scope CurrentUser -Force
install-kubectl.ps1 -Downloadlocation $HOME/kubectl/
.$HOME/kubectl/kubectl.exe proxy
if you are running windows 10 with Bash support( requires at least Anniversary Update) the do the following: Open Bash on ubuntu on windows if not already added, add the kubernetes repo to apt sources:
do a su session in bash
sudo su
run as root:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubectl
once kubectl is installed, exit the su session, make a .kube directory in your $HOME and copy the admin.conf from the master to your machine.
exit
mkdir $HOME/.kube
scp root@192.168.2.201:/root/admin.conf $HOME/.kube/config
start kubectl proxy to start serving the proxy to the dashboard
kubectl proxy
you can now start the dashboard by pointing the Browser to http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/