---
api_metadata:
apiVersion: "v1"
import: "k8s.io/api/core/v1"
kind: "ServiceAccount"
content_type: "api_reference"
description: "ServiceAccount 将以下内容绑定在一起:1. 用户可以理解的名称,也可能是外围系统理解的身份标识 2. 可以验证和授权的主体 3. 一组 Secret。"
title: "ServiceAccount"
weight: 1
---
`apiVersion: v1`
`import "k8s.io/api/core/v1"`
## ServiceAccount {#ServiceAccount}
ServiceAccount 将以下内容绑定在一起:
* 用户可以理解的名称,也可能是外围系统理解的身份标识
* 可以验证和授权的主体
* 一组 Secret
- **apiVersion**: v1
- **kind**: ServiceAccount
- **metadata** (}}">ObjectMeta)
标准对象的元数据,更多信息:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **automountServiceAccountToken** (boolean)
AutomountServiceAccountToken 指示作为此服务帐户运行的 Pod 是否应自动挂载 API 令牌,
可以在 Pod 级别覆盖。
- **imagePullSecrets** ([]}}">LocalObjectReference)
imagePullSecrets 是对同一命名空间中 Secret 的引用列表,用于拉取引用此 ServiceAccount 的 Pod 中的任何镜像。
imagePullSecrets 与 Secret 不同,因为 Secret 可以挂载在 Pod 中,但 imagePullSecrets 只能由 kubelet 访问。更多信息:
https://kubernetes.io/zh-cn/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
- **secrets** ([]}}">ObjectReference)
**补丁策略:基于键 `name` 合并**
secrets 是允许使用此 ServiceAccount 运行的 Pod 使用的同一命名空间中的秘密列表。
仅当此服务帐户的 “kubernetes.io/enforce-mountable-secrets” 注释设置为 “true” 时,Pod 才限于此列表。
此字段不应用于查找自动生成的服务帐户令牌机密以在 Pod 之外使用。
相反,可以使用 TokenRequest API 直接请求令牌,或者可以手动创建服务帐户令牌 Secret。
更多信息: https://kubernetes.io/zh-cn/docs/concepts/configuration/secret
## ServiceAccountList {#ServiceAccountList}
ServiceAccountList 是 ServiceAccount 对象的列表
- **apiVersion**: v1
- **kind**: ServiceAccountList
- **metadata** (}}">ListMeta)
标准列表元数据, 更多信息:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- **items** ([]}}">ServiceAccount),必需
ServiceAccount 列表,更多信息:
https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-service-account/
## 操作 {#Operations}
### `get` 读取指定的 ServiceAccount
#### HTTP 请求
GET /api/v1/namespaces/{namespace}/serviceaccounts/{name}
#### 参数
- **name** (**路径参数**): string, 必需
ServiceAccount 的名称。
- **namespace** (**路径参数**): string,必需
}}">namespace
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">ServiceAccount): OK
401: Unauthorized
### `list` 列出或监控 ServiceAccount 类型的对象
#### HTTP 请求
GET /api/v1/namespaces/{namespace}/serviceaccounts
#### 参数
- **namespace** (**路径参数**): string,必需
}}">namespace
- **allowWatchBookmarks** (**查询参数**): boolean
}}">allowWatchBookmarks
- **continue** (**查询参数**): string
}}">continue
- **fieldSelector** (**查询参数**): string
}}">fieldSelector
- **labelSelector** (**查询参数**): string
}}">labelSelector
- **limit** (**查询参数**): integer
}}">limit
- **pretty** (**查询参数**): string
}}">pretty
- **resourceVersion** (**查询参数**): string
}}">resourceVersion
- **resourceVersionMatch** (**查询参数**): string
}}">resourceVersionMatch
- **sendInitialEvents** (**查询参数**): boolean
}}">sendInitialEvents
- **timeoutSeconds** (**查询参数**): integer
}}">timeoutSeconds
- **watch** (**查询参数**): boolean
}}">watch
#### 响应
200 (}}">ServiceAccountList): OK
401: Unauthorized
### `list` 列出或监控 ServiceAccount 类型的对象
#### HTTP 请求
GET /api/v1/serviceaccounts
#### 参数
- **allowWatchBookmarks** (**查询参数**): boolean
}}">allowWatchBookmarks
- **continue** (**查询参数**): string
}}">continue
- **fieldSelector** (**查询参数**): string
}}">fieldSelector
- **labelSelector** (**查询参数**): string
}}">labelSelector
- **limit** (**查询参数**): integer
}}">limit
- **pretty** (**查询参数**): string
}}">pretty
- **resourceVersion** (**查询参数**): string
}}">resourceVersion
- **resourceVersionMatch** (**查询参数**): string
}}">resourceVersionMatch
- **sendInitialEvents** (**查询参数**): boolean
}}">sendInitialEvents
- **timeoutSeconds** (**查询参数**): integer
}}">timeoutSeconds
- **watch** (**查询参数**): boolean
}}">watch
#### 响应
200 (}}">ServiceAccountList): OK
401: Unauthorized
### `create` 创建一个 ServiceAccount
#### HTTP 请求
POST /api/v1/namespaces/{namespace}/serviceaccounts
#### 参数
- **namespace** (**路径参数**): string,必需
}}">namespace
- **body**: }}">ServiceAccount,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">ServiceAccount): OK
201 (}}">ServiceAccount): Created
202 (}}">ServiceAccount): Accepted
401: Unauthorized
### `update` 替换指定的 ServiceAccount
#### HTTP 请求
PUT /api/v1/namespaces/{namespace}/serviceaccounts/{name}
#### 参数
- **name** (**路径参数**): string,必需
ServiceAccount 的名称。
- **namespace** (**路径参数**): string,必需
}}">namespace
- **body**: }}">ServiceAccount,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">ServiceAccount): OK
201 (}}">ServiceAccount): Created
401: Unauthorized
### `patch` 部分更新指定的 ServiceAccount
#### HTTP 请求
PATCH /api/v1/namespaces/{namespace}/serviceaccounts/{name}
#### 参数
- **name** (**路径参数**): string,必需
ServiceAccount 的名称。
- **namespace** (**路径参数**): string,必需
}}">namespace
- **body**: }}">Patch, required
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **force** (**查询参数**): boolean
}}">force
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">ServiceAccount): OK
201 (}}">ServiceAccount): Created
401: Unauthorized
### `delete` 删除一个 ServiceAccount
#### HTTP 请求
DELETE /api/v1/namespaces/{namespace}/serviceaccounts/{name}
#### 参数
- **name** (**路径参数**): string,必需
ServiceAccount 的名称。
- **namespace** (**路径参数**): string,必需
}}">namespace
- **body**: }}">DeleteOptions
- **dryRun** (**查询参数**): string
}}">dryRun
- **gracePeriodSeconds** (**查询参数**): integer
}}">gracePeriodSeconds
- **pretty** (**查询参数**): string
}}">pretty
- **propagationPolicy** (*in query*): string
}}">propagationPolicy
#### 响应
200 (}}">ServiceAccount): OK
202 (}}">ServiceAccount): Accepted
401: Unauthorized
### `deletecollection` 删除 ServiceAccount 的集合
#### HTTP 请求
DELETE /api/v1/namespaces/{namespace}/serviceaccounts
#### 参数
- **namespace** (**路径参数**): string,必需
}}">namespace
- **body**: }}">DeleteOptions
- **continue** (**查询参数**): string
}}">continue
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldSelector** (**查询参数**): string
}}">fieldSelector
- **gracePeriodSeconds** (**查询参数**): integer
}}">gracePeriodSeconds
- **labelSelector** (**查询参数**): string
}}">labelSelector
- **limit** (**查询参数**): integer
}}">limit
- **pretty** (**查询参数**): string
}}">pretty
- **propagationPolicy** (**查询参数**): string
}}">propagationPolicy
- **resourceVersion** (**查询参数**): string
}}">resourceVersion
- **resourceVersionMatch** (**查询参数**): string
}}">resourceVersionMatch
- **sendInitialEvents** (**查询参数**): boolean
}}">sendInitialEvents
- **timeoutSeconds** (**查询参数**): integer
}}">timeoutSeconds
#### 响应
200 (}}">Status): OK
401: Unauthorized