Kubernetes theory
October 28, 2022
StatefulSet
StatefulSet - это контроллер наподобие Deployment, использующийся для управления подами с отслеживанием их состояния.
Где это используется и что же это значит?
Этот контроллер очень популярен для создания подов с разными базами данных. PostgreSQL, MongoDB, Redis, Cassandra, Elasticsearch, etc.
Как и в Deployment, здесь есть директива регламентирующая количество реплик, спецификация контейнеров одна на все поды, одинаковые метки. Но есть и отличие - есть дополнительная проверка на отслеживание состояния. Это позволяет, например, в случае гибели пода передавать созданному вместо него его адрес. Также как и в Deployment есть поддержка политики обновления подов и rollout.
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: cam-redis
spec:
serviceName: cam-redis
replicas: 1
selector:
matchLabels:
app: cam-redis
template:
metadata:
labels:
app: cam-redis
env: testing
type: base
purpose: cache
spec:
containers:
- name: redis
image: redis:latest
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 3
memory: 4Gi
limits:
cpu: 3
memory: 5Gi
ports:
- containerPort: 6379
- containerPort: 26379
EOFПолезные ссылки.
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
October 28, 2022, 21:42
0 views
0 reposts