Kubernetes API 既可以以声明方式使用,也可以以命令方式使用。对于快速开发,命令式工作流可能会更好地工作,而对于可追溯性和生产工作负载,建议使用声明性工作流。
使用 curl 的声明式 HTTP 示例
这需要先运行kubectl proxy
。
curl -X POST -H 'Content-Type: application/yaml' --data '
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-example
spec:
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
' http://127.0.0.1:8001/apis/apps/v1/namespaces/default/deployments
Kubernetes API 是声明性的,因为您总是指定您想要的,例如,replicas: 2
而不是命令式APIcreate 2 replicas
中的情况。然后,控制器将状态“驱动”为您在协调循环中指定的“内容”。
看:
从您的链接:
Application Services 3 Extension 使用声明性模型,这意味着您使用单个 Rest API 调用发送声明文件。
当您使用 yaml-manifest 文件时,Kubernetes API 的工作方式完全相同,例如kubectl apply -f deployment.yaml