vault backup: 2026-04-29 15:31:12

This commit is contained in:
Dmitry
2026-04-29 15:31:12 +03:00
parent 4492ca133a
commit bc1a34e895
7 changed files with 114 additions and 173 deletions
@@ -0,0 +1,57 @@
---
status: stable
type: concept
tags:
- devops
- kubernetes
- container
created: 2025-12-17
updated: 2026-04-29
title: Deployment и ReplicaSet
---
# Deployment и ReplicaSet
Два ключевых контроллера k8s, отвечающих за развёртывание приложений.
## Deployment
**Deployment-controller** управляет декларативным описанием приложения для его развёртывания и обновления.
Способен создать Deployment из образа или из готового манифеста:
```sh
kubectl create deployment mariadb --image=mariadb:4.0
kubectl apply -f nginx-deployment-manifest.yaml
```
Deployment работает только с **Pods** и **ReplicaSets**.
## ReplicaSet
**ReplicaSet** — сущность k8s, обеспечивающая поддержку стабильного набора реплик Pod в любой момент времени.
Приложение = Pod (объединение контейнеров). ReplicaSet управляет множеством таких Pod.
## Service
Для связи Pod с другими Pod и внешним миром используется **Service**.
Pod связывается с Service через **Endpoint** (управляет Endpoint-controller).
Создание Service:
```bash
kubectl expose deployment mariadb --port=8080
kubectl apply -f nginx-service-manifest.yaml
```
## Возможности связки Deployment + ReplicaSet
| Операция | Описание |
|---|---|
| Rolling update | Обновление без downtime |
| Rollback | Откат текущего обновления |
| Revision | Просмотр истории обновлений |
| Rollback to revision | Откат до конкретной ревизии |
| Scaling | Масштабирование приложения |