website/content/en/docs/tasks/access-kubernetes-api/configure-aggregation-layer.md

2.1 KiB

title reviewers content_template weight
Configure the aggregation layer
lavalamp
cheftako
chenopis
templates/task 10

{{% capture overview %}}

Configuring the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs.

{{% /capture %}}

{{% capture prerequisites %}}

{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}

{{< note >}} Note: There are a few setup requirements for getting the aggregation layer working in your environment to support mutual TLS auth between the proxy and extension apiservers. Kubernetes and the kube-apiserver have multiple CAs, so make sure that the proxy is signed by the aggregation layer CA and not by something else, like the master CA. {{< /note >}}

{{% /capture %}}

{{% capture steps %}}

Enable apiserver flags

Enable the aggregation layer via the following kube-apiserver flags. They may have already been taken care of by your provider.

--requestheader-client-ca-file=<path to aggregator CA cert>
--requestheader-allowed-names=aggregator
--requestheader-extra-headers-prefix=X-Remote-Extra-
--requestheader-group-headers=X-Remote-Group
--requestheader-username-headers=X-Remote-User
--proxy-client-cert-file=<path to aggregator proxy cert>
--proxy-client-key-file=<path to aggregator proxy key>

If you are not running kube-proxy on a host running the API server, then you must make sure that the system is enabled with the following apiserver flag:

--enable-aggregator-routing=true

{{% /capture %}}

{{% capture whatsnext %}}

{{% /capture %}}