Notes from NDS-765.

Create Trial Account

Azure offers a $200 free trial: portal.azure.com

Provision Kubernetes Container Service

Followed basic instructions provided in Get started with a Kubernetes cluster in Container Service:

 

Download the Azure CLI

curl -L https://aka.ms/InstallAzureCli | bash

Login via Azure CLI

az login

Create resource group

az group create -n acsrg1 -l "westus"

Create Kubernetes cluster.  You're only given 4 vcpus in the trial account, so will need to create only 1 master and 1 agent and change the VM size:

az acs create --orchestrator-type=kubernetes --resource-group acsrg1 --name=ndslabs --dns-prefix=ndslabs --agent-vm-size=Standard_D1_v2 --master-count=1 --agent-count=1

Install the Kubernetes client (creates kube-config profile)

az acs kubernetes install-cli

At this point you have a running Kubernetes cluster with single master, single compute/agent.  Azure provisions a number of resources (storage, network, loadbalancer, etc).

 

I was able to make minor modifications to the ndslabs-startup templates to get a basic Labs Workbench running almost immediately. I've captured the hardcoded configuration in my ndslabs-repo on the azure branch.

 

Creating an azureFile volume:

 

Activity log:

kubectl create -f loadbalancer.yaml 
kubectl expose rc nginx-ilb-rc --port=80 --type=LoadBalancer
# Wait for endpoint IP to be assigned
kubectl get sv
kubectl create -f default-ingress.yaml 
kubectl create -f default-backend.yaml 
kubectl create -f etcd.yaml 
kubectl create -f apiserver.yaml 
kubectl create -f webui.yaml 
kubectl logs ndslabs-apiserver-bmc8h
kubectl delete -f apiserver.yaml 
kubectl label nodes k8s-agent-5133fb85-0 ndslabs-node-role=compute
kubectl logs ndslabs-apiserver-qkcgj
kubectl proxy
kubectl get pods --all-namespaces