vault backup: 2026-04-29 13:24:30

This commit is contained in:
Dmitry
2026-04-29 13:24:30 +03:00
parent accf5d711c
commit 2ff4cb16b8
+42 -1
View File
@@ -30,4 +30,45 @@ Deployment в своей работе использует концепцию н
За работу с Replicaset отвечает *Replicaset*-controller.
Приложения в k8s представлены в виде объединений контейнеров (**pod**).
Набором репликаций объединений контейнеров (**pods**) управляет replicaset.
Набором репликаций объединений контейнеров (**pods**) управляет replicaset.
С набором репликаций (replicaset) работает deployment.
## Deployment controller
*Deployment-controller* способен самостоятельно создать Deployment на основе образа (Docker image), а может использовать готовое описание Deployment (Manifest) в формате `yaml` или `json`.
```sh
kubectl create deployment mariadb --image=mariadb:4.0
```
```sh
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`.
```bash
kubectl expose deployment mariadb --port=8080
```
```sh
kubectl apply -f nginx-service-manifest.yaml
```
## Deployment - replicaset
За счет связки *Deployment* - *replicaset*, в кластере Kubernetes гарантируется выполнение следующих операций.
- Обновление без downtime (**Rolling update**).
- Откат текущего обновления (**Rollback**).
- Просмотр истории обновлений (**Revision**).
- Откат приложения до конкретной ревизии (**Rollback to revision**).
- Скалирование и дескалирование приложения (**Scaling**).