--- api_metadata: apiVersion: "apiregistration.k8s.io/v1" import: "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" kind: "APIService" content_type: "api_reference" description: "APIService 是用来表示一个特定的 GroupVersion 的服务器" title: "APIService" weight: 4 --- `apiVersion: apiregistration.k8s.io/v1` `import "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"` ## APIService {#APIService} APIService 是用来表示一个特定的 GroupVersion 的服务器。名称必须为 "version.group"。
- **apiVersion**: apiregistration.k8s.io/v1 - **kind**: APIService - **metadata** (}}">ObjectMeta) 标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **spec** (}}">APIServiceSpec) spec 包含用于定位和与服务器通信的信息 - **status** (}}">APIServiceStatus) status 包含某 API 服务器的派生信息 ## APIServiceSpec {#APIServiceSpec} APIServiceSpec 包含用于定位和与服务器通信的信息。仅支持 HTTPS 协议,但是你可以禁用证书验证。
- **groupPriorityMinimum** (int32), 必需 groupPriorityMininum 是这个组至少应该具有的优先级。优先级高表示客户端优先选择该组。 请注意,该组的其他版本可能会指定更高的 groupPriorityMininum 值,使得整个组获得更高的优先级。 主排序基于 groupPriorityMinimum 值,从高到低排序(20 在 10 之前)。 次要排序基于对象名称的字母顺序(v1.bar 在 v1.foo 之前)。 我们建议这样配置:`*.k8s.io`(扩展除外)值设置为 18000,PaaS(OpenShift、Deis)建议值为 2000 左右。 - **versionPriority** (int32), 必需 versionPriority 控制该 API 版本在其组中的排序,必须大于零。主排序基于 versionPriority, 从高到低排序(20 在 10 之前)。因为在同一个组里,这个数字可以很小,可能是几十。 在版本优先级相等的情况下,版本字符串将被用来计算组内的顺序。如果版本字符串是与 Kubernetes 的版本号形式类似, 则它将排序在 Kubernetes 形式版本字符串之前。Kubernetes 的版本号字符串按字典顺序排列。 Kubernetes 版本号以 “v” 字符开头,后面是一个数字(主版本),然后是可选字符串 “alpha” 或 “beta” 和另一个数字(次要版本)。 它们首先按 GA > beta > alpha 排序(其中 GA 是没有 beta 或 alpha 等后缀的版本),然后比较主要版本, 最后是比较次要版本。版本排序列表示例:v10、v2、v1、v11beta2、v10beta3、v3beta1、v12alpha1、v11alpha2、foo1、foo10。 - **caBundle** ([]byte) **原子性:将在合并期间被替换** caBundle 是一个 PEM 编码的 CA 包,用于验证 API 服务器的服务证书。如果未指定, 则使用 API 服务器上的系统根证书。 - **group** (string) group 是此服务器主机的 API 组名称。 - **insecureSkipTLSVerify** (boolean) insecureSkipTLSVerify 代表在与此服务器通信时禁用 TLS 证书验证。强烈建议不要这样做。你应该使用 caBundle。 - **service** (ServiceReference) service 是对该 API 服务器的服务的引用。它只能在端口 443 上通信。如果 service 是 nil, 则意味着 API groupversion 的处理是在当前服务器上本地处理的。服务调用被直接委托给正常的处理程序链来完成。 **ServiceReference 保存对 Service.legacy.k8s.io 的一个引用。** - **service.name** (string) name 是服务的名称 - **service.namespace** (string) namespace 是服务的命名空间 - **service.port** (int32) 如果指定,则为托管 Webhook 的服务上的端口。为实现向后兼容,默认端口号为 443。 `port` 应该是一个有效的端口号(1-65535,包含)。 - **version** (string) version 是此服务器的 API 版本。例如:“v1”。 ## APIServiceStatus {#APIServiceStatus} APIServiceStatus 包含有关 API 服务器的派生信息
- **conditions** ([]APIServiceCondition) **补丁策略:基于键 `type` 合并** **Map:合并时将保留 type 键的唯一值** APIService 的当前服务状态。 **APIServiceCondition 描述 APIService 在特定点的状态** - **conditions.status** (string), 必需 status 表示状况(Condition)的状态,取值为 True、False 或 Unknown 之一。 - **conditions.type** (string), 必需 type 是状况的类型。 - **conditions.lastTransitionTime** (Time) 上一次发生状况状态转换的时间。 Time 是对 time.Time 的封装。Time 支持对 YAML 和 JSON 进行正确封包。为 time 包的许多函数方法提供了封装器。 - **conditions.message** (string) 指示上次转换的详细可读信息。 - **conditions.reason** (string) 表述状况上次转换原因的、驼峰格式命名的、唯一的一个词。 ## APIServiceList {#APIServiceList} APIServiceList 是 APIService 对象的列表。
- **apiVersion**: apiregistration.k8s.io/v1 - **kind**: APIServiceList - **metadata** (}}">ListMeta) 标准的列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **items** ([]}}">APIService), 必需 items 是 APIService 的列表 ## Operations {#Operations}
### `get` 读取指定的 APIService #### HTTP 请求 GET /apis/apiregistration.k8s.io/v1/apiservices/{name} #### 参数 - **name** (**路径参数**):string,必需 APIService 名称 - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 401: Unauthorized ### `get` 读取指定 APIService 的状态 #### HTTP 请求 GET /apis/apiregistration.k8s.io/v1/apiservices/{name}/status #### 参数 - **name** (**路径参数**):string,必需 APIService 名称 - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 401: Unauthorized ### `list` 列出或观察 APIService 类的对象 #### HTTP 请求 GET /apis/apiregistration.k8s.io/v1/apiservices #### 参数 - **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 (}}">APIServiceList): OK 401: Unauthorized ### `create` 创建一个 APIService #### HTTP 请求 POST /apis/apiregistration.k8s.io/v1/apiservices #### 参数 - **body**:}}">APIService必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 201 (}}">APIService): Created 202 (}}">APIService): Accepted 401: Unauthorized ### `update` 替换指定的 APIService #### HTTP 请求 PUT /apis/apiregistration.k8s.io/v1/apiservices/{name} #### 参数 - **name** (**路径参数**):string, 必需 APIService 名称 - **body**:}}">APIService必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 201 (}}">APIService): Created 401: Unauthorized ### `update` 替换指定 APIService 的 status #### HTTP 请求 PUT /apis/apiregistration.k8s.io/v1/apiservices/{name}/status #### 参数 - **name**(**路径参数**):string, 必需 APIService 名称 - **body**:}}">APIService必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 201 (}}">APIService): Created 401: Unauthorized ### `patch` 部分更新指定的 APIService #### HTTP 请求 PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name} #### 参数 - **name**(**路径参数**):string, 必需 APIService 名称 - **body**:}}">Patch必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **force** (**查询参数**):boolean }}">force - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 201 (}}">APIService): Created 401: Unauthorized ### `patch` 部分更新指定 APIService 的 status #### HTTP 请求 PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name}/status #### 参数 - **name**(**路径参数**):string, 必需 APIService 名称 - **body**:}}">Patch必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **force** (**查询参数**):boolean }}">force - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">APIService): OK 201 (}}">APIService): Created 401: Unauthorized ### `delete` 删除一个 APIService #### HTTP 请求 DELETE /apis/apiregistration.k8s.io/v1/apiservices/{name} #### 参数 - **name**(**路径参数**):string, 必需 APIService 名称 - **body**:}}">DeleteOptions - **dryRun** (**查询参数**):string }}">dryRun - **gracePeriodSeconds** (**查询参数**):integer }}">gracePeriodSeconds - **pretty** (**查询参数**):string }}">pretty - **propagationPolicy** (**查询参数**):string }}">propagationPolicy #### 响应 200 (}}">Status): OK 202 (}}">Status): Accepted 401: Unauthorized ### `deletecollection` 删除 APIService 集合 #### HTTP 请求 DELETE /apis/apiregistration.k8s.io/v1/apiservices #### 参数 - **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