Running databases in Kubernetes has been debated, as many prefer managed services for their simplicity. However, there are effective design patterns for running databases within Kubernetes by using node selectors, dedicated node pools, and Kubernetes operators like the Zalando Postgres Operator to ensure high availability and systematic recovery strategies. Employing taints, tolerations, and pod affinities can help manage resource allocation and data integrity. Although setting up may be complex, it can be more cost-effective and provide greater vendor agnosticism compared to managed services.
Sort: