The cloud-provider-aws module is responsible for interacting with the AWS cloud resources. It allows the node manager module to use AWS resources for provisioning nodes for the specified node group (a group of nodes that are acted upon as if they were a single entity).

The cloud-provider-aws module:

  • Manages AWS resources using the cloud-controller-manager module:
    • It creates network routes for the PodNetwork network on the AWS side.
    • It creates LoadBalancers for Kubernetes Service objects that have the LoadBalancer type.
    • It updates the metadata of the cluster nodes according to the configuration parameters and deletes nodes that are no longer in AWS.
  • Provisions volumes in AWS using the CSI storage component.
  • Enables the necessary CNI plugin (using the simple bridge).
  • Registers with the node-manager module so that AWSInstanceClasses can be used when creating the NodeGroup.