Kubernetes and Helm: Deployment & Management
Deploying and Managing Connexion with Kubernetes and Helm
Kubernetes support is not only a scaling feature. It allows organizations that already operate a shared Kubernetes platform to install, upgrade, configure, observe, and remove Connexion using the same Helm-based processes they use for software from other vendors.
This is especially useful in large organizations where a central platform team owns clusters, networking, security policy, registries, secrets, monitoring, and deployment automation. Connexion can fit into that operating model without requiring the platform team to treat each application server as a manually maintained machine.
This page describes the deployment and lifecycle-management contract. Dynamic pod scaling and the production-like EKS test are covered separately in Cloud Integration: Kubernetes Dynamic Scaling.
Why Helm Matters
Helm packages the Kubernetes resources required by Connexion as a versioned release. The same command can perform an initial installation or upgrade an existing release:
helm upgrade --install connexion oci://<registry>/connexion \
--version <chart-version> \
--namespace connexion \
--create-namespace \
-f connexion-production-values.yaml \
--atomic \
--wait \
--timeout 30mAfter the customer supplies the cluster, databases, images, values, and referenced Secrets, Helm coordinates the Connexion-specific Kubernetes resources and release ordering.
This gives platform teams familiar operational properties:
A declarative, reviewable values file instead of manual server-by-server setup.
A versioned chart and immutable container images.
Repeatable installation across development, test, and production clusters.
Standard release history through
helm history.Controlled rolling replacement of application-server pods.
Integration with GitOps and CI/CD systems that already understand Helm.
Kubernetes-native health, service discovery, policy, placement, and observability.
Helm does not replace the Connexion installer or database upgrade logic. Helm coordinates Kubernetes resources; Connexion-owned bootstrap commands create or upgrade the databases, accounts, runtime catalog, and seeded product configuration.
Responsibility Model
Area | Typical Owner | Responsibility |
|---|---|---|
Kubernetes cluster and nodes | Customer platform team | Cluster lifecycle, capacity, supported Kubernetes versions, node security, and availability zones. |
Container and chart registry | Customer platform team or Conevity | Store immutable, versioned Connexion images and Helm charts. |
Helm chart | Conevity | Define supported Kubernetes resources, hooks, probes, rollout behavior, and configuration inputs. |
Databases | Customer database/platform team | Provide supported PostgreSQL or SQL Server targets, backups, high availability, capacity, and credentials. |
Secrets | Customer security/platform team | Supply database credentials, bootstrap inputs, registry access, certificates, and integrations using Kubernetes Secrets or an external secret controller. |
Connexion configuration | Connexion administrator | Define product behavior such as repositories, listeners, routing, and management settings. |
Release execution | Customer platform or application team | Promote chart/image versions and values through the organization's deployment pipeline. |
Application validation | Connexion administrator and platform team | Confirm health, channel placement, frontends, metrics, logs, and database state after a release. |
This separation lets Connexion run on a shared Kubernetes platform without requiring the chart to own the customer's database service, secret manager, ingress standard, or observability stack.
What the Connexion Chart Manages
The chart can manage these Kubernetes resources:
Connexion app-server
Deployment.Stable
Serviceresources for UI/management, health, MCP, metrics, APIs, and configured listeners.Startup, readiness, and liveness probes.
Service account and limited RBAC used for Kubernetes scaling status and optional route publication.
HorizontalPodAutoscalerwhen Kubernetes-managed scaling is enabled.PodDisruptionBudgetfor voluntary disruption.Bootstrap and runtime-catalog Jobs.
References to customer-owned Secrets.
Resource requests and limits, topology spread, node selection, affinity, and tolerations.
Optional Kubernetes Gateway API route publication.
The chart does not need to create the Kubernetes cluster, database service, enterprise secret manager, monitoring platform, or organization-wide ingress controller. Those remain platform prerequisites and can differ between customers.
Required Inputs
A production release normally supplies:
A versioned Connexion application-server image.
A matching versioned container-bootstrap image.
A Helm chart version that declares compatible application images.
A bootstrap request describing the database provider and target databases.
Connexion product configuration to seed or update.
Database administrator, runtime, and initial Connexion administrator credentials through Secrets.
A runtime bootstrap Secret containing the configuration database provider and connection string.
Customer-specific resource sizing, Service type, annotations, topology, and scaling values.
A license sized for the maximum useful application-server replica count.
Passwords and bearer tokens should not be placed in values files, command-line arguments, or committed JSONC configuration. The chart references Kubernetes Secrets; an organization may populate those Secrets directly or through its existing external-secret controller.
Initial Installation
Connexion supports repeatable first-time installation as a Helm release. The customer supplies the Kubernetes environment, database services, images, configuration values, and referenced Secrets; the chart coordinates the Connexion-specific preparation and application resources.
Required database and runtime preparation completes before application pods are made available. Kubernetes health checks keep traffic away from a pod until Connexion is ready, and an unsuccessful preparation step fails the release rather than presenting a partially initialized deployment as healthy.
Rolling Upgrades
Connexion supports controlled rolling upgrades through a versioned Helm release. A matching chart and set of immutable images are promoted together, required preparation completes first, and Kubernetes then replaces application-server pods progressively.
New pods must become Ready before they serve traffic. Pods being replaced are given time to release assigned work and shut down cleanly. The standard strategy replaces capacity sequentially so the release can remain within its licensed application-server count; customers with spare license and cluster capacity may choose a surge strategy.
Availability During a Roll
With two or more healthy replicas and a rolling-compatible release, Connexion can remain available while pods are upgraded sequentially. Startup and readiness checks, controlled pod replacement, graceful termination, disruption protection, and a stable Service work together to keep usable capacity online.
Work assigned to a replaced pod is moved to another active application server. Individual channel groups may briefly stop and restart during that move, while the Connexion frontend remains stable throughout the rollout.
Database Compatibility Is the Upgrade Boundary
Database compatibility determines the upgrade method. Releases whose application and database versions are mutually compatible can use a rolling upgrade. If a release does not support mixed application versions against the upgraded database, stop all application servers, perform the database and application upgrade together, and then restart the deployment. This requires a short maintenance window. Downgrades follow the release-specific downgrade procedure.
Upgrade and Rollback Operations
Upgrades use the organization's normal Helm or GitOps release process, including release review, rollout monitoring, health validation, and recorded release history.
Downgrades follow release-specific downgrade procedures. Helm rollback is appropriate only where the target application and current database remain compatible.
Configuration Changes
There are three common types of change:
Helm values change
Resource limits, Service annotations, topology, scaling, and other pod-template values are changed through Helm values. A pod-template change produces a controlled Deployment rollout.
Secret rotation
The platform team updates the referenced Secret and performs a controlled rollout so new pods receive the new value. Secret rotation should be tested for database reconnect behavior and should never require storing the cleartext password in product configuration.
Connexion product-configuration reseed
The operator updates the customer-owned product-configuration Secret, then runs a normal Helm upgrade so the pre-upgrade bootstrap hook imports the new configuration. If the running process has cached the old configuration, explicitly restart the Deployment after the successful reseed:
kubectl -n connexion rollout restart deployment/connexion
kubectl -n connexion rollout status deployment/connexion --timeout=30mThe separation is intentional: Helm values describe deployment behavior, while Connexion configuration describes product behavior.
Day-Two Management
Common platform operations use standard Kubernetes and Helm interfaces:
# Release and rollout state
helm -n connexion status connexion
helm -n connexion history connexion
kubectl -n connexion get deployment,pods,svc,hpa,pdb
# Health and logs
kubectl -n connexion describe deployment connexion
kubectl -n connexion logs deployment/connexion --all-pods --tail=200
kubectl -n connexion get events --sort-by=.metadata.creationTimestamp
# Scale or restart when HPA is disabled
kubectl -n connexion scale deployment/connexion --replicas=<count>
kubectl -n connexion rollout restart deployment/connexion
# Remove Kubernetes resources while retaining external databases
helm -n connexion uninstall connexionUninstalling a Helm release removes chart-managed Kubernetes resources. It should not automatically destroy customer databases or other external durable services. Reinstalling against retained, compatible databases should recreate the Kubernetes workload without losing product configuration or message data.