Артикул Кубернес (7 Часть серии)
Учетные комплекты используются специально для запуска Сознательные, реплицированные услуги, такие как базы данных в кластере Kubernetes Отказ
Конфигурация состояния набора:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
spec:
replicas: 3
template:
spec:
containers:
- name: mysql
image: mysql:8.0
env:
- name: MYSQL_DATABASE
value: my-db
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-credentials
key: password
ports:
- name: mysql
containerPort: 3306
Основная часть состояния, которая позволяет запускать базы данных, заключается в том, что каждая реплика POD назначается уникальный идентификатор. Этот идентификатор придерживается стручка, даже когда его перевешены на другой рабочий узел. Через этот уникальный идентификатор POD сохраняет соединение с объемом, который содержит состояние базы данных. Однако потому, что при перепрочее подвода объем отсоединяется, а затем снова прикрепляется, объемы хранения должны быть на удаленном постоянном диске, что означает, что хранение должна быть размещена за пределами самого кластера.
Таким образом, в целом каждая реплика POD в состоянии состояния имеет состояние и данные. Поэтому, когда он перезапустится, ему необходимо восстановить это состояние. Это означает, что мы не можем использовать локальное хранилище для заложенных наборов, поскольку локальное хранилище связано с узлом, поэтому, когда POD перенесен на другой узел, его предыдущее состояние не будет доступно для него. Вместо этого следует использовать дистанционное хранилище, которое не связано с каким-либо конкретным узлом.
Полное и бесплатное курс Kubernetes & Docker на YouTube
Артикул Кубернес (7 Часть серии)
Оригинал: «https://dev.to/techworld_with_nana/what-is-a-kubernetes-stateful-set-2m9»