mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-04 02:57:27 +09:00
The operator applies spec.affinity only when it creates or replaces a member Pod; it does not reschedule running members. Document that on the `affinity` value so operators do not expect the default (or a newly set rule) to redistribute already co-located members until each is replaced. Addresses the non-blocking review notes on #3962. Signed-off-by: Alexey Artamonov <aleksei.artamonov@aenix.io>
28 lines
1.7 KiB
YAML
28 lines
1.7 KiB
YAML
##
|
|
## @section Common parameters
|
|
##
|
|
|
|
## @param {string} [version] - etcd version (X.Y.Z) to run, set on the EtcdCluster's spec.version; the operator pulls etcd from its own configured image.
|
|
version: "3.6.11"
|
|
|
|
## @param {quantity} [size] - Persistent Volume size.
|
|
size: 4Gi
|
|
|
|
## @param {string} [storageClass] - StorageClass used to store the data.
|
|
storageClass: ""
|
|
|
|
## @param {int} [replicas] - Number of etcd replicas.
|
|
replicas: 3
|
|
|
|
## @typedef {struct} Resources - Resource configuration for etcd.
|
|
## @field {quantity} [cpu] - Number of CPU cores allocated.
|
|
## @field {quantity} [memory] - Amount of memory allocated.
|
|
|
|
## @param {Resources} [resources] - Resource configuration for etcd.
|
|
resources:
|
|
cpu: 1000m
|
|
memory: 512Mi
|
|
|
|
## @param {object} [affinity] - Affinity rules set verbatim on the EtcdCluster's spec.affinity, replacing the chart default. When left empty the chart applies a soft (preferred) podAntiAffinity that spreads members across nodes by kubernetes.io/hostname on a best-effort basis, so a single node failure is less likely to take out more than one member. The default is intentionally soft: a hard rule would leave a member Pending when there are fewer schedulable nodes than replicas, or when node-local storage pins a member to a node. Set a hard requiredDuringSchedulingIgnoredDuringExecution rule here to forbid co-location outright (only on clusters with enough nodes and non-node-pinned storage). Note that the operator applies affinity only when it creates or replaces a member Pod and does not reschedule running members, so on a cluster that already has co-located members the rule takes effect only as each member is replaced, not retroactively.
|
|
affinity: {}
|