kubectl
的推荐用法约定
kubectl
对于脚本中的稳定输出:
-o name
、-o json
、-o yaml
、-o go template
或 -o jsonpath
。jobs.v1.batch/myjob
。这将确保 kubectl 不会使用其默认版本,该版本会随着时间的推移而更改。kubectl run
或者 kubectl expose
)时,指定 --generator
参数以固定到特定行为。kubectl run
若希望 kubectl run
满足基础设施即代码的要求:
:v1234
、v1.2.3
、r03062016-1-4
,而不是 :latest
(有关详细信息,请参阅配置的最佳实践)。kubectl run --generator=run-pod/v1
。--record
参数以便为所创建的对象添加注解,在使用轻度参数化的镜像时,记录下所使用的命令行。kubectl run
参数来表示的功能特性,使用基于源码控制的配置文件,以记录要使用的功能特性。您可以使用带有 --generator
参数的 kubectl run
命令创建如下资源:
资源 | API 组 | kubectl 命令 |
---|---|---|
Pod | v1 | kubectl run --generator=run-pod/v1 |
ReplicationController (已弃用) | v1 | kubectl run --generator=run/v1 |
Deployment (已弃用) | extensions/v1beta1 | kubectl run --generator=deployment/v1beta1 |
Deployment (已弃用) | apps/v1beta1 | kubectl run --generator=deployment/apps.v1beta1 |
Job (已弃用) | batch/v1 | kubectl run --generator=job/v1 |
CronJob (已弃用) | batch/v2alpha1 | kubectl run --generator=cronjob/v2alpha1 |
CronJob (已弃用) | batch/v1beta1 | kubectl run --generator=cronjob/v1beta1 |
注意: 不推荐使用run-pod/v1
以外的其他生成器。
如果您显式设置了 --generator
参数,kubectl 将使用您指定的生成器。如果使用 kubectl run
命令但是未指定生成器,kubectl 会根据您设置的其他参数自动选择要使用的生成器。下表列出了如果您自己未指定参数自动使用与之相匹配的生成器:
参数 | 相匹配的资源 |
---|---|
--schedule=<schedule> |
CronJob |
--restart=Always |
Deployment |
--restart=OnFailure |
Job |
--restart=Never |
Pod |
如果不指定生成器,kubectl 将按以下顺序考虑其他参数:
--schedule
--restart
您可以使用 --dry-run
参数预览要发送到集群的对象,而无需真正提交。
kubectl apply
kubectl apply
命令创建或更新资源。有关使用 kubectl apply 更新资源的详细信息,请参阅 Kubectl 文档。此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.