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
满足”基础设施即代码(infrastructure as code)”的要求:
:v1234
、v1.2.3
、r03062016-1-4
,而不是 :latest
(有关详细信息,请参阅配置的最佳实践)。--record
参数以便为所创建的对象添加注解,在使用轻度参数化的镜像时,记录下所使用的命令行。kubectl run
参数来表示的功能特性,使用基于源码控制的配置文件,以记录要使用的功能特性。kubectl run --generator=deployment/v1beta1
。您可以使用带有 --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
kubectl apply
命令创建或更新资源。但是,要更新资源,您应该使用 kubectl apply
或者 kubectl create --save-config
创建该资源。有关使用 kubectl apply 更新资源的详细信息,请参阅 管理资源。此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.