Skip to content

Conversation

dylantangredi-jakala
Copy link
Collaborator

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

List of Changes

  • upgraded helm chart to v8.0.2 (NOTE: no autoscaling defined so no ScaledObject created for this service after upgrading and redeploying; the existing one was migrated anyway)
  • added rolling update strategy (maxUnavailable, maxSurge)
  • overridden deployment replicas to match HPA minReplica config

Motivation and Context

This upgrade was required to address an issue with the rollout strategy and the autoscaler behaviour (if it will be enabled on this service), 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 3 charts
Downloading microservice-chart from repo https://pagopa.github.io/aks-microservice-chart-blueprint
Already downloaded microservice-chart from repo https://pagopa.github.io/aks-microservice-chart-blueprint
Already downloaded microservice-chart from repo https://pagopa.github.io/aks-microservice-chart-blueprint
Deleting outdated charts
❯ ../../migrate_from_v7_to_v8.sh apiconfig-testing-support-postgresql apiconfig-testing-support apiconfig
scaledobject.keda.sh/apiconfig-testing-support-postgresql not labeled
scaledobject.keda.sh/apiconfig-testing-support-postgresql not labeled
scaledobject.keda.sh/apiconfig-testing-support-postgresql annotated
scaledobject.keda.sh/apiconfig-testing-support-postgresql annotated
❯ kubectl get scaledobject apiconfig-testing-support-postgresql -n apiconfig -o json | jq '{
    labels: {
      "app.kubernetes.io/instance": .metadata.labels."app.kubernetes.io/instance",
      "app.kubernetes.io/managed-by": .metadata.labels."app.kubernetes.io/managed-by"
    },
    annotations: {
      "meta.helm.sh/release-name": .metadata.annotations."meta.helm.sh/release-name",
      "meta.helm.sh/release-namespace": .metadata.annotations."meta.helm.sh/release-namespace"
    }
  }'
{
  "labels": {
    "app.kubernetes.io/instance": "apiconfig-testing-support",
    "app.kubernetes.io/managed-by": "Helm"
  },
  "annotations": {
    "meta.helm.sh/release-name": "apiconfig-testing-support",
    "meta.helm.sh/release-namespace": "apiconfig"
  }
}
❯ helm upgrade --namespace apiconfig \
    --install --values ./values-dev.yaml \
    --set postgresql.azure.workloadIdentityClientId=xxxxx \
    --set postgresql.podAnnotations.force-rollout="rollout-$(date +%s)" \
    --wait --timeout 15m0s \
    apiconfig-testing-support .
Release "apiconfig-testing-support" has been upgraded. Happy Helming!
NAME: apiconfig-testing-support
LAST DEPLOYED: Wed Oct 15 11:59:32 2025
NAMESPACE: apiconfig
STATUS: deployed
REVISION: 11
TEST SUITE: None
❯ kubectl get deployment apiconfig-testing-support-postgresql -n apiconfig -o jsonpath='{.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.

@dylantangredi-jakala dylantangredi-jakala self-assigned this Oct 6, 2025
@dylantangredi-jakala dylantangredi-jakala requested a review from a team as a code owner October 6, 2025 11:01
Copy link

github-actions bot commented Oct 6, 2025

This pull request does not contain a valid label. Please add one of the following labels: [patch, ignore-for-release]

Copy link

github-actions bot commented Oct 6, 2025

The default action is to increase the PATCH number of SEMVER. Set IGNORE-FOR-RELEASE if you want to skip SEMVER bump. BREAKING-CHANGE and NEW-RELEASE must be run from GH Actions section manually.

Copy link

github-actions bot commented Oct 6, 2025

The default action is to increase the PATCH number of SEMVER. Set IGNORE-FOR-RELEASE if you want to skip SEMVER bump. BREAKING-CHANGE and NEW-RELEASE must be run from GH Actions section manually.

Copy link

Copy link

Comment this PR with update_code to 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