Kubernetes Fury AWS provides support AWS packages for Kubernetes Fury Distribution (KFD).
If you are new to KFD please refer to the official documentation on how to get started with KFD.
Kubernetes Fury AWS uses a collection of open source tools to make an EKS cluster on AWS production grade.
The following packages are included in Kubernetes Fury AWS:
Package | Version | Description |
---|---|---|
cluster-autoscaler | v1.25.0,v1.26.4,v1.27.2,v1.28.2,v1.29.0 |
A component that automatically adjusts the size of a Kubernetes Cluster |
IAM role for cluster-autoscaler | - |
Terraform module to manage IAM role used by cluster-autoscaler |
aws-node-termination-handler | v1.20.0 |
Automatically manage graceful termination of pods in the event that one node is retired by AWS |
aws-load-balancer-controller | v2.7.0 |
AWS Load Balancer Controller is a controller to help manage Elastic Load Balancers for a Kubernetes cluster |
IAM role for aws-load-balancer-controller | - |
Terraform module to manage IAM role used by aws-load-balancer-controller |
snapshot-controller | v6.3.1 |
Snapshot controller to enable snapshotting of the Amazon EBS driver. |
IAM role for aws-ebs-csi-driver | - |
Terraform module to manage IAM role used by EBS CSI driver |
Click on each package to see its full documentation.
Kubernetes Version | Compatibility | Notes |
---|---|---|
1.25.x |
✅ | No known issues |
1.26.x |
✅ | No known issues |
1.27.x |
✅ | No known issues |
1.28.x |
✅ | No known issues |
1.29.x |
✅ | No known issues |
Check the compatibility matrix for additional informations about previous releases of the modules.
Tool | Version | Description |
---|---|---|
furyctl | >=0.25.0 |
The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation. |
kustomize | >=3.5.3 |
Packages are customized using kustomize . To learn how to create your customization layer with kustomize , please refer to the repository. |
terraform | >=1.3.0 |
Terraform is used to provision packages using modules. To learn how to use terraform , please refer to the repository. |
- List the packages you want to deploy and their version in a
Furyfile.yml
bases:
- name: aws/cluster-autoscaler
version: "v4.2.1"
- name: aws/node-termination-handler
version: "v4.2.1"
- name: aws/load-balancer-controller
version: "v4.2.1"
- name: aws/snapshot-controller
version: "v4.2.1"
See
furyctl
documentation for additional details aboutFuryfile.yml
format.
-
Execute
furyctl legacy vendor -H
to download the packages -
Inspect the download packages under
./vendor/katalog/aws
. -
Define a
kustomization.yaml
that includes the./vendor/katalog/aws
directory as resource.
resources:
- ./vendor/katalog/aws/cluster-autoscaler/{v1.24.x,v1.25.x,v1.26.x,v1.27.x}
- ./vendor/katalog/aws/node-termination-handler
- ./vendor/katalog/aws/load-balancer-controller
- ./vendor/katalog/aws/snapshot-controller
NB: some packages needs additional configurations (IAM roles), they will not work out of the box. Refer to each package documentation for more details.
- To deploy the packages to your cluster, execute:
kustomize build . | kubectl apply -f -
Before contributing, please read first the Contributing Guidelines.
In case you experience any problem with the module, please open a new issue.
This module is open-source and it's released under the following LICENSE