-
-
Save AlexRogalskiy/ae777f7fc95622dc22e2d7356ad1eeea to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| git clone https://github.com/vfarcic/devops-toolkit-crossplane | |
| cd devops-toolkit-crossplane | |
| # Create a Kubernetes cluster | |
| kubectl create namespace crossplane-system | |
| ######### | |
| # Azure # | |
| ######### | |
| az ad sp create-for-rbac \ | |
| --sdk-auth \ | |
| --role Owner \ | |
| | tee azure-creds.json | |
| export AZURE_CLIENT_ID=$(\ | |
| cat azure-creds.json \ | |
| | grep clientId \ | |
| | cut -c 16-51) | |
| export AAD_GRAPH_API=00000003-0000-0000-c000-000000000000 | |
| az ad app permission add \ | |
| --id "${AZURE_CLIENT_ID}" \ | |
| --api ${AAD_GRAPH_API} \ | |
| --api-permissions \ | |
| e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope \ | |
| 06da0dbc-49e2-44d2-8312-53f166ab848a=Scope \ | |
| 7ab1d382-f21e-4acd-a863-ba3e13f7da61=Role | |
| az ad app permission grant \ | |
| --id $AZURE_CLIENT_ID \ | |
| --api $AAD_GRAPH_API \ | |
| --expires never | |
| az ad app permission admin-consent \ | |
| --id "${AZURE_CLIENT_ID}" | |
| kubectl --namespace crossplane-system \ | |
| create secret generic azure-creds \ | |
| --from-file creds=./azure-creds.json | |
| ############## | |
| # Crossplane # | |
| ############## | |
| helm repo add crossplane-stable \ | |
| https://charts.crossplane.io/stable | |
| helm repo update | |
| helm upgrade --install \ | |
| crossplane crossplane-stable/crossplane \ | |
| --namespace crossplane-system \ | |
| --create-namespace \ | |
| --wait | |
| kubectl apply \ | |
| --filename crossplane-config/provider-azure.yaml | |
| kubectl apply \ | |
| --filename crossplane-config/provider-config-azure.yaml | |
| # Please re-run the previous command if the output is `unable to recognize ...` | |
| ####### | |
| # AKS # | |
| ####### | |
| cat crossplane-config/config-k8s.yaml | |
| kubectl apply \ | |
| --filename crossplane-config/config-k8s.yaml | |
| cat examples/azure-aks.yaml | |
| kubectl apply \ | |
| --filename examples/azure-aks.yaml | |
| kubectl get managed | |
| # Set `spec.parameters.nodeSize` to `5` in `examples/azure-aks.yaml` | |
| kubectl apply \ | |
| --filename examples/azure-aks.yaml | |
| kubectl get managed | |
| export KUBECONFIG=$PWD/kubeconfig.yaml | |
| # TODO: Get KubeConfig from the secret | |
| # TODO: https://github.com/crossplane-contrib/provider-tf-azure/issues/80 | |
| kubectl get nodes | |
| # TODO: Show that Prometheus is running | |
| unset KUBECONFIG | |
| kubectl get compositeclusters | |
| ########### | |
| # Destroy # | |
| ########### | |
| kubectl delete \ | |
| --filename examples/azure-aks-no-claim.yaml | |
| cat examples/azure-aks.yaml \ | |
| | sed -e "s@minNodeCount: .*@minNodeCount: 3@g" \ | |
| | tee examples/azure-aks.yaml | |
| # Destroy the Kubernetes cluster |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment