Tutorial: Upgrade the Access Server Helm Chart
How to upgrade Access Server deployed via the Helm Chart in your Kubernetes cluster.
Overview
Follow this tutorial to upgrade Access Server deployed via the Helm Chart in a Kubernetes (K8) cluster. Upgrading ensures your VPN server has the latest security patches, features, and improvements while retaining existing configurations and data.
When you upgrade, the existing pod running Access Server is deleted. Kubernetes automatically recreates the pod with the updated Helm Chart, preserving your configuration via the Persistent Volume Claim (PVC).
Prerequisites
A working Kubernetes cluster with your Access Server Helm Chart already deployed.
kubectl
and Helm CLI installed and configured to access your cluster.Access to the
values.yaml
file used for your deployment, if you need to modify the image version or others settings.
Connect to the console and get root privileges.
List the pods in your cluster to locate the Access Server pod:
kubectl get pods
Example output:
# kubectl get pods NAME READY STATUS RESTARTS AGE my-openvpn-as-openvpn-as-6b474c9757-jmjlc 1/1 Running 0 5m53s
Take note of the pod name; you'll need it for the next step.
Delete the running pod to trigger Kubernetes to recreate it with the updated Helm Chart:
kubectl delete pod <Pod Name>
Important
Replace
<Pod Name>
with the name of your Access Server pod.Example:
kubectl delete pod my-openvpn-as-openvpn-as-6b474c9757-jmjlc
Kubernetes will automatically recreate the pod with the same configuration, ensuring minimal downtime.
By default, this process uses the latest image tag from the Docker image. If you want to upgrade to a specific version instead:
Open your
values.yaml
file used for the Helm deployment.Modify the
image.tag
value to the desired version (e.g.,2.14.2-40b190d8-Ubuntu24
→2.14.3-5936bcd7-Ubuntu24
).Run the Helm upgrade command:
helm upgrade my-openvpn-as as-helm-chart/openvpn-as -f values.yaml
Important notes
Persistent configuration: Access Server stores its configuration in a Persistent Volume Claim (PVC) managed by the Helm Chart. All settings remain intact after the pod restarts or upgrades.
Downtime: The pod deletion and recreation cause a brief interruption. Connected VPN clients may need to reconnect automatically.
Version control: Always ensure that the image tag in your
values.yaml
matches the version you intend to deploy.