You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[`EncryptionConfiguration`](/docs/reference/config-api/apiserver-encryption.v1/). `--encryption-provider-config-automatic-reload` boolean argument determines if the file set by `--encryption-provider-config` should be automatically reloaded if the disk contents change. This enables key rotation without API server restarts. An example configuration is provided below.
31
30
32
31
{{< caution >}}
33
32
**IMPORTANT:** For high-availability configurations (with two or more control plane nodes), the
Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/kms-provider.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,6 +153,8 @@ defined in a CustomResourceDefinition, your cluster must be running Kubernetes v
153
153
154
154
1. Set the `--encryption-provider-config` flag on the kube-apiserver to point to the location of the configuration file.
155
155
156
+
1.`--encryption-provider-config-automatic-reload` boolean argument determines if the file set by `--encryption-provider-config` should be automatically reloaded if the disk contents change. This enables key rotation without API server restarts.
@@ -202,6 +204,23 @@ defined in a CustomResourceDefinition, your cluster must be running Kubernetes v
202
204
timeout: 3s
203
205
```
204
206
207
+
Setting `--encryption-provider-config-automatic-reload` to `true` collapses all health checks to a single health check endpoint. Individual health checks are only available when KMS v1 providers are in use and the encryption config is not auto-reloaded.
208
+
209
+
Following table summarizes the health check endpoints for each KMS version:
210
+
211
+
| KMS configurations | Without Automatic Reload | With Automatic Reload |
| KMS v1 only | Individual Healthchecks | Single Healthcheck |
214
+
| KMS v2 only | Single Healthcheck | Single Healthcheck |
215
+
| Both KMS v1 and v2 | Individual Healthchecks | Single Healthcheck |
216
+
| No KMS | None | Single Healthcheck |
217
+
218
+
`Single Healthcheck`means that the only health check endpoint is `/healthz/kms-providers`.
219
+
220
+
`Individual Healthchecks` means that each KMS plugin has an associated health check endpoint based on its location in the encryption config: `/healthz/kms-provider-0`, `/healthz/kms-provider-1` etc.
221
+
222
+
These healthcheck endpoint paths are hard coded and generated/controlled by the server. The indices for individual healthchecks corresponds to the order in which the KMS encryption config is processed.
223
+
205
224
Until the steps defined in [Ensuring all secrets are encrypted](#ensuring-all-secrets-are-encrypted) are performed, the `providers` list should end with the `identity: {}` provider to allow unencrypted data to be read. Once all resources are encrypted, the `identity` provider should be removed to prevent the API server from honoring unencrypted data.
206
225
207
226
For details about the `EncryptionConfiguration` format, please check the
0 commit comments