Slack
Slack logoSlack · Feature trail

Kubernetes StatefulSet Rollout Operator

1 post · Jun 2024

What this trail covers

This thread tracks the evolution of Slack's custom strategies for rolling out stateful applications in Kubernetes. Initial posts detailed the creation of a simple Kubernetes admission webhook for tasks like supporting long-lived Pods. This post introduces the Bedrock Rollout Operator, a Kubernetes operator designed to manage StatefulSet rollouts with enhanced control. It addresses the limitations of Kubernetes' native 'OnDelete' and 'RollingUpdate' strategies for stateful applications, enabling faster percent-based rollouts, faster rollbacks, the ability to pause rollouts, integration with internal service discovery (Consul), and Slack notifications. The operator uses a custom resource named StatefulsetRollout and a re-enqueueing reconciliation loop for improved efficiency and resilience.

All Slack trails