AWS Controllers for Kubernetes (ACK) is a new tool by AWS allowing users to manage AWS services from Kubernetes directly. In a blog post, the public cloud vendor states the tool will make it easy to build scalable and highly-available Kubernetes applications that utilize AWS services.
ACK is the open-source relaunch of the AWS Service Operator project, which was first introduced back in 2018. The project has been renamed to ACK and has additional features based on the feedback from internal stakeholders and the community. According to the blog post, ACK has the following updates:
Furthermore, the authors of the blog post explain how ACK works from a high-level perspective:
1. We, as in “the project team lead by the authors”, generate and maintain a collection of artifacts (binaries, container images, Helm charts, etc.). These artifacts are automatically derived from the AWS services APIs and represent the business logic of how to manage AWS resources from within Kubernetes.
2. As a cluster admin you select one or more ACK controllers you want to install and configure for a cluster you are responsible.
3. As an application developer, you create (Kubernetes) custom resources representing AWS resources.
4. The respective ACK controller (installed in the step 2.) manages the custom resources and with it the underlying AWS resources. Based on the custom resource defined in the step 3., the controller creates, updates, or deletes the underlying AWS resources using the AWS APIs.
In a blog post, the public cloud vendor states the tool will make it easy to build scalable and highly-available Kubernetes applications that utilize AWS services.