Getting Started¶
This getting started guide will help you deploy your first pattern using EKS Blueprints.
Prerequisites¶
Ensure that you have installed the following tools locally:
Deploy¶
-
For consuming EKS Blueprints, please see the Consumption section. For exploring and trying out the patterns provided, please clone the project locally to quickly get up and running with a pattern. After cloning the project locally,
cd
into the pattern directory of your choice. -
To provision the pattern, the typical steps of execution are as follows:
terraform init terraform apply -target="module.vpc" -auto-approve terraform apply -target="module.eks" -auto-approve terraform apply -auto-approve
For patterns that deviate from this general flow, see the pattern's respective
README.md
for more details.Terraform targeted apply
Please see the Terraform Caveats section for details on the use of targeted Terraform apply's
-
Once all of the resources have successfully been provisioned, the following command can be used to update the
kubeconfig
on your local machine and allow you to interact with your EKS Cluster usingkubectl
.Pattern Terraform outputs
Most examples will output the
aws eks update-kubeconfig ...
command as part of the Terraform apply output to simplify this process for usersPrivate clusters
Clusters that do not enable the clusters public endpoint will require users to access the cluster from within the VPC. For these patterns, a sample EC2 or other means are provided to demonstrate how to access those clusters privately
and without exposing the public endpoint. Please see the respective pattern's
README.md
for more details. -
Once you have updated your
kubeconfig
, you can verify that you are able to interact with your cluster by running the following command:This should return a list of the node(s) running in the cluster created. If any errors are encountered, please re-trace the steps above and consult the pattern's
README.md
for more details on any additional/specific steps that may be required.
Destroy¶
To teardown and remove the resources created in the pattern, the typical steps of execution are as follows:
terraform destroy -target="module.eks_blueprints_addons" -auto-approve
terraform destroy -target="module.eks" -auto-approve
terraform destroy -auto-approve
Resources created outside of Terraform
Depending on the pattern, some resources may have been created that Terraform is not aware of that will cause issues
when attempting to clean up the pattern. For example, Karpenter is responsible for creating additional EC2 instances
to satisfy the pod scheduling requirements. These instances will not be cleaned up by Terraform and will need to be
de-provisioned BEFORE attempting to terraform destroy
. This is why it is important that the addons, or any resources
provisioned onto the cluster are cleaned up first. Please see the respective pattern's README.md
for more
details.