acsenginek8scluster
hmarcelodn/acsenginek8scluster/azurerm
Terraform Module to Create Kubernetes cluster using acs-engine
Terraform ACS-ENGINE Kubernetes Terraform ACS-ENGINE is a module that can be used to create Production-Ready Kubernetes clusters easily. Dependencies In order to work the module requires a few binaries to be installed in the build machine: - acs-engine >= v.0.13.1 - az cli - Linux Operating System Process Below is the process done by the module step by step described: 1. Build the file *kubernetes.json based on parameters which represents the Cluster Definition. Valid parameters are specified in the official documentation for acs-engine. 2. Run acs-engine generate command line in order to produce ARM Templates and all rsa keys/kubeconfigs. 3. When acs-engine execution is finished, az-cli will associate subnets to the route-table in order to communicate masters/agents subnets. 4. Upload to
| Name | Type | Description | Default |
|---|---|---|---|
| dns_prefix | any | DNS Cluster Prefix | required |
| node_vm_size | any | Agent Nodes Azure VM Size Type | required |
| subscription_id | any | Microsoft Azure Subscription ID | required |
| location_name | any | Location for Kubernetes Cluster Name (East US 2, Central US, etc) | required |
| cluster_resource_group | any | Resource Group for ACS-ENGINE Deployment Resources | required |
| rsa_public_key | any | RSA Public Key to login into the kubernetes cluster | required |
| master_subnet_id | any | Kubernetes Masters Subnet ID (Azure Resource ID) | required |
| master_vm_size | any | Master Nodes Azure VM Size Type | required |
| service_principal_password | any | Subscription scoped service principal password user which logins into azure to u | required |
| service_principal_tenant | any | Subscription scoped service principal tenant user which logins into azure to upl | required |
| terraform_container_name | any | Account Container Name where the acs-engine deployment output files will be uplo | required |
| cluster_k8s_resource_group | any | required | |
| service_principal_client_id | any | Cluster Service Principal used to self-provisioning. | required |
| service_principal_client_secret | any | Cluster Service Principal Password used to self-provisioning. | required |
| nodes_subnet_id | any | Kubernetes Nodes Subnet ID (Azure Resource ID) | required |
| terraform_account_name | any | Account Name where the acs-engine deployment output files will be uploaded to. ( | required |
| service_principal_user | any | Subscription scoped service principal user which logins into azure to upload out | required |
| terraform_account_key | any | Account Key where the acs-engine deployment output files will be uploaded to. | required |
| master_first_consecutive_static_ip | any | Master First Consecutive Static IP | required |
| agents_subnet_name | any | Subnet Name used by Kubernetes Agents which will be used to the route table | required |
| kubernetes_rbac_enabled | any | Indicates if the cluster RBAC is enabled. | "false" |
| master_count | any | Number of master nodes to be created | 1 |
| agent_pool_count | any | Agent Pool Count | 1 |
| kubernetes_max_pods | any | Indicates the max number of pods to deploy by machine. | "110" |
| kubernetes_storage_profile | any | Comma Separated Attached Disks | "30" |
| node_os_disk_gb | any | OS Disk GiB Size for nodes | "250" |
| kubernetes_network_policy | any | Indicate network policy (azure, calico, none = kubenet ). Default: Kubenet | "none" |
| kubernetes_attached_disk_sizes | any | Comma Separated Attached Disks | "30" |
| master_os_disk_gb | any | OS Disk GiB Size for master | "250" |
Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,