This page describes how to install Metacontroller, either to develop your own controllers or just to run third-party controllers that depend on it.
- Kubernetes v1.8+ is recommended for the improved CRD support, especially garbage collection on custom resources.
- You should have
kubectlavailable and configured to talk to the desired cluster.
Grant yourself cluster-admin (GKE only)
Due to a known issue
in GKE, you’ll need to first grant yourself
cluster-admin privileges before
you can install the necessary RBAC manifests.
kubectl create clusterrolebinding <user>-cluster-admin-binding --clusterrole=cluster-admin --user=<user>@<domain>
<domain> above based on the account you use to authenticate to GKE.
# Create 'metacontroller' namespace, service account, and role/binding. kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/metacontroller/master/manifests/metacontroller-rbac.yaml # Create CRDs for Metacontroller APIs, and the Metacontroller StatefulSet. kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/metacontroller/master/manifests/metacontroller.yaml
If you prefer to build and host your own images, please see the build instructions in the contributor guide.
The Metacontroller server has a few settings that can be configured
with command-line flags (by editing the Metacontroller StatefulSet
||Set the logging verbosity level (e.g.
||How often to refresh discovery cache to pick up newly-installed resources (e.g.
||How often to flush local caches and relist objects from the API server (e.g.