Giter Club home page Giter Club logo

terraform-intersight-iks's Introduction

Terraform Intersight Kubernetes Service Module

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.

Assumptions

  • 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.

Details

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:

  1. Re-using IP Pools is not available in this module yet. *this is a work in progress
  2. Currently 3 "t-shirt" sizes are built
    1. Small - 4vcpu, 16GB Memory, 40GB Disk
    2. Medium - 8vcpu, 24GB Memory, 60GB Disk
    3. Large - 12vcpu, 32GB Memory, 80GB Disk
  3. 2 DNS and 2 NTP servers are required. If you do not have 2, list the single DNS and NTP server twice.
  4. The addons module does not currently function.

Usage

See the Examples ---> Complete directory for usage of this module.

Always check Kubernetes Release Notes before updating the major version.

Requirements

Name Version
terraform >=0.14.5
intersight >=1.0.7

Providers

No provider.

Inputs

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

Outputs

Name Description
cluster_moid n/a

terraform-intersight-iks's People

Contributors

3pings avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.