:whale: :package: :rocket: - Terraform template for a production ready EKS Cluster and Cilium Service Mesh and eBPF
Requirements
| Name | Version | |------|---------| | aws | ~> 3.0 | | helm | ~> 2.0 | | kubectl | ~> 1.14 | | kubernetes | ~> 2.0 | | tls | ~> 3.1.0 |
Providers
| Name | Version | |------|---------| | aws | 3.76.1 | | helm | 2.11.0 | | kubectl | 1.14.0 | | kubernetes | 2.23.0 | | tls | 3.1.0 |
Modules
No modules.
Resources
| Name | Type | |------|------| | awsapigatewayvpclink.nlb | resource | | awseip.vpc_iep | resource | | awsekscluster.eks_cluster | resource | | awseksnodegroup.cluster | resource | | awsiamopenidconnectprovider.eks | resource | | awsiampolicy.awsloadbalancercontrollerpolicy | resource | | awsiampolicy.csi_driver | resource | | awsiampolicy.keda_policy | resource | | awsiampolicyattachment.awsloadbalancercontrollerpolicy | resource | | awsiampolicyattachment.csi_driver | resource | | awsiampolicyattachment.keda | resource | | awsiamrole.alb_controller | resource | | awsiamrole.eksclusterrole | resource | | awsiamrole.eksnodesroles | resource | | awsiamrole.keda_role | resource | | awsiamrolepolicyattachment.cloudwatch | resource | | awsiamrolepolicyattachment.cni | resource | | awsiamrolepolicyattachment.ecr | resource | | awsiamrolepolicyattachment.eks-cluster-cluster | resource | | awsiamrolepolicyattachment.eks-cluster-service | resource | | awsiamrolepolicyattachment.node | resource | | awsiamrolepolicyattachment.ssm | resource | | awsinternetgateway.gw | resource | | awskmsalias.eks | resource | | awskmskey.eks | resource | | awslb.ingress | resource | | awslblistener.ingress_443 | resource | | awslblistener.ingress_80 | resource | | awslbtargetgroup.http | resource | | awslbtargetgroup.https | resource | | awsnatgateway.nat | resource | | awsroute.nat_access | resource | | awsroute.publicinternetaccess | resource | | awsroutetable.igwroutetable | resource | | awsroutetable.nat | resource | | awsroutetableassociation.private1a | resource | | awsroutetableassociation.private1b | resource | | awsroutetableassociation.private1c | resource | | awsroutetableassociation.public_1a | resource | | awsroutetableassociation.public_1b | resource | | awsroutetableassociation.public_1c | resource | | awssecuritygroup.clusternodessg | resource | | awssecuritygroup.cluster_sg | resource | | awssecuritygrouprule.clusteringresshttp | resource | | awssecuritygrouprule.clusteringresshttp_8080 | resource | | awssecuritygrouprule.clusteringresshttps | resource | | awssecuritygrouprule.coredns_udp | resource | | awssecuritygrouprule.nodeport | resource | | awssecuritygrouprule.nodeport_cluster | resource | | awssecuritygrouprule.nodeportclusterudp | resource | | awssecuritygrouprule.nodescorednsudp | resource | | awssecuritygrouprule.nodesingresshttp | resource | | awssecuritygrouprule.nodesingresshttp_8080 | resource | | awssubnet.privatesubnet1a | resource | | awssubnet.privatesubnet1b | resource | | awssubnet.privatesubnet1c | resource | | awssubnet.publicsubnet1a | resource | | awssubnet.publicsubnet1b | resource | | awssubnet.publicsubnet1c | resource | | awsvpc.cluster_vpc | resource | | awsvpcipv4cidrblockassociation.pods | resource | | helmrelease.albingresscontroller | resource | | helmrelease.argo_rollouts | resource | | helmrelease.cilium | resource | | helmrelease.descheduler | resource | | helmrelease.jaeger | resource | | helmrelease.keda | resource | | helmrelease.kubestatemetrics | resource | | helmrelease.prometheus | resource | | helmrelease.tetragon | resource | | kubectlmanifest.ciliumtargetgroupbindinghttp | resource | | kubectlmanifest.ciliumtargetgroupbindinghttps | resource | | kubectlmanifest.grafana_ingress | resource | | kubectlmanifest.hubble_ingress | resource | | kubectlmanifest.jaeger_ingress | resource | | kubectlmanifest.prometheusallpod_monitor | resource | | kubernetesconfigmap.aws-auth | resource | | kubernetessecret.prometheusscrapeconfigs | resource | | awscalleridentity.current | data source | | awseksclusterauth.default | data source | | awsiampolicydocument.awsloadbalancercontrollerassume_role | data source | | awsiampolicydocument.awsloadbalancercontrollerpolicy | data source | | awsiampolicydocument.csi_driver | data source | | awsiampolicydocument.eksclusterrole | data source | | awsiampolicydocument.eksnodesrole | data source | | awsiampolicydocument.keda_policy | data source | | awsiampolicydocument.keda_role | data source | | tlscertificate.eks | data source |
Inputs
| Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | addon\cni\version | VPC CNI Version | string | "v1.12.6-eksbuild.1" | no | | addon\coredns\version | CoreDNS Version | string | "v1.10.1-eksbuild.2" | no | | addon\csi\version | CSI Version | string | "v1.17.0-eksbuild.1" | no | | addon\kubeproxy\version | Kubeproxy Version | string | "v1.27.3-eksbuild.2" | no | | argo\rollouts\toggle | Enable Argo Rollouts Installation | bool | true | no | | auto\scale\options | n/a | map |
{
"desired": 6,
"max": 10,
"min": 4
} | no | | aws\_region | n/a | string | "us-east-1" | no | | chaos\mesh\toggle | Enable Chaos Mesh Installation | bool | true | no | | cilium\hubble\host | n/a | string | "hubble.msfidelis.com.br" | no | | cluster\autoscaler\toggle | Enable Cluster Autoscaler Installation | bool | true | no | | cluster\_name | n/a | string | "eks-cilium" | no | | cluster\private\zone | n/a | string | "k8s.cluster" | no | | default\_tags | n/a | map | {
"Environment": "prod",
"Foo": "Bar",
"Ping": "Pong"
} | no | | descheduler\_toggle | Enable Descheduler Installation | bool | false | no | | enable\cross\zone\load\balancing | n/a | bool | false | no | | grafana\_host | n/a | string | "grafana.msfidelis.com.br" | no | | jaeger\_host | n/a | string | "jaeger.msfidelis.com.br" | no | | jaeger\_toggle | Enable Jaeger Installation | bool | false | no | | k8s\_version | n/a | string | "1.28" | no | | keda\_toggle | Enable Keda Installation | bool | false | no | | nlb\ingress\enable\termination\protection | n/a | bool | false | no | | nlb\ingress\internal | n/a | bool | false | no | | nlb\ingress\type | n/a | string | "network" | no | | nodes\instances\sizes | n/a | list | [| no | | proxy\protocol\v2 | n/a |
"t3.large"
]
bool | false | no |
Outputs
| Name | Description | |------|-------------| | cilium\ingress\vpclink | n/a | | cluster\_name | n/a |