What is the Bottlerocket Update Operator (Brupop)?
developThe Bottlerocket update operator (Brupop) is a Kubernetes operator designed to coordinate Bottlerocket updates across hosts in a cluster. It manages the update lifecycle using three main components:
- Controller: A deployment running on a single node that orchestrates updates across the entire cluster.
- Agent: A DaemonSet running on every Bottlerocket node. The agent periodically queries for updates, drains the node, and performs the update when instructed by the controller.
- Update Operator API Server: A deployment that handles cluster object mutations. To ensure security, it uses the Kubernetes TokenReview API to verify that requests are actually coming from the agent pod running on the specific node making the request.
Key Concepts:
- Security: The API Server requires
cert-managerto use CA certificates for SSL communication with agents. - Update Waves: Updates are rolled out in waves to minimize cluster-wide impact, meaning nodes may not update simultaneously.