Skip to content

Instantly share code, notes, and snippets.

@burtonr
Last active July 29, 2019 06:00
Show Gist options
  • Save burtonr/de18969e6494d0a68f2bed253e02f382 to your computer and use it in GitHub Desktop.
Save burtonr/de18969e6494d0a68f2bed253e02f382 to your computer and use it in GitHub Desktop.
Commands to use to create an AKS cluster and deploy OpenFaaS to it
# Be sure to log in first!
az login
# Set the default location to avoid having to pass it on each command
az configure --defaults location=southcentralus
# Set the default subscription to avoid having to pass it on each command
az account set -s "Visual Studio Premium with MSDN"
# Create a new resource group (optional)
az group create -n OpenFaaS-RG
# Create the AKS cluster
az aks create -n openfaas-aks1 -g OpenFaaS-RG -k 1.12.8 -c 1 --generate-ssh-keys
# Get the kubectl config
az aks get-credentials --resource-group OpenFaaS-RG --name openfaas-aks1
# Set kubctl to the azure config
export KUBECONFIG=<output from above command>
# Verify kubectl
kubectl get nodes
# Helm setup
helm init
helm repo add openfaas https://openfaas.github.io/faas-netes/
helm repo update
# OpenFaaS
kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
# generate a password
PASSWORD=$(head -c 12 /dev/urandom | shasum| cut -d' ' -f1)
# create the secrets on the cluster
kubectl -n openfaas create secret generic basic-auth --from-literal=basic-auth-user=admin --from-literal=basic-auth-password="$PASSWORD"
# install the openfaas deployment
helm upgrade openfaas --install openfaas/openfaas --namespace openfaas --set basic_auth=true --set functionNamespace=openfaas-fn --set operator.create=true --set serviceType=LoadBalancer
# verify the deployment
kubectl --namespace=openfaas get deployments -l "release=openfaas, app=openfaas"
# get the OpenFaaS gateway's external IP address
kubectl get service -l component=gateway --namespace openfaas
# set the OpenFaaS gateway address
export OPENFAAS_URL=http://<gateway-external ip address>:8080
# login to the openfaas cli
echo $PASSWORD | faas login -u admin -s
# when you're done, deleting the cluster is a single command
az aks delete -n openfaas-aks1 -g OpenFaaS-RG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment