Sobes.tech
Middle

Какво е реплика-сет и деплоймент?

sobes.tech AI

Отговор от AI

Реплика-сет (ReplicaSet) осигурява зададен брой идентични подове, работещи в клъстера. Той следи състоянието на подовете и автоматично заменя тези, които са се провалили или са спрели да работят.

Деплоймънт (Deployment) се предоставя върху Реплика-сета. Той управлява актуализациите и връщанията на приложенията, поддържа история на версиите на деплоймънта. Позволява извършване на актуализации по стратегия rolling update или recreate.

# Пример за манифест на Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # Определя желаното количество подове (чрез ReplicaSet)
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate # Стратегия за актуализация
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2 # Версия на образа, който ще се актуализира
        ports:
        - containerPort: 80

В този пример, Deployment ще създаде ReplicaSet, който ще поддържа 3 пода с образ nginx:1.14.2. При промяна на версията на образа в манифеста на Deployment, той ще създаде нов ReplicaSet за новата версия и постепенно ще пренасочва трафика към него, като премахва старите подове според стратегията rolling update.

Таблица за сравнение:

Възможност ReplicaSet Deployment
Гаранция за броя на подовете
Актуализация на приложения
Връщане към предишна версия
Управление на историята