Создание файла YAML имеет решающее значение для возможности повторного развертывания и отслеживания происходящего. Если вы не хотите создавать YAML, у вас ограниченные возможности. Вы можете выполнить императивную команду из Azure DevOps, используя задачу kubectl.
kubectl create deployment <name> --image=<image>.azureacr.io
Или вы можете использовать провайдера Kubernetes для Terraform, чтобы избежать создания YAML напрямую.
Follow up:
Так что, если вы знакомы с императивными командами Kubernetes, вы можете использовать их для генерации YAML, используя опции - dry -run и --output. Примерно так:
kubectl create deployment <name> --image=<image>.azureacr.io --dry-run --output yaml > example.yaml
Это приведет к созданию чего-то похожего на это, которое вы можете использовать для bootstrap создания файла манифеста.
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: example
name: example
spec:
replicas: 1
selector:
matchLabels:
app: example
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: example
spec:
containers:
- image: nginx
name: nginx
resources: {}
status: {}
Теперь вы можете взять этот репо или артефакт, который содержит этот манифест в ваш Azure DevOps Release Pipeline и добавляет задачу «Развертывание в Kubernetes Cluster».
Это должно вас довольно близко к завершению конвейера.