-
Notifications
You must be signed in to change notification settings - Fork 238
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* docs: add feature docs Signed-off-by: Alex Pana <[email protected]> * docs: also link from release notes Signed-off-by: Alex Pana <[email protected]> * Apply suggestions from code review --------- Signed-off-by: Alex Pana <[email protected]>
- Loading branch information
Showing
3 changed files
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Contents | ||
|
||
* [Pause actuation of resources onto the cloud provider](./pause.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Pause KCC | ||
|
||
> `Feature State`: `alpha` as of version v1.114 | ||
KCC can be configured to pause actuation of resouces on the cloud provider | ||
(GCP). K8s objects continue to be reconciled with the api server but any | ||
interaction with the cloud provider should be paused. This can be helpful for | ||
debugging purposes or to have a hot standby. | ||
|
||
## Pausing | ||
|
||
We extended the API definitions for the ConfigConnector and ConfigConnectorContext resources to | ||
support a new field, `spec.actuationMode`. The field's current supported values are `Reconciling` | ||
and `Paused` with `Reconciling` being the default for backwards compatiblity. | ||
As such, KCC can be "paused" both globally and on a per-namespace level if running in namespace mode | ||
|
||
### Pausing Globally | ||
|
||
To pause KCC across namespaces it is sufficient to set the ConfigConnector's `actuationMode: Paused`. This will work when KCC runs in `Cluster` and `Namespaced` mode. To eventually resume actuation just set the field back to `Reconciling`. | ||
|
||
### Pausing Per Namespace | ||
|
||
When KCC is running in `Namespaced` mode (and only then), operators can set | ||
`actuationMode: Paused` on the `ConfigConnectorContext` resource. To eventually | ||
resume actuation for that namespace set the field back to `Reconciling`. The `actuationMode` | ||
value on the `ConfigConnectorContext` takes precedence over the value in `ConfigConnector`. | ||
|
||
### Reconciling Per Namespace (only) | ||
|
||
It can be handy to have KCC globally paused but reconciling on a per | ||
namespace level. To do this make sure KCC is running in `Namespaced` mode | ||
and the `actuationMode: Paused` on the `ConfigConnector` resource. Then | ||
reconciling can be turned on for a namespace by changing the `actuationMode` | ||
field for the`ConfigConnectorContext` to `Reconciling` for that namespace. | ||
NOTE: you can avoid any pausing in actuation by first changing the | ||
`ConfigConnectorContext` actuationMode. | ||
|
||
## Caveats | ||
|
||
### Eventual state transitions & Jitter | ||
|
||
When you un-pause actuation, reconciliation will not happen immediately, but will instead start happening on the normal re-reconciliation interval (with jitter). We may enhance this behavior in future |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters