You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md
+22-7
Original file line number
Diff line number
Diff line change
@@ -10,31 +10,46 @@ weight: 20
10
10
11
11
<!-- overview -->
12
12
13
-
The aggregation layer allows Kubernetes to be extended with additional APIs, beyond what is offered by the core Kubernetes APIs.
14
-
The additional APIs can either be ready-made solutions such as a [metrics server](https://github.com/kubernetes-sigs/metrics-server), or APIs that you develop yourself.
13
+
The aggregation layer allows Kubernetes to be extended with additional APIs, beyond what is
14
+
offered by the core Kubernetes APIs.
15
+
The additional APIs can either be ready-made solutions such as a
16
+
[metrics server](https://github.com/kubernetes-sigs/metrics-server), or APIs that you develop yourself.
15
17
16
-
The aggregation layer is different from [Custom Resources](/docs/concepts/extend-kubernetes/api-extension/custom-resources/), which are a way to make the {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} recognise new kinds of object.
which are a way to make the {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}}
21
+
recognise new kinds of object.
17
22
18
23
<!-- body -->
19
24
20
25
## Aggregation layer
21
26
22
-
The aggregation layer runs in-process with the kube-apiserver. Until an extension resource is registered, the aggregation layer will do nothing. To register an API, you add an _APIService_ object, which "claims" the URL path in the Kubernetes API. At that point, the aggregation layer will proxy anything sent to that API path (e.g. `/apis/myextension.mycompany.io/v1/…`) to the registered APIService.
27
+
The aggregation layer runs in-process with the kube-apiserver. Until an extension resource is
28
+
registered, the aggregation layer will do nothing. To register an API, you add an _APIService_
29
+
object, which "claims" the URL path in the Kubernetes API. At that point, the aggregation layer
30
+
will proxy anything sent to that API path (e.g. `/apis/myextension.mycompany.io/v1/…`) to the
31
+
registered APIService.
23
32
24
-
The most common way to implement the APIService is to run an *extension API server* in Pod(s) that run in your cluster. If you're using the extension API server to manage resources in your cluster, the extension API server (also written as "extension-apiserver") is typically paired with one or more {{< glossary_tooltip text="controllers" term_id="controller" >}}. The apiserver-builder library provides a skeleton for both extension API servers and the associated controller(s).
33
+
The most common way to implement the APIService is to run an *extension API server* in Pod(s) that
34
+
run in your cluster. If you're using the extension API server to manage resources in your cluster,
35
+
the extension API server (also written as "extension-apiserver") is typically paired with one or
36
+
more {{< glossary_tooltip text="controllers" term_id="controller" >}}. The apiserver-builder
37
+
library provides a skeleton for both extension API servers and the associated controller(s).
25
38
26
39
### Response latency
27
40
28
41
Extension API servers should have low latency networking to and from the kube-apiserver.
29
42
Discovery requests are required to round-trip from the kube-apiserver in five seconds or less.
30
43
31
-
If your extension API server cannot achieve that latency requirement, consider making changes that let you meet it.
44
+
If your extension API server cannot achieve that latency requirement, consider making changes that
45
+
let you meet it.
32
46
33
47
## {{% heading "whatsnext" %}}
34
48
35
49
* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/).
36
50
* Then, [setup an extension api-server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) to work with the aggregation layer.
37
51
* Read about [APIService](/docs/reference/kubernetes-api/cluster-resources/api-service-v1/) in the API reference
38
52
39
-
Alternatively: learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
53
+
Alternatively: learn how to
54
+
[extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
0 commit comments