diff --git a/docs/README.md b/docs/README.md index 713cde9c6..ed71f8439 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,6 +16,7 @@ Refer to [Installing Karmada](./installation/installation.md). - [Cluster Failover](./userguide/failover.md) - [Aggregated Kubernetes API Endpoint](./userguide/aggregated-api-endpoint.md) - [Customizing Resource Interpreter](./userguide/customizing-resource-interpreter.md) +- [Configuring Controllers](./userguide/configure-controllers.md) ## Best Practices @@ -23,6 +24,7 @@ Refer to [Installing Karmada](./installation/installation.md). ## Contributors +- [GitHub workflow](./contributors/guide/github-workflow.md) - [Cherry Pick Overview](./contributors/devel/cherry-picks.md) ## Reference diff --git a/docs/userguide/configure-controllers.md b/docs/userguide/configure-controllers.md new file mode 100644 index 000000000..d7fa8707d --- /dev/null +++ b/docs/userguide/configure-controllers.md @@ -0,0 +1,56 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Configure Controllers](#configure-controllers) + - [Controllers Overview](#controllers-overview) + - [Configure Controllers](#configure-controllers-1) + + + +# Configure Controllers + +Karmada maintains a bunch of controllers which are control loops that watch the state of your system, then make or +request changes where needed. Each controller tries to move the current state closer to the desired state. +See [Kubernetes Controller Concepts][1] for more details. + +## Controllers Overview + +The controllers are embedded into component of `karmada-controller-manager` or `karmada-agent` and will be launched +along with components startup. Some controllers may be shared by `karmada-controller-manager` and `karmada-agent`. + +| Controller | In karmada-controller-manager | In karmada-agent | +|------------------|-------------------------------|-----------------| +| cluster | Y | N | +| clusterStatus | Y | Y | +| binding | Y | N | +| execution | Y | Y | +| workStatus | Y | Y | +| namespace | Y | N | +| serviceExport | Y | Y | +| endpointSlice | Y | N | +| serviceImport | Y | N | +| unifiedAuth | Y | N | +| hpa | Y | N | + +## Configure Controllers + +You can use `--controllers` flag to specify the enabled controller list for `karmada-controller-manager` and +`karmada-agent`, or disable some of them in addition to the default list. + +E.g. Specify a controller list: +```bash +--controllers=cluster,clusterStatus,binding,xxx +``` + +E.g. Disable some controllers: +```bash +--controllers=-hpa,-unifiedAuth +``` +Use `-foo` to disable the controller named `foo`. + +> Note: The default controller list might be changed in the following release. The controllers enabled by last release +> might be disabled or deprecated and new controllers might be introduced too. Users who are using this flag should +> check the release notes before system upgrade. + +[1]: https://kubernetes.io/docs/concepts/architecture/controller/ \ No newline at end of file