Set up an Extension API Server
Setting up an extension API server to work with the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs.
Before you begin
You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:
To check the version, enterkubectl version
.
- You must configure the aggregation layer and enable the apiserver flags.
Setup an extension api-server to work with the aggregation layer
The following steps describe how to set up an extension-apiserver at a high level. These steps apply regardless if you're using YAML configs or using APIs. An attempt is made to specifically identify any differences between the two. For a concrete example of how they can be implemented using YAML configs, you can look at the
Alternatively, you can use an existing 3rd party solution, such as
--runtime-config
). It should be on by default, unless it's been deliberately turned off in your cluster.<service name>.<service name namespace>.svc
system:auth-delegator
cluster role to delegate auth decisions to the Kubernetes core API server.extension-apiserver-authentication-reader
role. This allows your extension api-server to access the extension-apiserver-authentication
configmap.What's next