Skip to content

Update mixer deployment configuration#1906

Draft
juliawu wants to merge 19 commits into
datacommonsorg:masterfrom
juliawu:observation-pod-anti-affinity
Draft

Update mixer deployment configuration#1906
juliawu wants to merge 19 commits into
datacommonsorg:masterfrom
juliawu:observation-pod-anti-affinity

Conversation

@juliawu

@juliawu juliawu commented May 20, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Mixer Helm chart by hardcoding maxSurge to 1, introducing a soft pod anti-affinity configuration, and defining CPU requests for multiple service groups. Feedback suggests reverting the hardcoded maxSurge to a default value to maintain configurability and avoid slow deployments for large groups. Additionally, it is recommended to enable pod anti-affinity for other high-replica service groups to enhance fault tolerance.

Comment on lines +41 to +42
# Set to 1 to reduce resource overhead during deployment
maxSurge: 1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Hardcoding maxSurge to 1 removes the ability to customize the rollout strategy per service group and environment. This change ignores existing configurations such as maxSurge: 0 in deploy/helm_charts/envs/mixer_staging.yaml. Additionally, for large deployments (e.g., the recon group with 90 replicas in production), a maxSurge of 1 will significantly slow down the rollout process as it only creates one new pod at a time. It is recommended to use 1 as a default while still allowing overrides from values.yaml.

      # Set to 1 to reduce resource overhead during deployment, but allow overrides.
      maxSurge: {{ $group.maxSurge | default 1 }}
References
  1. For mixer container deployments, configuration keys can be added to the base values.yaml file to provide default values that are then overridden by environment-specific files.

Comment thread deploy/helm_charts/mixer/values.yaml Outdated
Comment on lines +464 to +465
cpuRequest: "1"
enableAntiAffinity: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Pod anti-affinity is currently only enabled for the observation group. Given that other service groups like recon and node also have a high number of replicas in production (90 and 60 respectively), it is recommended to enable anti-affinity for them as well. This ensures that replicas are spread across different nodes, improving the service's resilience to node failures.

References
  1. Configuration keys for mixer deployments can be added to the base values.yaml file to establish default behaviors across environments.

@juliawu juliawu changed the title Add cpuRequests, set maxSurge to 1, and add pod anti-affinity Update mixer deployment configuration May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant