参考

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

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 参数来表示的功能特性,使用基于源码控制的配置文件,以记录要使用的功能特性。

生成器

资源 api 组 kubectl 命令
Pod v1
Replication controller (过期)) v1
Deployment (过期) extensions/v1beta1
Deployment (过期) apps/v1beta1
Job (过期) batch/v1
CronJob (过期) batch/v1beta1
CronJob (过期) batch/v2alpha1
生成的资源 集群版本 v1.4 及以后版本 集群版本 v1.3 集群版本 v1.2 集群版本 v1.1 及更早
Pod --restart=Never --restart=Never --restart=OnFailure--restart=Never
Replication Controller --restart=Always
Deployment --restart=Always --restart=Always --restart=Always N/A
Job --restart=OnFailure --restart=OnFailure --restart=OnFailure--restart=Never N/A
Cron Job --schedule=<cron> N/A N/A N/A
注意:

只有在未指定任何参数时,这些参数才使用默认生成器。 这使您能够将生成器固定到特定的行为,即使在以后更改默认生成器时也是如此。

要检查最终所创建的资源,请使用 --dry run 参数;该参数可以提供将要提交到集群的对象。

kubectl apply

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

反馈