项目作者: tf-module

项目描述 :
Terraform create Azure K8S Cluster, and basic configurations including Helm, ACI Connector
高级语言: HCL
项目地址: git://github.com/tf-module/azure-aks.git
创建时间: 2019-10-31T10:27:55Z
项目社区:https://github.com/tf-module/azure-aks

开源协议:

下载


Terraform Create Azure AKS

Terraform Create Azure AKS cluster, configure helm, aci-connector

1. Create RABC Role for aks service:

  1. az ad sp create-for-rbac --role="Contributor" --name="K8S-Dev" --scopes="/subscriptions/{your_subscription_id}"

2. Export environment varibles in console:

  1. #Used for azurerm provider, visit: https://www.terraform.io/docs/providers/azurerm/auth/service_principal_client_secret.html
  2. export ARM_CLIENT_ID=xxx
  3. export ARM_CLIENT_SECRET=xxx
  4. export ARM_SUBSCRIPTION_ID=xxx
  5. export ARM_TENANT_ID=xxx
  6. #The following varibles are used for AKS service principle
  7. export TF_VAR_K8S_CLUSTER_NAME=xxx
  8. export TF_VAR_K8S_CLIENT_ID=xxx
  9. export TF_VAR_K8S_CLIENT_SECRET=xxx

3. Run terraform command

  1. terraform init
  2. terraform apply

4. Configure k8s for helm

  1. aks get-credentials --name {your cluster name} --resource-group {your resource group name}
  2. kubectl config use-context {your cluster name)
  3. kubectl apply -f manifests/helm-rbac.yaml

5. Install ingress controller

  1. helm install stable/nginx-ingress \
  2. --namespace ingress-basic \
  3. --set controller.replicaCount=2 \
  4. --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
  5. --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux

6. A demo to deploy an application

  1. kubectl apply -f manifests/deployment.yaml