首页
学习
活动
专区
圈层
工具
发布

kubectl:
EN

Stack Overflow用户
提问于 2020-10-09 11:40:03
回答 1查看 13.6K关注 0票数 10

我有aws集群,下面是我的命令来替换现有的配置。

代码语言:javascript
复制
kubectl create configmap flink-config --from-file=./config -o yaml --dry-run | kubectl replace -

但当我运行这个命令的时候。它给出了一个错误,比如

代码语言:javascript
复制
W1009 17:00:14.998329  323115 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.

如果我把-dry替换为-dry=client,它会做同样的事情吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 12:39:18

关于dry-run=client我们学到了

--dry-run=client标志可以预览要发送到集群的对象,而不必真正提交它。

在kubernetes API引用中,我们看到:

必须是“无”、“服务器”或“客户端”。如果客户端策略,则只打印要发送的对象,而不发送对象。如果服务器策略,提交服务器端请求而不持久化资源.

在执行本地测试时,我意识到当我试图使用dry-run=server替换现有的配置对象时,会发生以下错误。apiserver告诉我们,已经存在一个名为flink-config的configmap。

代码语言:javascript
复制
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:

代码语言:javascript
复制
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中被废弃。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64279343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档