Ответ
Манифест Kubernetes — это конфигурационный файл в формате YAML (реже JSON), который декларативно описывает желаемое состояние объекта в кластере, например, Deployment, Service или Pod.
Каждый манифест содержит четыре обязательных поля верхнего уровня:
apiVersion: Версия API Kubernetes, используемая для создания объекта (например,apps/v1,v1).kind: Тип создаваемого объекта (например,Deployment,Pod,Service).metadata: Данные, помогающие уникально идентифицировать объект, включаяname(имя) иlabels(метки).spec: Спецификация желаемого состояния объекта. Содержимое этого поля зависит отkind.
Пример манифеста для Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2 # Желаемое количество работающих копий Pod'а
selector:
matchLabels:
app: nginx # Deployment будет управлять Pod'ами с этой меткой
template: # Шаблон для создания Pod'ов
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21.6
ports:
- containerPort: 80
Манифест применяется к кластеру с помощью команды kubectl apply -f <имя-файла.yaml>.