Skip to content

msfidelis/eks-karpenter-autonomous-cluster

Repository files navigation

Welcome to Karpanter EKS Autonomous Cluster

Requirements

Name Version
aws ~> 4.0
helm ~> 2.0
kubectl ~> 1.14
kubernetes ~> 2.0
tls ~> 4.0.4

Providers

Name Version
archive 2.4.0
aws 4.67.0
helm 2.10.1
kubectl 1.14.0
kubernetes 2.23.0
tls 4.0.4

Modules

No modules.

Resources

Name Type
aws_cloudwatch_event_rule.node_termination_handler_instance_terminate resource
aws_cloudwatch_event_rule.node_termination_handler_rebalance resource
aws_cloudwatch_event_rule.node_termination_handler_scheduled_change resource
aws_cloudwatch_event_rule.node_termination_handler_spot_termination resource
aws_cloudwatch_event_rule.node_termination_handler_state_change resource
aws_cloudwatch_event_target.node_termination_handler_instance_terminate resource
aws_cloudwatch_event_target.node_termination_handler_rebalance resource
aws_cloudwatch_event_target.node_termination_handler_scheduled_change resource
aws_cloudwatch_event_target.node_termination_handler_spot_termination resource
aws_cloudwatch_event_target.node_termination_handler_state_change resource
aws_ec2_tag.karpenter resource
aws_eip.vpc_iep resource
aws_eks_addon.cni resource
aws_eks_addon.coredns resource
aws_eks_addon.kubeproxy resource
aws_eks_cluster.eks_cluster resource
aws_eks_fargate_profile.cert_manager resource
aws_eks_fargate_profile.karpenter resource
aws_eks_fargate_profile.kube_system resource
aws_eks_fargate_profile.prometheus resource
aws_iam_instance_profile.nodes resource
aws_iam_openid_connect_provider.eks resource
aws_iam_policy.aws_node_termination_handler_policy resource
aws_iam_policy.csi_driver resource
aws_iam_policy.karpenter_policy resource
aws_iam_policy_attachment.aws_node_termination_handler_policy resource
aws_iam_policy_attachment.csi_driver resource
aws_iam_policy_attachment.karpenter_policy resource
aws_iam_role.aws_node_termination_handler_role resource
aws_iam_role.coredns_fix resource
aws_iam_role.eks_cluster_role resource
aws_iam_role.eks_fargate_role resource
aws_iam_role.eks_nodes_roles resource
aws_iam_role.karpenter_role resource
aws_iam_role_policy_attachment.AmazonEKSClusterPolicy resource
aws_iam_role_policy_attachment.AmazonEKSFargatePodExecutionRolePolicy resource
aws_iam_role_policy_attachment.AmazonEKSVPCResourceController resource
aws_iam_role_policy_attachment.cloudwatch resource
aws_iam_role_policy_attachment.cni resource
aws_iam_role_policy_attachment.coredns_fix resource
aws_iam_role_policy_attachment.ecr resource
aws_iam_role_policy_attachment.eks-cluster-cluster resource
aws_iam_role_policy_attachment.eks-cluster-service resource
aws_iam_role_policy_attachment.node resource
aws_iam_role_policy_attachment.ssm resource
aws_internet_gateway.gw resource
aws_kms_alias.eks resource
aws_kms_key.eks resource
aws_lambda_function.coredns_fix resource
aws_launch_template.main resource
aws_nat_gateway.nat resource
aws_route.nat_access resource
aws_route.public_internet_access resource
aws_route_table.igw_route_table resource
aws_route_table.nat resource
aws_route_table_association.private1a resource
aws_route_table_association.private1b resource
aws_route_table_association.private1c resource
aws_route_table_association.public_1a resource
aws_route_table_association.public_1b resource
aws_route_table_association.public_1c resource
aws_security_group.coredns_fix resource
aws_security_group_rule.nodeport_eks resource
aws_security_group_rule.nodeport_eks_udp resource
aws_security_group_rule.rule_443 resource
aws_security_group_rule.rule_53_tcp resource
aws_security_group_rule.rule_53_udp resource
aws_security_group_rule.rule_80 resource
aws_security_group_rule.rule_8080 resource
aws_sqs_queue.node_termination_handler resource
aws_sqs_queue_policy.node_termination_handler resource
aws_subnet.private_subnet_1a resource
aws_subnet.private_subnet_1b resource
aws_subnet.private_subnet_1c resource
aws_subnet.public_subnet_1a resource
aws_subnet.public_subnet_1b resource
aws_subnet.public_subnet_1c resource
aws_vpc.cluster_vpc resource
aws_vpc_ipv4_cidr_block_association.pods resource
helm_release.cert resource
helm_release.karpenter resource
helm_release.kube_state_metrics resource
helm_release.metrics_server resource
helm_release.node_termination_handler resource
kubectl_manifest.karpenter_provisioner resource
kubectl_manifest.karpenter_template resource
kubernetes_config_map.aws-auth resource
archive_file.coredns_archive data source
aws_caller_identity.current data source
aws_eks_cluster_auth.default data source
aws_iam_policy_document.aws_node_termination_handler_policy data source
aws_iam_policy_document.aws_node_termination_handler_role data source
aws_iam_policy_document.coredns_fix data source
aws_iam_policy_document.csi_driver data source
aws_iam_policy_document.eks_cluster_role data source
aws_iam_policy_document.eks_fargate_role data source
aws_iam_policy_document.eks_nodes_role data source
aws_iam_policy_document.karpenter_policy data source
aws_iam_policy_document.karpenter_role data source
aws_lambda_invocation.coredns_fix data source
aws_ssm_parameter.eks data source
tls_certificate.eks data source

Inputs

Name Description Type Default Required
addon_cni_version VPC CNI addon version string "v1.12.6-eksbuild.1" no
addon_coredns_version CoreDNS addon version string "v1.10.1-eksbuild.2" no
addon_kubeproxy_version KubeProxy addon version string "v1.27.3-eksbuild.2" no
aws_region AWS Region to deploy resources string "us-east-1" no
cluster_name EKS Cluster Name string "karpenter-cluster" no
default_tags n/a map
{
"Foo": "Bar",
"Ping": "Pong"
}
no
fargate_profiles Name of fargate profiles created on cluster list(any) [] no
k8s_version Default Kubernetes Version string "1.27" no
karpenter_availability_zones Availability zones to launch nodes list
[
"us-east-1a",
"us-east-1b",
"us-east-1c"
]
no
karpenter_capacity_type Capacity Type; Ex spot, on_demand list
[
"spot"
]
no
karpenter_cpu_limit CPU Limits to launch total nodes string "100" no
karpenter_instance_family Instance family list to launch on karpenter list
[
"m5",
"c5"
]
no
karpenter_instance_sizes Instance sizes to diversify into instance family list
[
"large",
"2xlarge"
]
no
karpenter_memory_limit Memory Limits to launch total nodes string "4000Gi" no

Outputs

No outputs.

Author

πŸ‘€ Matheus Fidelis

🀝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

πŸ“ License

Copyright Β© 2020 Matheus Fidelis.
This project is MIT licensed.

About

🐳 πŸ“¦ πŸš€ - Elastic Kubernetes Service fully managed using Karpenter Autoscaler, without Node Groups

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published