eks
cookpad/eks/aws
A Terraform module to Provision AWS Elastic Kubernetes (EKS) clusters.
Install
README
Terraform EKS Module !.github/workflows/ci.yml This repo contains a set of Terraform modules that can be used to provision an Elastic Kubernetes (EKS) cluster on AWS. This module provides a way to provision an EKS cluster based on the current best practices employed at Cookpad. Using this module To provision an EKS cluster you need (as a minimum) to specify a name, and the details of the VPC network you will create it in. ``hcl module "cluster" { source = "cookpad/eks/aws" version = "~> 1.34" name = "hal-9000" vpc_config = { vpc_id = "vpc-345abc" public_subnet_ids = { use-east-1a = subnet-000af1234 use-east-1b = subnet-123ae3456 use-east-1c = subnet-456ab6789 } private_subnet_ids = { use-east-1a = subnet-123af1234 use-east-1b = subnet-456bc3456 use-east-1c = subnet-789fe6789 } } } provider
Inputs (20)
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_config | object({ vpc_id | The network configuration used by the cluster, If you use the included VPC modul | required |
| name | string | A name for this eks cluster | required |
| endpoint_public_access | bool | Indicates whether or not the Amazon EKS public API server endpoint is enabled. | false |
| cluster_role_arn | string | The ARN of IAM role to be used by the cluster, if not specified a role will be c | "" |
| aws_auth_user_map | list(object({ userarn = s | A list of mappings from aws user arns to kubernetes users, and their groups | [] |
| fargate_namespaces | set(string) | A list of namespaces to create fargate profiles for, should be set to a list of | [
"kube-system",
"flux-system"
] |
| kube_proxy_configuration_values | string | Configuration values passed to the kube-proxy EKS addon. | null |
| endpoint_public_access_cidrs | list(string) | null | |
| iam_policy_name_prefix | string | An optional prefix to any IAM Policies created by this module | "" |
| oidc_root_ca_thumbprints | list(string) | Thumbprint of Root CA for EKS OpenID Connect (OIDC) identity provider, Valid unt | [
"9e99a48a9960b14926bb7f3b02e22da2b0a |
| kms_cmk_arn | string | The ARN of the KMS (CMK) customer master key, to be used for Envelope Encryption | "" |
| legacy_security_groups | bool | Preserves existing security group setup from pre 1.15 clusters, to allow existin | false |
| tags | map(string) | A map of tags to assign to cluster AWS resources | {} |
| security_group_ids | list(string) | A list of security group IDs for the cross-account elastic network interfaces th | [] |
| iam_role_name_prefix | string | An optional prefix to any IAM Roles created by this module | "" |
| aws_auth_role_map | list(object({ rolearn = s | A list of mappings from aws role arns to kubernetes users, and their groups | [] |
| ebs_csi_configuration_values | string | Configuration values passed to the ebs-csi EKS addon. | null |
| cluster_log_types | list(string) | A list of the desired control plane logging to enable. | [
"api",
"audit",
"authenticator", |
| vpc_cni_configuration_values | string | Configuration values passed to the vpc-cni EKS addon. | null |
| coredns_configuration_values | string | Configuration values passed to the coredns EKS addon. | "{ \"computeType\": \"fargate\", \"autoS |
Outputs (2)
configoidc_configResources (12)
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,