karbon
Aristocrat-B2B/karbon/nutanix
A module that builds Karbon K8s cluster on Nutanix hypervisor
terraform-nutanix-karbon A terraform module to create a managed Kubernetes cluster on Nutanix. Available through the Terraform registry. Assumptions You want to create a Nutanix Karbon Kubernetes cluster that has valid default values for just about everything. Important note The kubernetes_version is a required variable. Kubernetes is evolving a lot, and each major version includes new features, fixes, or changes. Always check Kubernetes Release Notes before updating the major version.** Usage example A full example leveraging other community modules is contained in the examples/. ``hcl terraform { required_providers { nutanix = { source = "nutanix/nutanix" version = "1.2.0" } } } provider "nutanix" { username = "admin" password = "ItsASecret!" endpoint = "10.0.0.10" # prism endpoint insec
| Name | Type | Description | Default |
|---|---|---|---|
| nutanix_cluster_name | string | The name of the nutanix cluster | required |
| subnet_name | string | The name of the nutanix subnet to deploy into | required |
| node_os_version | string | The version of the node OS image | required |
| kubernetes_version | string | K8s version of the cluster | required |
| storage_class_config_storageContainer | string | Name of the storage container the storage container uses to provision volumes | "Default" |
| master_node_pool_ahvConfig_memory | number | Memory allocated for each VM on the PE cluster in MiB | 4096 |
| worker_node_pool_name | string | Worker node pool name | "worker_node_pool" |
| etcd_node_pool_ahvConfig_cpu | number | The number of Vcpus allocated to each VM on the PE cluster | 4 |
| external_ipv4_address | string | VRRP external IP for karbon multi-master nodes | "" |
| master_node_pool_numInstances | number | Number of nodes in the master node pool | 1 |
| worker_node_pool_numInstances | number | Number of nodes in the worker node pool | 1 |
| master_node_pool_ahvConfig_cpu | number | The number of Vcpus allocated to each VM on the PE cluster | 2 |
| worker_node_pool_ahvConfig_cpu | number | The number of Vcpus allocated to each VM on the PE cluster | 8 |
| cni_config_pod_ipv4_cidr | string | CIDR for pods in the cluster | "172.19.0.0/16" |
| cni_config_service_ipv4_cidr | string | Classless inter-domain routing (CIDR) for k8s services in the cluster | "172.20.0.0/16" |
| storage_class_config_username | string | Username of the Prism Element user that the API calls use to provision volumes | "admin" |
| etcd_node_pool_ahvConfig_memory | number | Memory allocated for each VM on the PE cluster in MiB | 8192 |
| master_node_pool_ahvConfig_disk | number | Size of local storage for each VM on the PE cluster in MiB | 122880 |
| storage_class_config_password | string | The password of the Prism Element user that the API calls use to provision volum | "its_a_secret!" |
| create_karbon | bool | Controls if Karbon resource should be created | true |
| storage_class_config_reclaimPolicy | string | Reclaim policy for persistent volumes provisioned using the specified storage cl | "Delete" |
| storage_class_config_volumeConfig_fileSystem | string | Karbon uses either the ext4 or xfs file-system on the volume disk | "ext4" |
| etcd_node_pool_numInstances | number | Number of nodes in the etcd node pool | 1 |
| etcd_node_pool_ahvConfig_disk | number | Size of local storage for each VM on the PE cluster in MiB | 40960 |
cp_nodes — Map of Karbon Control Plane master nodes { hostname = { ip = <ip> }}etcd_nodes — Map of Karbon etcd nodes { hostname = { ip = <ip> }}host_inventory — Map which contains all Karbon nodes { hostname = { ip = <ip> }}karbon_cluster_name — The name of the Karbon clusterkarbon_kubernetes_version — The kubernetes versionkarbon_kubernetes_kubeconfig — Kubeconfig settings for Karbonkarbon_kubernetes_sshconfig — SSH config for Karbonworker_nodes — Map of Karbon worker nodes { hostname = { ip = <ip> }}