- Install a. Terraform b. AWS_CLI c. AWS_IAM_Authenticator d. Kubectl
- Create AWS account
- Create IAM user and attach permissions
- AWS 3.72.0
- Kubernetes 2.7.0
- eks 18.2.0
- vpc 3.11.3
- aws_availability_zones : The Availability Zones data source allows access to the list of AWS Availability Zones which can be accessed by an AWS account within the region configured in the provider.
- aws_eks_cluster : Retrieve information about an EKS Cluster
- aws_eks_cluster_auth : Get an authentication token to communicate with an EKS cluster.
provider aws:- region : AWS Region in which EKS Cluster is planned create.
module eks:-
- cluster_name: Name of the EKS cluster
- cluster_version: Kubernetes . version to use for the EKS cluster (i.e.: 1.21)
- eks_managed_node_groups: Map of EKS managed node group definitions to create
- subnet_ids: A list of subnet IDs where the EKS cluster (ENIs) will be provisioned along with the nodes/node groups.
- vpc_id: ID of the VPC where the cluster and its nodes will be provisioned
module vpc:-
- azs: A list of availability zones names or ids in the region
- cidr: The CIDR block for the VPC
- enable_nat_gateway: Should be true if you want to provision NAT Gateways for each of your private networks
- enable_vpn_gateway: Should be true if you want to create a new VPN Gateway resource and attach it to the VPC
- enable_dns_hostnames: Should be true to enable DNS hostnames in the VPC
- private_subnets: A list of private subnets inside the VPC
- public_subnets: A list of public subnets inside the VPC provider kubernetes:- host - The hostname (in form of URI) of the Kubernetes API. cluster_ca_certificate - PEM-encoded root certificates bundle for TLS authentication. token - Token of your service account.
- https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
- https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest
- https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/latest
- https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
- https://www.terraform.io/language
- https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#credentials-config
- https://learn.hashicorp.com/terraform