您可以使用kubectl create
创建服务,部署等,但不能使用pod进行。您需要改用kubectl run
。这可能是什么原因?无论如何,您都是使用kubectl run --generator=run-pod/v1
创建技术的吊舱吗?
答案 0 :(得分:2)
我只能假设这是一个任意决定,而不是技术决定。
从kubectl 1.16开始,kubectl create
可以创建以下类型的资源:
clusterrole, clusterrolebinding, configmap, cronjob, deployment, job,
namespace, poddisruptionbudget, priorityclass, quota, role, rolebinding,
secret, service, serviceaccount
如您所见,这些都是通常以独立方式使用的所有资源类型。例如,通常直接创建一个Deployment或Job。但是,直接为运行的工作负载创建Pod并不常见,它是not recommended(有例外,但它们主要用于调试和管理任务)。相反,只能将Pod创建为Deployment,Job等的一部分。
鉴于imperative kubectl commands最初是为初学者设计的,因此kubectl团队可能已决定不在kubectl create
中包含Pods。另外,他们只需要在某处画线,即,您只能在kubectl create
中包括最常见的资源类型,否则列表将变得很长。
运行单个Pod的方法是kubectl run --generator=run-pod/v1
。