如何正确定义部署规范文件

How to correctly define deployment spec file

我必须创建部署规范文件,它将:

将此规范文件的副本保存到 deployment_spec.yamljson。完成后,我需要清理(删除)在此任务期间生成的所有新 Kubernetes 对象。基于这个任务,我不知道如何解决这个任务。我应该创建部署然后使用命令

kubectl get deployment star_deploy -o yaml > deployment_spec.yaml 

或在创建过程中,使用命令

kubectl create deployment star_deploy --image=nginx  --dry-run -o yaml > deployment_spec.yaml 

您认为最好的方法是什么?

我提倡使用 --dry-run 选项来创建一个基本的 yaml 文件并对其进行编辑以进行必要的更改,然后使用 kubectl create -f deployment.yaml 实际创建资源。

任务完成后,您可以使用 kubectl delete -f deployment.yaml

进行清理

这是遵循声明式方法,可以更轻松地定义部署(或任何资源)并通过 CI/CD 或 GitOps 管理它们的生命周期。

Dry 运行 总是好的,因为它只提供必要的输出,没有任何垃圾值,如修订号、creationTimestmp 等。这将为您提供用于部署的干净的生产级 yaml 文件。稍后您可以使用它来创建 daemonsets 等

kubectl create deployment star_deploy --image=nginx  --dry-run=client -o yaml > deployment_spec.yaml 

注意:总是运行干-运行作为客户

生成 yaml 后,应用此 yaml 以使用

创建部署
kubectl apply -f deployment_spec.yaml

要为该部署扩展 pods,您甚至不需要编辑 yaml 文件。

kubectl scale deployment star_deploy --replicas=3

要删除已创建的部署,您可以使用

kubectl delete deployment star_deploy