mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-23 03:01:12 +03:00
53 lines
1.5 KiB
Markdown
53 lines
1.5 KiB
Markdown
# Setting up AWS EKS (Hosted Kubernetes)
|
|
|
|
See https://www.terraform.io/docs/providers/aws/guides/eks-getting-started.html for full guide
|
|
|
|
|
|
## Download kubectl
|
|
```
|
|
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
|
chmod +x kubectl
|
|
sudo mv kubectl /usr/local/bin
|
|
```
|
|
|
|
## Download the aws-iam-authenticator
|
|
```
|
|
wget https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v0.3.0/heptio-authenticator-aws_0.3.0_linux_amd64
|
|
chmod +x heptio-authenticator-aws_0.3.0_linux_amd64
|
|
sudo mv heptio-authenticator-aws_0.3.0_linux_amd64 /usr/local/bin/heptio-authenticator-aws
|
|
```
|
|
|
|
## Modify providers.tf
|
|
|
|
Choose your region. EKS is not available in every region, use the Region Table to check whether your region is supported: https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/
|
|
|
|
Make changes in providers.tf accordingly (region, optionally profile)
|
|
|
|
## Terraform apply
|
|
```
|
|
terrafomr init
|
|
terraform apply
|
|
```
|
|
|
|
## Configure kubectl
|
|
```
|
|
terraform output kubeconfig # save output in ~/.kube/config
|
|
```
|
|
|
|
## Configure config-map-auth-aws
|
|
```
|
|
terraform output config-map-aws-auth # save output in config-map-aws-auth.yaml
|
|
kubectl apply -f config-map-aws-auth.yaml
|
|
```
|
|
|
|
## See nodes coming up
|
|
```
|
|
kubectl get nodes
|
|
```
|
|
|
|
## Destroy
|
|
Make sure all the resources created by Kubernetes are removed (LoadBalancers, Security groups), and issue:
|
|
```
|
|
terraform destroy
|
|
```
|