参考

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

Edit This Page

kubectl 的用法约定

kubectl 的推荐用法约定

在可重用脚本中使用 kubectl

对于脚本中的稳定输出:

最佳实践

kubectl run

若希望 kubectl run 满足”基础设施即代码(infrastructure as code)”的要求:

生成器

您可以使用带有 --generator 参数的 kubectl run 命令创建如下资源:

资源 kubectl 命令
Pod kubectl run --generator=run-pod/v1
Replication controller kubectl run --generator=run/v1
Deployment kubectl run --generator=extensions/v1beta1
-同时获得端点(默认) kubectl run --generator=deployment/v1beta1
Deployment kubectl run --generator=apps/v1beta1
-端点(推荐) kubectl run --generator=deployment/apps.v1beta1
Job kubectl run --generator=job/v1
CronJob kubectl run --generator=batch/v1beta1
-端点(默认) kubectl run --generator=cronjob/v1beta1
CronJob kubectl run --generator=batch/v2alpha1
-端点(废弃) kubectl run --generator=cronjob/v2alpha1

如果不指定 generator 参数,其他参数将提示您使用特定的生成器。下表列出了强制您使用特定生成器的参数,具体取决于集群的版本:

生成的资源 集群版本 v1.4 及以后版本 集群版本 v1.3 集群版本 v1.2 集群版本 v1.1 及更早
Pod --restart=Never --restart=Never --generator=run-pod/v1 --restart=OnFailure--restart=Never
Replication Controller --generator=run/v1 --generator=run/v1 --generator=run/v1 --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
Note:

只有在未指定任何参数时,这些参数才使用默认生成器。 这意味着,当您将 --generator 与其他参数组合时,随后指定的生成器不会更改。 例如,在集群版本 v1.4 中,如果最初指定了 --restart=always,则会创建 Deployment;如果后来指定了 --restart=always--generator=run/v1,则会创建 Replication Controller。 这使您能够将生成器固定到特定的行为,即使在以后更改默认生成器时也是如此。

这些参数按以下顺序设置生成器:首先是 --schedule 参数,然后是 --restart 策略参数,最后是 --generator 参数。

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

kubectl apply

反馈