Kubernetes
Last updated: Oct 28, 2026
Rationale
Kubernetes is the system that Fluid Attacks uses to host, deploy, and manage its applications. With it, Fluid Attacks can serve and scale its applications in an easy, secure, and automated way.
These are the primary reasons why Fluid Attacks selected it:
- It can deploy complex applications automatically, with their related servers, DNS records, and load balancers. Thus, Fluid Attacks can do more work on the application development and less on the infrastructure.
- You can manage it fully with Terraform.
- It supports Blue-Green deployments. Thus, Fluid Attacks can deploy applications many times each day without service interruptions.
- It supports Horizontal autoscaling. Thus, Fluid Attacks can easily adapt its applications to their loads.
- It supports Service accounts, RBAC Authorization, and IRSA. Thus, Fluid Attacks can give applications permissions to external resources with a least privilege approach.
- It supports resource quotas.
Thus, Fluid Attacks can easily distribute containers on physical machines
with a granular
cpu/memory per containerapproach. - It has its own package manager, which makes service deployments very easy.
- It has its own local reproducibility tool to simulate clusters in local environments.
- It is open source.
- It is not platform-bounded.
- Azure AKS, AWS EKS, and GCP GKE support it.
- It can be IaaS when you implement it on a cloud provider.
- You can migrate it from one cloud provider to a different provider. This is not a simple task, but it is possible.
- A large community uses it.
- It has many open-source extensions.
Alternatives
Fluid Attacks examined these alternatives, but it did not select them for these reasons:
- AWS ECS: It is a serverless service to run containers. It is expensive, because each physical machine has only one container. It does not support extensions. It is platform-bounded. It is not open source.
- AWS Fargate: It is a serverless service to run containers without the administration of the infrastructure where they run. It is expensive, because each physical machine has only one container. It does not support extensions. It is platform-bounded. It is not open source.
- AWS EC2: It is a service for cloud computing. AWS EKS uses it to configure the cluster workers. It does not support extensions. It is platform-bounded. It is not open source.
- HashiCorp Nomad: At this time, no cloud provider supports it. Thus, you must manage the managers and the workers. It has a simpler approach to application orchestration, but it is less flexible.
- Docker Swarm: At this time, no cloud provider supports it. Thus, you must manage the managers and the workers. It has a simpler approach to application orchestration, but it is less flexible.
Usage
Fluid Attacks uses Kubernetes for these tasks:
- To host its platform
- To deploy ephemeral environments automatically in CI/CD workflows
- To deploy DNS records automatically for applications
- To deploy load balancers automatically for applications
- To scale worker nodes automatically when the application load changes
- To run application performance monitoring with Datadog
Fluid Attacks does not use Kubernetes for these tasks:
- Rollbacks: It is better to version the production artifacts of Fluid Attacks. Then, Fluid Attacks can go back automatically to a previous working version of its applications.
- GitLab Runner: It was slow and not reliable, and it added too much overhead to the workers. Fluid Attacks changed back to the Autoscaling Runner.
- Chaos Engineering: A small quantity of chaos in the infrastructure is good, because it makes the infrastructure stronger against errors.