Skip to content

Conversation

dylantangredi-jakala
Copy link
Collaborator

@dylantangredi-jakala dylantangredi-jakala commented Oct 16, 2025

List of Changes

  • upgraded helm chart to v8.0.2
  • added rolling update strategy (maxUnavailable, maxSurge)
  • overridden deployment replicas to match HPA minReplica config

NOTE: upgraded in

  • DEV -> OK
  • UAT -> TODO
  • PROD -> TODO

Motivation and Context

This upgrade was required to address an issue with the rollout strategy and the autoscaler behaviour, where the pods would scale down to 1 during deploy instead of keeping the same number of pods and doing +1 -1 to avoid traffic congestion. Also replicas are set to match the autoscaling config during deploy, to avoid starting the service with 1 pod when there is relevant traffic on the service.
This also ensures zero-downtime deployments by keeping all existing pods running until new versions are healthy and ready, then replacing them one at a time.

How Has This Been Tested?

❯ helm dependency update
Getting updates for unmanaged Helm repositories...
...Successfully got an update from the "https://pagopa.github.io/aks-microservice-chart-blueprint" chart repository
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading microservice-chart from repo https://pagopa.github.io/aks-microservice-chart-blueprint
Deleting outdated charts
❯ kubectl get serviceaccount afm-workload-identity -n afm -o jsonpath='{.metadata.annotations.azure\.workload\.identity/client-id}'
2d36eff0-xxxxx
❯ helm upgrade --namespace afm \
    --install --values ./values-dev.yaml \
    --set microservice-chart.azure.workloadIdentityClientId=2d36eff0-xxxxx \
    --set microservice-chart.podAnnotations.force-rollout="rollout-$(date +%s)" \
    --wait --timeout 15m0s \
    pagopaafmutils .
Release "pagopaafmutils" has been upgraded. Happy Helming!
NAME: pagopaafmutils
LAST DEPLOYED: Thu Oct 16 16:23:30 2025
NAMESPACE: afm
STATUS: deployed
REVISION: 33
TEST SUITE: None
❯ kubectl get pods -n afm -l app.kubernetes.io/instance=pagopaafmutils
NAME                                                READY   STATUS    RESTARTS   AGE
pagopaafmutils-microservice-chart-f76cb5bf8-bn7n5   1/1     Running   0          2m20s
❯ kubectl get deployment -n afm -l app.kubernetes.io/instance=pagopaafmutils
NAME                                READY   UP-TO-DATE   AVAILABLE   AGE
pagopaafmutils-microservice-chart   1/1     1            1           2y250d
❯ kubectl get deployment -n afm -l app.kubernetes.io/instance=pagopaafmutils -o jsonpath='{.items[0].metadata.labels.helm\.sh/blueprint-version}'
8.0.2%

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

Copy link

Comment this PR with update_code to update openapi.json and format the code. Consider to use pre-commit to format the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant