Stateful Set
Stateful Set — это объект API, используемый для управления приложениями и отслеживания их состояния. StatefulSet управляет развертыванием и масштабированием подов приложения.
Stateful Set необходимо использовать, чтобы размещать традиционные приложения с сохранением состояния stateful-приложения. Так, каждый под в составе StatefulSet будет сохранять свое DNS-имя, IP-адрес и, если запрашивается, выделенное постоянное хранилище (PVC, Persistent Volume Claim).
Чтобы создать Stateful Set:
Перейдите на платформу Опеншифт для администратора.
Перейдите в меню
.Нажмите на кнопку Сreate StatefulSet.
Внесите необходимые изменение в файле YAML.
Пример StatefulSet:
apiVersion: v1 kind: Service metadata: name: nginx labels: app: nginx spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx # has to match .spec.template.metadata.labels serviceName: "nginx" replicas: 3 # by default is 1 template: metadata: labels: app: nginx # has to match .spec.selector.matchLabels spec: terminationGracePeriodSeconds: 10 containers: - name: nginx image: k8s.gcr.io/nginx-slim:0.8 ports: - containerPort: 80 name: web volumeMounts: - name: www mountPath: /usr/share/nginx/html volumeClaimTemplates: - metadata: name: www spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "my-storage-class" resources: requests: storage: 1Gi
Нажмите на кнопку Create.
См.также
Подробнее о StatefulSet смотрите здесь.