如何使用模板生成器生成kubernetes部署Yaml文件

时间:2019-01-05 10:03:02

标签: kubernetes kubectl

我是kubernetes新手,我有一个基本问题

我对https://kubernetes.io/docs/reference/kubectl/conventions/的理解是,我们可以使用“ kubernetes run”命令生成yaml模板

但是当我尝试做同样的事情时,它没有按预期工作

kubectl run deployment-sample --image deployment-sample --dry-run -o yaml --generator=extensions/v1beta1
error: generator "extensions/v1beta1" not found


kubectl run deployment-sample --image deployment-sample --dry-run -o yaml --generator=apps/v1beta1
error: generator "apps/v1beta1" not found

不确定我的理解是错误的还是命令中的错误?

我正在使用kubernetes 1.11

1 个答案:

答案 0 :(得分:2)

我发现我可以使用kubectl run --generator=deployment/v1beta1 foobar --image=nginx -o yaml --dry-run创建一个Deployment,因此您的情况将是kubectl run --generator=deployment/v1beta1 deployment-sample --image=deployment-sample -o yaml --dry-run。您引用的kubectl约定页面确实表示此生成器“推荐”用于Deployment。

但是我不确定为什么文档列出了实际上不起作用的非推荐生成器选项。对于这样的命令,您可以通过https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/上的在线教程在参考环境中重新创建预期的输出,您在此处获得相同的输出,因此不仅仅是您自己或您的集群。我最好的猜测是'extensions / v1beta1'is too general to match to a deployment specificallycould well be that the documentation needs changing on this