Files
SecondBrain/00 Inbox/Deployment и ReplicaSet.md
T
2026-04-29 13:24:30 +03:00

3.3 KiB
Raw Blame History

status, type, tags, created, updated, title
status type tags created updated title
processing concept
devops
2025-12-17 2026-04-29 Deployment и ReplicaSet

Deployment и ReplicaSet

Среди многих kube-controllers, есть два важных контроллера, которые отвечают за развертывание приложений в k8s.

  • Deployment-controller
  • Replicaset-controller

Deployment

Deployment-controller отвечает за работу с декларативным описанием приложения для его последующего развертывания и обновления.

Сущность, которой оперирует deployment-controller называется Deployment.

ReplicaSet

Deployment в своей работе использует концепцию набора репликаций

Replicaset — сущность Kubernetes, отвечающая за поддержку стабильного набора репликаций приложения, работающих в один момент времени.

За работу с Replicaset отвечает Replicaset-controller.

Приложения в k8s представлены в виде объединений контейнеров (pod). Набором репликаций объединений контейнеров (pods) управляет replicaset.

С набором репликаций (replicaset) работает deployment.

Deployment controller

Deployment-controller способен самостоятельно создать Deployment на основе образа (Docker image), а может использовать готовое описание Deployment (Manifest) в формате yaml или json.

kubectl create deployment mariadb --image=mariadb:4.0
kubectl apply -f nginx-deployment-manifest.yaml

Deployment-controller через сущность Deployment работает только с объединением контейнеров (Pods) и наборами их репликаций (Replicasets).

Для связи Pod с другими Pods и внешним миром используется сущность Service.

Pod связывается с Service через Endpoint (обеспечением работы Endpoints занимается Endpoint-controller).

Service

Создать Service можно выполнив Expose существующего Deployment или использовав готовое описание Service (Manifest) в формате yaml или json.

kubectl expose deployment mariadb --port=8080
kubectl apply -f nginx-service-manifest.yaml

Deployment - replicaset

За счет связки Deployment - replicaset, в кластере Kubernetes гарантируется выполнение следующих операций.

  • Обновление без downtime (Rolling update).
  • Откат текущего обновления (Rollback).
  • Просмотр истории обновлений (Revision).
  • Откат приложения до конкретной ревизии (Rollback to revision).
  • Скалирование и дескалирование приложения (Scaling).