对于 Kubernetes 的命令式与声明式,我看到了多种不同的解释——比如命令式意味着当我们使用 yaml 文件来创建资源来描述状态,反之亦然。
这两者之间真正而明显的区别是什么。如果您可以将这组命令归入同一组,我将不胜感激-例如在命令式方式下创建等等..
Arg*_*dhu 11
至关重要的
有关使用命令式命令管理 Kubernetes 对象的官方文档。
可以使用 kubectl 命令行工具内置的命令式命令直接快速创建、更新和删除 Kubernetes 对象。
kubectl run nginx --generator=run-pod/v1 --image=nginx
kubectl create service nodeport <myservicename>
kubectl delete pod
Run Code Online (Sandbox Code Playgroud)
声明式
通过在一个目录中存储多个对象配置文件并使用 kubectl apply 根据需要递归地创建和更新这些对象,可以创建、更新和删除 Kubernetes 对象。此方法保留对活动对象所做的写入,而不将更改合并回对象配置文件中。kubectl diff 还可以让您预览 apply 将进行的更改。
有关使用配置文件对 Kubernetes 对象进行声明式管理的官方文档。
有关使用 Kustomize 声明式管理 Kubernetes 对象的官方文档
在 yaml 文件中定义您想要的内容并使用kubectl apply
kubectl apply -f app.yaml
kubectl apply -f <directory>/
kubectl apply -f https://k8s.io/examples/application/simple_deployment.yaml
Run Code Online (Sandbox Code Playgroud)
小智 7
“命令式”是一个命令 - 就像“创建 42 个小部件”一样。
“声明性”是对所需最终结果的声明——例如“我希望存在 42 个小部件”。
通常,您的 yaml 文件本质上是声明性的:它会说您希望存在 42 个小部件。您将把它交给 Kubernetes,它会执行最终拥有 42 个小部件所需的步骤。
“创建”本身是一个命令式命令,但您正在创建的是一个 Kubernetes 集群。集群的外观由 yaml 文件中的声明决定。
| 归档时间: |
|
| 查看次数: |
2945 次 |
| 最近记录: |