acsenginek8scluster
hmarcelodn/acsenginek8scluster/azurerm
Terraform Module to Create Kubernetes cluster using acs-engine
Install
README
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
Inputs (32)
| 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" |
Resources (1)
Details
Similar packages
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,