Skip to content
Merged
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
2 changes: 1 addition & 1 deletion calico-cloud/multicluster/services-controller.mdx
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)

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
description: Reference content for the kube-controllers component in Calico Cloud connected clusters that watches Kubernetes API events and reconciles cluster state.
description: kube-controllers is a set of Kubernetes controllers for Calico Cloud.
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).
1 change: 0 additions & 1 deletion calico-cloud/reference/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ APIs, CLI, architecture and design, and FAQ.
<DocCardLinkLayout>
<DocCardLink docId='reference/component-resources/configuration' />
<DocCardLink docId='reference/component-resources/configure-resources' />
<DocCardLink docId='reference/component-resources/kube-controllers/configuration' />
<DocCardLink docId='reference/component-resources/kube-controllers/prometheus' />
<DocCardLink docId='reference/component-resources/node/configuration' />
<DocCardLink docId='reference/component-resources/node/felix/configuration' />
Expand Down
10 changes: 8 additions & 2 deletions calico-cloud/reference/resources/kubecontrollersconfig.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ import Selectors from '@site/calico-cloud/_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/services-controller.mdx) for the usage guide.
- **Load balancer controller** — manages IPAM for Services of type `LoadBalancer`.

## Sample YAML

Expand Down Expand Up @@ -101,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/services-controller.mdx).

| Field | Description | Schema | Default |
| ---------------- | ---------------------------------------------------------------- | --------------------------------- | ------- |
Expand Down
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)

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
description: Reference content for the kube-controllers component in Calico Cloud connected clusters that watches Kubernetes API events and reconciles cluster state.
description: kube-controllers is a set of Kubernetes controllers for Calico Cloud.
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 @@ -68,7 +68,6 @@ APIs, CLI, architecture and design, and FAQ.
<DocCardLinkLayout>
<DocCardLink docId='reference/component-resources/configuration' />
<DocCardLink docId='reference/component-resources/configure-resources' />
<DocCardLink docId='reference/component-resources/kube-controllers/configuration' />
<DocCardLink docId='reference/component-resources/kube-controllers/prometheus' />
<DocCardLink docId='reference/component-resources/node/configuration' />
<DocCardLink docId='reference/component-resources/node/felix/configuration' />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ import Selectors from '@site/calico-cloud_versioned_docs/version-22-2/_includes/

# 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/services-controller.mdx) for the usage guide.
- **Load balancer controller** — manages IPAM for Services of type `LoadBalancer`.
Comment on lines +13 to +15

## Sample YAML

Expand Down Expand Up @@ -101,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/services-controller.mdx).

| Field | Description | Schema | Default |
| ---------------- | ---------------------------------------------------------------- | --------------------------------- | ------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -710,7 +710,6 @@
"id": "reference/component-resources/kube-controllers/index"
},
"items": [
"reference/component-resources/kube-controllers/configuration",
"reference/component-resources/kube-controllers/prometheus"
]
},
Expand Down
1 change: 0 additions & 1 deletion sidebars-calico-cloud.js
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,6 @@ module.exports = {
label: 'Calico Cloud 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
Loading