1) Log into Azure Container Registry
$ az acr login --name gobblintest
2) Tag docker images to container registry
$ docker tag <gaas_image_id> gobblintest.azurecr.io/gobblin-service $ docker tag <standalone_image_id> gobblintest.azurecr.io/gobblin-standalone
3) Push the images
$ docker push gobblintest.azurecr.io/gobblin-service $ docker push gobblintest.azurecr.io/gobblin-standalone
The images should now be hosted on azure with the tag:latest
1) Create a resource group on Azure
2) Create a cluster and deploy it onto the resource group
az aks create --resource-group <resource_group_name> --name GaaS-cluster-test --node-count 1 --enable-addons monitoring --generate-ssh-keys
3) Switch kubectl to use azure
4) Check status of cluster
$ kubectl get pods
1) Install helm if you don't currently have it
brew install helm
helm init
2) Deploy the nginx helm chart to create the ingress
helm install stable/nginx-ingress
If this is the first time deploying helm (v2.0), you will need to set up the tiller, which is a helm serviceaccount with sudo permissions that lives inside of the cluster. Otherwise you'll run into this issue.
Error: configmaps is forbidden: User “system:serviceaccount:kube-system:default” cannot list configmaps in the namespace “kube-system”
To set up the tiller (steps are also found in the issue link)
kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller kubectl edit deploy --namespace kube-system tiller-deploy #and add the line serviceAccount: tiller to spec/template/spec
3) Deploy the ingress controller in gobblin-kubernetes/gobblin-service/azure-cluster
4) Run kubectl get services
, and the output should look something like this:
gaas-svc ClusterIP 10.0.176.58 <none> 6956/TCP 16h honorary-possum-nginx-ingress-controller LoadBalancer 10.0.182.255 <EXTERNAL_IP> 80:30488/TCP,443:31835/TCP 6m13s honorary-possum-nginx-ingress-default-backend ClusterIP 10.0.236.153 <none> 80/TCP 6m13s kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 10d
5) Send a request to the IP for the honorary-possum-nginx-ingress-controller