参考

Kubernetes v1.17 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

Edit This Page

kubectl 的用法约定

kubectl 的推荐用法约定

在可重用脚本中使用 kubectl

对于脚本中的稳定输出:

  • 请求一个面向机器的输出格式,例如 -o name-o json-o yaml-o go template-o jsonpath
  • 完全限定版本。例如 jobs.v1.batch/myjob。这将确保 kubectl 不会使用其默认版本,该版本会随着时间的推移而更改。
  • 不要依赖上下文、首选项或其他隐式状态。

最佳实践

kubectl run

若希望 kubectl run 满足基础设施即代码的要求:

  • 使用特定版本的标签标记镜像,不要将该标签移动到新版本。例如,使用 :v1234v1.2.3r03062016-1-4,而不是 :latest(有关详细信息,请参阅配置的最佳实践)。
  • 使用基于版本控制的脚本来记录所使用的参数,或者至少使用 --record 参数以便为所创建的对象添加注解,在使用轻度参数化的镜像时,记录下所使用的命令行。
  • 使用基于版本控制的脚本来运行包含大量参数的镜像。
  • 对于无法通过 kubectl run 参数来表示的功能特性,使用基于源码控制的配置文件,以记录要使用的功能特性。

生成器

可以使用 kubectl run 创建的资源
资源 API 组 kubectl 命令
Pod v1
ReplicationController (已弃用) v1
Deployment (已弃用) extensions/v1beta1
Deployment (已弃用) apps/v1beta1
Job (已弃用) batch/v1
CronJob (已弃用) batch/v2alpha1
CronJob (已弃用) batch/v1beta1
注意: 不推荐使用 run-pod/v1 以外的其他生成器。
kubectl run 参数及其对应的资源
参数 相匹配的资源
--schedule=<schedule> CronJob
--restart=Always Deployment
--restart=OnFailure Job
--restart=Never Pod

如果不指定生成器,kubectl 将按以下顺序考虑其他参数:

  1. --schedule
  2. --restart

您可以使用 --dry-run 参数预览要发送到集群的对象,而无需真正提交。

kubectl apply

  • 您可以使用 kubectl apply 命令创建或更新资源。有关使用 kubectl apply 更新资源的详细信息,请参阅 Kubectl 文档

反馈