Введение в Kubernetes
Frank Heilmann
Platform Architect and Freelance Instructor
Stateful-приложения:
При перезапуске или остановке новая реплика (Pod) считывает сохранённое состояние и продолжает работу с него
apiVersion, kind, metadata, spec, templatereplicas задаёт количество Pod в StatefulSetselector — далееapiVersion: apps/v1
kind: StatefulSet
metadata:
name: <deployment name>
labels:
app: <a label for the application>
spec:
replicas: <number of initial replicas>
selector:
matchLabels:
app: <matches the label above>
template:
metadata:
labels:
app: <label to be given to each pod>
spec:
containers:
- name: <container name>
image: <the image to be used>
ports:
- containerPort: <ports for networking>
StatefulSet развёртывается так же, как Deployments:
kubectl apply -f <manifest.yml>StatefulSet создаётся иначе, чем Deployment:pod-0, pod-1, pod-2 и т. д.StatefulSet с разными идентичностями
могут выполнять разные роли в приложенииreplicas в манифесте и применить заново,kubectl scale statefulsets ...pod-0, pod-1, pod-2 добавляется pod-3,
затем pod-4pod-4, затем pod-3kubectlkubectl get pods возвращает все Pod в StatefulSet
с их текущим статусомkubectl get services возвращает все сервисы,
которые может использовать StatefulSetВведение в Kubernetes