.. image:: ./_static/logo.png :height: 100px :width: 100px :alt: Kubernetes Logo :align: right Advanced Topics =============== Statefulsets ------------- `StatefulSets `_ are used to manage the deployment of stateful applications. - Similar to a deployment **BUT** - Guarantees the ordering and uniqueness of Pods - Use when you need one or more of: - Stable, unique network identifiers - Stable, persistent storage - Ordered, graceful deployment and scaling - Ordered, automated rolling updates Use case ^^^^^^^^ - Clustered applications such as Consul, Cassandra, Prometheus Alertmanager. - Databases (to ensure persistent storage remains available if the database pod is rescheduled. Daemonsets ---------- `DaemonSets `_ deploy Pods that are available on all nodes matching a specification. Use case ^^^^^^^^ - running a kubernetes cluster storage daemon on each node - running a log collection daemon on each node - running a node monitoring daemon on each node Jobs and CronJobs ----------------- A `Job `_ creates one or more Pods and ensures that a specified number of them run successfully to completion. CronJob ^^^^^^^ A `CronJob `_ creates `Jobs `_ according to a schedule. See `Running Automated Tasks with a CronJob `_ for more information