The Cisco Intersight Terraform Provider is available in the Terraform Registry at https://registry.terraform.io/providers/CiscoDevNet/intersight/latest. This repository contains example modules that use the provider to create
A terraform module to create a managed Kubernetes clusters using Intersight Kubernetes Service (IKS). Available through the Terraform registry.
and its source code.
- You want to create an IKS cluster on your on-premises infrastructure using Intersight.
- These resources will be provided using Intersight and VMware vCenter 6.7.
- You've claimed vCenter using the Intersight Assist Appliance.
This module creates all of the resources required for IKS. Those resources are identitified below. It is designed as a quickstart/example of how to get an IKS cluster running. More customization is being enabled but currently there are some caveats:
- Re-using IP Pools is not available in this module yet. *this is a work in progress
- Currently 3 "t-shirt" sizes are built
- Small - 4vcpu, 16GB Memory, 40GB Disk
- Medium - 8vcpu, 24GB Memory, 60GB Disk
- Large - 12vcpu, 32GB Memory, 80GB Disk
- 2 DNS and 2 NTP servers are required. If you do not have 2, list the single DNS and NTP server twice.
- The addons module does not currently function.
See the Examples ---> Complete directory for usage of this module.
Always check Kubernetes Release Notes before updating the major version.
Name | Version |
---|---|
terraform | >=0.14.5 |
intersight | >=1.0.7 |
No provider.
Name | Description | Type | Default | Required |
---|---|---|---|---|
cluster_action | Cluster action wanted (ex. Deploy or Unassign) | string |
"Unassign" |
no |
cluster_name | Name to be given to the cluster. This will also prefix all attributes created by this module. | string |
n/a | yes |
cni | Supported CNI type. Currently we only support Calico.* Calico - Calico CNI plugin as described in https://github.com/projectcalico/cni-plugin. | string |
"Calico" |
no |
domain_name | Domain Name information for DNS search. | string |
n/a | yes |
ip_gateway | Default gateway for this pool. | string |
n/a | yes |
ip_netmask | Subnet Mask for this pool. | string |
n/a | yes |
ip_pool_size | Number of IPs you want this pool to contain. | string |
n/a | yes |
ip_primary_dns | Primary DNS Server for this pool. | string |
n/a | yes |
ip_secondary_dns | Secondary DNS Server for this pool. | string |
"" |
no |
ip_starting_address | Starting IP Address you want for this pool. | string |
n/a | yes |
load_balancers | Number of load_balancers for the cluster. | number |
3 |
no |
master_count | Number of master nodes | number |
1 |
no |
organization | Organization Name | string |
"default" |
no |
pod_cidr | Pod CIDR Block to be used to assign POD IP Addresses. | string |
"100.65.0.0/16" |
no |
root_ca_registries | List of root CA certificates. | list(string) |
[] |
no |
service_cidr | Service CIDR Block used to assign cluster service IP addresses. | string |
"100.64.0.0/24" |
no |
ssh_key | SSH Public Key to be used to node login. | string |
n/a | yes |
ssh_user | SSH Username for node login. | string |
n/a | yes |
tags | n/a | list(map(string)) |
[] |
no |
timezone | The timezone of the node's system clock. Check Terraform documentation for correct format. Example America/New_York | string |
n/a | yes |
unsigned_registries | List of unsigned registries to be supported. | list(string) |
[] |
no |
vc_cluster | Name of the cluster you wish to make part of this provider within vCenter. | string |
n/a | yes |
vc_datastore | Name of the datastore to be used with this provider. | string |
n/a | yes |
vc_password | Password of the account to be used with vCenter. This should be the password for the account used to register vCenter with Intersight. | string |
n/a | yes |
vc_portgroup | Name of the portgroup(s) to be used in this provider | list(string) |
n/a | yes |
vc_resource_pool | Name of the resource pool to be used with this provider. | string |
"" |
no |
vc_target_name | Target name as referenced in Intersight. vCenter is currently the only supported target. | string |
n/a | yes |
wait_for_completion | Wait for cluster completion true/false | bool |
false |
no |
worker_count | Number of worker nodes wanted for the cluster. | number |
2 |
no |
worker_max | Maximum number of worker nodes in a cluster. | number |
50 |
no |
worker_size | Worker size attribute for worker nodes | string |
n/a | yes |
Name | Description |
---|---|
cluster_moid | n/a |