我有aws集群,下面是我的命令来替换现有的配置。
kubectl create configmap flink-config --from-file=./config -o yaml --dry-run | kubectl replace -但当我运行这个命令的时候。它给出了一个错误,比如
W1009 17:00:14.998329 323115 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.如果我把-dry替换为-dry=client,它会做同样的事情吗?
发布于 2020-10-09 12:39:18
关于dry-run=client我们学到了
--dry-run=client标志可以预览要发送到集群的对象,而不必真正提交它。
在kubernetes API引用中,我们看到:
必须是“无”、“服务器”或“客户端”。如果客户端策略,则只打印要发送的对象,而不发送对象。如果服务器策略,提交服务器端请求而不持久化资源.
在执行本地测试时,我意识到当我试图使用dry-run=server替换现有的配置对象时,会发生以下错误。apiserver告诉我们,已经存在一个名为flink-config的configmap。
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 --它的效果和不推荐的dry-run一样。dry-run=server的等效标志是--server-dry-run,在v1.18中被废弃。
https://stackoverflow.com/questions/64279343
复制相似问题