Difference between revisions of "Deploy EKS cluster using Terraform"
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
:<code>[[git clone]] https://github.com/hashicorp/learn-terraform-provision-eks-cluster && [[cd learn-terraform-provision-eks-cluster]]</code> | :<code>[[git clone]] https://github.com/hashicorp/learn-terraform-provision-eks-cluster && [[cd learn-terraform-provision-eks-cluster]]</code> | ||
− | 1) Execute | + | 1) Execute ([[tf login]]) |
[[terraform init]] #It may take several minutes | [[terraform init]] #It may take several minutes | ||
[[terraform plan]] | [[terraform plan]] |
Revision as of 16:33, 21 March 2023
- Terraform EKS module:
Contents
Example
0) Download code
git clone https://github.com/hashicorp/learn-terraform-provision-eks-cluster && cd learn-terraform-provision-eks-cluster
1) Execute (tf login)
terraform init #It may take several minutes terraform plan terraform apply: Terraform EKS apply output It may take around 15 min
one liner: tf init && tf plan && tf apply
2) Update configuration
Update kubeconfig with credentials: aws eks --region $(terraform output -raw region) update-kubeconfig --name $(terraform output -raw cluster_name) Added new context arn:aws:eks:us-east-2:XXXXXXX:cluster/myeks-eks-xxxx to /Users/youruser/.kube/config
2.1) Review EKS cluster created
kubectl get nodes NAME STATUS ROLES AGE VERSION ip-10-0-1-29.us-east-2.compute.internal Ready <none> 5m31s v1.23.9-eks-ba74326 ip-10-0-1-47.us-east-2.compute.internal Ready <none> 5m21s v1.23.9-eks-ba74326 ip-10-0-2-121.us-east-2.compute.internal Ready <none> 5m13s v1.23.9-eks-ba74326
3) Review resources:
terraform show | grep -w resource | sort | uniq
4) Configure kubectl
aws eks list-clusters --output text | awk '{print $2}' aws eks update-kubeconfig --name my-eks-cluster-name
5) Review cluster status/configuration
kubectl cluster-info kubectl get all -A Default EKS installation
6) Install your desired addons:
helm install
Related
helm install
aws eks update-kubeconfig --name my-eks-cluster-name
kubectl cluster-info
kubectl get nodes
,kubectl describe nodes
kubeclt get services
Terraform resource: aws eks cluster
AccessDenied ... CreateRole
iam:CreatePolicy
,iam:CreateRole
aws eks create-cluster
asg_desired_capacity
,InstanceType
- K8s installation:
eksctl create cluster
- Deploy GKE cluster using Terraform
eks-cluster.tf
https://github.com/hashicorp/learn-terraform-provision-eks-cluster/blob/main/eks-cluster.tfworker_groups
node_groups
eks_managed_node_groups
Activities
- Review https://learn.hashicorp.com/tutorials/terraform/eks
- Create your first EKS Cluster using AWS Management Console
See also
- Terraform EKS module:
manage_aws_auth_configmap, create_aws_auth_configmap, aws_auth_roles, aws_auth_users, aws_auth_accounts, module.eks, Amazon EKS Blueprints for Terraform, OIDC
- Terraform EKS, Terraform EKS module, Deploy EKS cluster using Terraform, Terraform EKS apply output,
terraform show, ~/.kube/config
,aws_eks_cluster, aws_eks_addon, module.eks_managed_node_group, eks-cluster.tf, node_groups, worker_groups
Advertising: