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

2.2 KiB

title assignees
Configure the aggregation layer
lavalamp
cheftako
chenopis

{% 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.

{% endcapture %}

{% capture prerequisites %}

{% include task-tutorial-prereqs.md %}

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.

{% endcapture %}

{% 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>

The Kubernetes Architectural Roadmap recommends not running kube-proxy on the master. If you follow this recommendation, then you must make sure that the system is enabled with the following apiserver flag. Again, this may have already been taken care of by your provider.

--enable-aggregator-routing=true

{% endcapture %}

{% capture whatsnext %}

{% endcapture %}

{% include templates/task.md %}