Junior
Da li se tokom deploy-a čuva neko stanje?
sobes.tech АИ
Одговор од АИ
При развоју Deployment у Kubernetes-у стање не чувати у самом Deployment контролеру. Deployment управља ReplicaSet-ом, који, пак, управља Pod-овима. Pod-ови су по својој природи эфемерни и могу бити поново покренути или уклоњени.
Чување стања за апликације које развија Deployment обично се реализује помоћу других механизама:
- Persistent Volumes (PV) и Persistent Volume Claims (PVC): Користе се за чување података која треба да остану доступна чак и након уклањања или поновног покретања Pod-ова. PV пружа складиште, а PVC га захтева.
- ConfigMaps и Secrets: Користе се за чување конфигурационих података и осетљивих информација (лозинки, кључева), одвојених од слике контејнера.
- StatefulSets: Контролер, специјално дизајниран за управљање апликацијама са стањем. StatefulSets гарантује стабилну мрежну идентификацију и стабилно складиште за сваки Pod, као и уредно развијање и скалирање.
Пример захтева за PVC у манифесту Pod-а:
# Дефиниција Pod-а који користи PVC
apiVersion: v1
kind: Pod
metadata:
name: my-stateful-app
spec:
containers:
- name: my-container
image: my-image
volumeMounts:
- name: data-volume
mountPath: /data
volumes:
- name: data-volume
persistentVolumeClaim:
claimName: my-pvc-claim # Назив PVC који се користи
Пример дефиниције StatefulSet-а:
# Дефиниција StatefulSet-а
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-statefulset
spec:
serviceName: "my-service"
replicas: 3
selector:
matchLabels:
app: my-statefulset-app
template:
metadata:
labels:
app: my-statefulset-app
spec:
containers:
- name: my-container
image: my-image
volumeMounts:
- name: my-volume
mountPath: /data
volumeClaimTemplates:
- metadata:
name: my-volume
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
Дакле, сам Deployment не чува стање. Његов задатак је да обезбеди потребан број реплика Pod-ова без чувања њихове индивидуалне идентификације или стања између рестарта. За stateful апликације користе се StatefulSets, PV/PVC, ConfigMaps и Secrets.