vault backup: 2026-05-14 10:49:10
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
- kubernetes
|
||||
- container
|
||||
created: 2025-12-17
|
||||
updated: 2026-05-07
|
||||
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 | Масштабирование приложения |
|
||||
Reference in New Issue
Block a user