EKS cluster provision from public modules and ALB Ingress Controller provision from Helm provider.
Prerequisites:
- terraform >= 0.13
- kubectl
- aws-iam-authenticator
Pre-commit installation:
git secrets --install
pre-commit install -f
pre-commit run -a
Key points:
- VPC resources are managed in standalone public module
- Full managed AWS EKS with Spot and On-demand managed node_groups
- ALB v2 ingress controller with Target Groups CRD (workaround via null_resource)
- Create Staging VPC and EKS cluster
make plan
make apply
As soon as cluster is ready, you should find a kubeconfig_*
kubeconfig file in the current directory.
Please note that test cluster is Public by default !!!
- Destroy Staging VPC and EKS cluster
make destroy
- Go to example-app folder
cd example-app
- Apply manifests
kubectl apply -f .
- Check ingress
kubectl get ing
- Test endpoints
curl <ALB Ingress FQDN>/apple
curl <ALB Ingress FQDN>/banana
- Destroy manifests
kubectl delete -f .