关于dry-run=client
我们学习
--dry-run=client
标记以预览将发送到您的集群的对象,而无需真正提交它。
在 kubernetes API 参考中,我们读到:
必须是“none”、“server”或“client”。如果是客户端策略,只打印要发送的对象,不发送。如果是服务器策略,则提交服务器端请求而不持久化资源。
执行本地测试时,我意识到当我尝试使用 替换现有配置对象dry-run=server
时,会发生以下错误。apiserver 告诉我们已经存在一个名为 的配置映射flink-config
。
kubectl create configmap flink-config --from-file=./config -o yaml --dry-run=server
Error from server (AlreadyExists): configmaps "flink-config" already exists
但是,我尝试使用dry-run=client
的对象未由 apiserver 验证,即仅由客户端验证,因此将 yaml 打印给我们:
kubectl create configmap flink-config --from-file=./config -o yaml --dry-run=client
apiVersion: v1
data:
config: |
FOO: foo
MYVAR: hello
kind: ConfigMap
metadata:
creationTimestamp: null
name: flink-config
所以基本上,是的,dry-run=client
它与 deprecated 具有相同的效果dry-run
。在 v1.18 中,was的等效标志已dry-run=server
被--server-dry-run
弃用。