当我想通过运行kubectl
生成 yaml 时,它表示我应该在命令中表示--generator=something
标志。
例如,要通过kubectl
获取部署模板,我应该运行以下命令:
kubectl run --generator=deployment/v1beta1 nginx --image=nginx --dry-run -o yaml
在不提及--generator
标志的情况下,CLI 以某种方式声明我应该提到具有适当值的生成器标志(例如run-pod/v1
)。
我的问题是,什么本质上是一个生成器?它是做什么的?它们是某种对象创建模板还是其他东西?
这是在 2016 年 1 月的commit 426ef93中为 Kubernetes v1.2.0-alpha.8 引入的。
The generators被描述为:
生成器是kubectl
命令,根据一组输入(其他资源、标志或两者的组合)生成资源。
生成器的要点是:
使用户能够以脚本方式使用kubectl
以固定到将来可能更改的特定行为。
明确使用生成器将始终保证预期的行为保持不变。
,以便为创建以外的场景启用生成资源的潜在扩展,类似于大多数通用命令支持-f
的方式。
以及:
生成器命令应遵循以下约定:
应该定义--generator
标志。然后,如果命令支持不同的生成器(例如,kubectl run
当前支持用于 Pod 、作业、复制控制器和部署的生成器),则用户可以在不同版本的生成器之间进行选择,以便用户可以根据特定行为固定到该版本(例如,kubectl
公开当前支持两个不同版本的服务生成器)。
生成应与创建分离。
生成器应实现kubectl.StructuredGenerator
接口,并且不依赖于眼镜蛇或工厂
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(77条)