Kubernetes中的deployment.apps具体指什么?
deployment.apps的本质含义 deployment.apps是Kubernetes中Deployment资源的完全限定资源名称,格式统一为[资源类型].[所属API组],用来唯一标识一类K8s资源。
构成拆解
- 前半段
deployment:就是你常用的资源类型名,支持单复数、短名混用,比如deployment、deployments、短名deploy都是指同一种资源 - 后半段
apps:是该资源归属的API组,K8s将所有资源按功能划分到不同API组做隔离管理,apps是官方稳定的核心工作负载API组,Deployment、ReplicaSet、DaemonSet、StatefulSet这类常用工作负载资源都归属该组。
为什么能和
deployments关键字互换 Kubectl工具默认做了简写兼容:
- 当你使用短名
deployments、deploy操作资源时,kubectl会自动在集群已注册的API组中匹配到对应的apps组下的Deployment资源,自动补全为完整的deployment.apps再向API服务端发起请求,所以两种写法执行效果完全一致 - 完全限定名的设计主要是为了避免资源重名冲突:如果集群中安装了自定义资源(CRD),刚好有和
deployment重名的资源归属其他API组,写全deployment.apps就能精确指定要操作的官方工作负载Deployment,不会出现操作错资源的问题。
示例对应说明
你用到的命令:kubectl rollout pause deployment.apps/nginx-deployment
和以下写法效果完全等价:
kubectl rollout pause deployment/nginx-deploymentkubectl rollout pause deploy/nginx-deploymentkubectl rollout pause deployments/nginx-deployment
内容的提问来源于stack exchange,提问作者Dimi
相关产品推荐
相关产品推荐

