【k8s】kubectl 命令 (2) kubectl run(--generator)

龙洛城
2023-12-01

k8s 版本 V1.13

参考
kubectl run
Kubernetes kubectl run 命令详解

kubectl run

  • 创建并运行一个或多个容器镜像。
  • 创建一个deployment 或job 来管理容器。

语法:

$ run NAME --image=image [–env=“key=value”] [–port=port] [–replicas=replicas] [–dry-run=bool] [–overrides=inline-json] [–command] – [COMMAND] [args…]

示例:

启动nginx实例。

kubectl run nginx --image=nginx

启动hazelcast实例,暴露容器端口 5701。

kubectl run hazelcast --image=hazelcast --port=5701

启动hazelcast实例,在容器中设置环境变量“DNS_DOMAIN = cluster”和“POD_NAMESPACE = default”。

kubectl run hazelcast --image=hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"

启动nginx实例,设置副本数5。

kubectl run nginx --image=nginx --replicas=5

生成器

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

资源kubectl 命令
Podkubectl run --generator=run-pod/v1
Replication controllerkubectl run --generator=run/v1
Deploymentkubectl run --generator=extensions/v1beta1
-同时获得端点(默认)kubectl run --generator=deployment/v1beta1
Deploymentkubectl run --generator=apps/v1beta1
-端点(推荐)kubectl run --generator=deployment/apps.v1beta1
Jobkubectl run --generator=job/v1
CronJobkubectl run --generator=batch/v1beta1
-端点(默认)kubectl run --generator=cronjob/v1beta1
CronJobkubectl 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=AlwaysN/A
Job--restart=OnFailure--restart=OnFailure--restart=OnFailure 或 --restart=NeverN/A
Cron Job--schedule=N/AN/AN/A

Note:
只有在未指定任何参数时,这些参数才使用默认生成器。 这意味着,当您将 --generator 与其他参数组合时,随后指定的生成器不会更改。
1.配置了–generator ,优先使用该配置
2.没有配置–generator ,取决于其他参数,譬如–restart=always等

例如,在集群版本 v1.4 中,如果最初指定了 --restart=always,则会创建 Deployment;如果后来指定了 --restart=always 和 --generator=run/v1,则会创建 Replication Controller。

 类似资料: