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 applykubectl apply 命令创建或更新资源。有关使用 kubectl apply 更新资源的详细信息,请参阅 Kubectl 文档。此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.