If you need to create a trial Azure account sign up here
Follow these steps to spin up a Kubernetes Cluster in AKS with 2 nodes.
You can use Shell in Azure Portal or Azure CLI
az group create --name k8sWorkshop --location westeuropeIf the response includes the following then the ResourceGroup has been created successfully
"properties": {
"provisioningState": "Succeeded"
},az aks create --resource-group k8sWorkshop --name myAKSCluster --node-count 2 --enable-addons monitoring --generate-ssh-keysLeave this running, might take a few minutes (10-15 mins) to create the cluster. When running you should see this:
- Running ..If you are using Azure Cloud Shell, you are good to go
If you are using Azure CLI then install kubectl:
az aks install-cliConnect to cluster using:
az aks get-credentials --resource-group k8sWorkshop --name myAKSClusterYou should get a response like this:
Merged "myAKSCluster" as current context in /home/salman/.kube/configRun the following command to get nodes:
kubectl get nodesYou should see the nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-35631116-0 Ready agent 23m v1.12.7
aks-nodepool1-35631116-1 Ready agent 23m v1.12.7We will deploy a simple voting app with the following command
kubectl apply -f https://raw.githubusercontent.com/CloudNativeWales/K8s-Workshop/master/azure-vote.yamlYou should get a message that says a front end and a back end service has been created
Website is currently deploying and is not yet ready to be accessed externally yet.
Run the following command and you will see that EXTERNAL-IP is in 'pending' state
kubectl get service azure-vote-front --watchIt might take some time for the application to get externally available. Once it is, you will be able to navigate to website.
If the azure-vote-front takes more than 5 minutes to be assigned an external ip, delete the deployment and try again.
kubectl delete -f https://raw.githubusercontent.com/CloudNativeWales/K8s-Workshop/master/azure-vote.yamlIf you have Azure CLI installed you can access your cluster's k8s dashboard. Gives you a host of information and functionality. Run the following commands:
ONLY FOR AZURE CLI
az aks get-credentials --resource-group k8sWorkshop --name myAKSCluster
az aks browse --resource-group k8sWorkshop --name myAKSClusterIf you are getting errors when accessing dashboard, use the following:
kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboardTry some of the features from the dashboard. Can you scale one of your deployments?
Be careful with the dashboard though, you don't want to end up like Tesla
If you have issue regarding duplicate names that exist in aks, delete the kubeconfig and start again
rm -r ~/.kube