.. 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