Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -206,4 +206,4 @@ subsets:
## Additional resources

- [Cluster mesh example for AWS](aws.mdx)
- [Federated service controller](../../reference/component-resources/kube-controllers/configuration.mdx)
- [Federated services controller](../../reference/resources/kubecontrollersconfig.mdx#federatedservicescontroller)
2 changes: 1 addition & 1 deletion calico-enterprise/operations/decommissioning-a-node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Manually remove a node from a cluster that is installed with Calico

## About decommissioning nodes

If you are running the [node controller](../reference/component-resources/kube-controllers/configuration.mdx)
If you are running the [node controller](../reference/resources/kubecontrollersconfig.mdx#nodecontroller)
or using the Kubernetes API datastore in policy-only mode, you do not need to manually decommission nodes.

In other configurations, you may need to manually decommission a node for one
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
description: kube-controllers is a set of Kubernetes controllers for Calico
description: kube-controllers is a set of Kubernetes controllers for Calico Enterprise.
hide_table_of_contents: true
---

# kube-controllers

import DocCardList from '@theme/DocCardList';
import { useCurrentSidebarCategory } from '@docusaurus/theme-common';
The `$[imageNames.kubeControllers]` container runs a set of controllers that monitor the Kubernetes API and reconcile cluster state with the $[prodname] datastore.

<DocCardList items={useCurrentSidebarCategory().items} />
- To configure the controllers, see the [KubeControllersConfiguration](../../resources/kubecontrollersconfig.mdx) resource reference.
- For exported Prometheus metrics, see [Prometheus statistics](prometheus.mdx).
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ import Selectors from '@site/calico-enterprise/_includes/content/_selectors.mdx'

# Kubernetes controllers configuration

A $[prodname] [Kubernetes controllers](../component-resources/kube-controllers/configuration.mdx) configuration resource (`KubeControllersConfiguration`) represents configuration options for the $[prodname] Kubernetes controllers.
A $[prodname] Kubernetes controllers configuration resource (`KubeControllersConfiguration`) configures the controllers that run inside the `$[imageNames.kubeControllers]` container. These controllers monitor the Kubernetes API and reconcile cluster state with the $[prodname] datastore.

The `$[imageNames.kubeControllers]` container can run the following controllers; each is enabled by including a corresponding block under `spec.controllers`, and disabled by omitting the block.

- **Node controller** — garbage collects IP addresses, cleans up $[prodname] node data when Kubernetes nodes are removed, and optionally creates and syncs host endpoints for each node.
- **Federated services controller** — watches Kubernetes services and endpoints locally and across all remote clusters defined through [RemoteClusterConfigurations](remoteclusterconfiguration.mdx), and programs Kubernetes endpoints for any locally-configured service that specifies a federation selector annotation. See [Configuring federated services](../../multicluster/federation/services-controller.mdx) for the usage guide.
- **Load balancer controller** — manages IPAM for Services of type `LoadBalancer`.

## Sample YAML

Expand Down Expand Up @@ -64,6 +70,7 @@ spec:
| ----------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------- |
| node | Enable and configure the node controller | omit to disable, or [NodeController](#nodecontroller) |
| federatedservices | Enable and configure the federated services controller | omit to disable, or [FederatedServicesController](#federatedservicescontroller) |
| loadbalancer | Enable and configure the load balancer controller | omit to disable, or [LoadBalancerController](#loadbalancercontroller) |

### NodeController

Expand Down Expand Up @@ -100,7 +107,7 @@ The node controller automatically cleans up configuration for nodes that no long

### FederatedServicesController

The federated services controller syncs Kubernetes services from remote clusters defined through [RemoteClusterConfigurations](remoteclusterconfiguration.mdx).
The federated services controller syncs Kubernetes services from remote clusters defined through [RemoteClusterConfigurations](remoteclusterconfiguration.mdx). It must have read access to the Kubernetes API to monitor `Service` and `Endpoints` events, and write access to update `Endpoints`. For the usage guide, see [Configuring federated services](../../multicluster/federation/services-controller.mdx).

| Field | Description | Schema | Default |
| ---------------- | ---------------------------------------------------------------- | --------------------------------- | ------- |
Expand Down
1 change: 0 additions & 1 deletion sidebars-calico-enterprise.js
Original file line number Diff line number Diff line change
Expand Up @@ -829,7 +829,6 @@ module.exports = {
label: 'Calico Enterprise Kubernetes controllers',
link: { type: 'doc', id: 'reference/component-resources/kube-controllers/index' },
items: [
'reference/component-resources/kube-controllers/configuration',
'reference/component-resources/kube-controllers/prometheus',
],
},
Expand Down
4 changes: 3 additions & 1 deletion static/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
/calico-enterprise/latest/threat/suspicious-external-ips /calico-cloud/latest/threat 301
/calico-enterprise/3.19/threat/suspicious-external-ips /calico-cloud/3.19/threat 301
/calico-cloud/threat/suspicious-external-ips /calico-cloud/threat 301
# kube-controllers configuration page collapsed into the resource page (DOCS-2914)
/calico-enterprise/latest/reference/component-resources/kube-controllers/configuration /calico-enterprise/latest/reference/resources/kubecontrollersconfig 301

# Redirect rules for old permalinks.

Expand Down Expand Up @@ -205,7 +207,7 @@
/reference/host-endpoints/donottrack https://docs.tigera.io/calico-enterprise/latest/reference/host-endpoints 301
/reference/host-endpoints/tutorial https://docs.tigera.io/calico-enterprise/latest/reference/host-endpoints 301
/reference/kube-controllers/ https://docs.tigera.io/calico-enterprise/latest/reference/component-resources/kube-controllers/ 301
/reference/kube-controllers/configuration https://docs.tigera.io/calico-enterprise/latest/reference/component-resources/kube-controllers/configuration 301
/reference/kube-controllers/configuration https://docs.tigera.io/calico-enterprise/latest/reference/resources/kubecontrollersconfig 301
/reference/kube-controllers/prometheus https://docs.tigera.io/calico-enterprise/latest/reference/component-resources/kube-controllers/prometheus 301
/reference/legal/ https://docs.tigera.io/calico-enterprise/latest/reference/attribution 301
/reference/node/ https://docs.tigera.io/calico-enterprise/latest/reference/component-resources/node/ 301
Expand Down
Loading