Skip to content

Instantly share code, notes, and snippets.

@radu-matei
Created September 22, 2017 06:47
Show Gist options
  • Save radu-matei/18b3e187ff73b05c6170f4051afdae55 to your computer and use it in GitHub Desktop.
Save radu-matei/18b3e187ff73b05c6170f4051afdae55 to your computer and use it in GitHub Desktop.
1. Start the az command-line inside a container (or inside the Azure cloud shell)
------------------------------------------------
docker run -p 83:8080 -it azuresdk/azure-cli-python bash
2. Login
--------
az login
3. Select the correct subscription and create a new resource group
------------------------------------------------------------------
az account set --subscription "<your-subscription-name-or-id>"
az group create --name bdevops-k8s-empty --location westeurope
4. Deploy K8S cluster
---------------------
az acs create --orchestrator-type=kubernetes --resource-group=bdevops-k8s-empty --name=bdevops-k8s-empty --dns-prefix=bdevopsk8sempty --generate-ssh-keys
[This will take around 8-9 minutes to deploy]
5. Install the kubectl CLI
---------------------------
az acs kubernetes install-cli
6. Get cluster credentials
--------------------------
az acs kubernetes get-credentials --resource-group bdevops-k8s-empty --name bdevops-k8s-empty
7. Start proxy
--------------
docker run -it <container-id> kubectl proxy --port 8080 --address 0.0.0.0
8. Install helm (2.5.1)
-----------------------
wget -O helm.tar.gz https://kubernetes-helm.storage.googleapis.com/helm-v2.5.1-linux-386.tar.gz
tar -xvzf helm.tar.gz
cp linux-386/helm /usr/bin
helm init
9. Install Draft
-----------------
wget -O draft.tar.gz https://azuredraft.blob.core.windows.net/draft/draft-canary-linux-amd64.tar.gz
tar -xvzf draft.tar.gz
cp draft /usr/bin/
10. Deploy and ingress controller
---------------------------------
helm install stable/nginx-ingress --namespace=kube-system --name=nginx-ingress
11. Create a DNS wildcard A-Record using the IP above
------------------------------------------------------
[specific to where you manage your domain - CloudFlare in my case]
12. Actually configure draft (including a domain)
-------------------------------------------------
draft init --ingress-enabled
- Docker registry URL
- Docker registry username
- Docker registry password
- domain to use
13. Create your application, draft create, draft up
----------------------------------------------------
draft create --app name
[edit the toml file to watch for changes] - optional
draft up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment