← All work

APISIX Gateway Upgrade

Apache APISIX gateway upgraded from v2.x to v3.1.0 on Kubernetes, with Go plugins, automated deployment, and validated graceful reloads.

Year
2023
Role
Backend and platform engineering
Stack
Go, Apache APISIX, Kubernetes, etcd, Prometheus, Grafana

Overview

The API gateway serving an enterprise storage client’s Kubernetes workloads needed to move from APISIX v2.x to v3.1.0 without dropping traffic, with custom Go plugins and automated deployment of every component.

The problem

Major version gateway upgrades risk dropped connections and broken plugins. Hand deployed components drift from the cluster definition, so the next upgrade starts from an unknown state.

What I built

  • Developed Go plugins for APISIX and automated deployment of APISIX and its components to the client’s Kubernetes cluster.
  • Upgraded the gateway from v2.x to v3.1.0 with the APISIX Ingress Controller, etcd, and Prometheus and Grafana observability.
  • Validated graceful reloads by holding a 20 GB in-flight upload until the transfer completed.
  • Hardened the surrounding gateway infrastructure with access controls and Kubernetes-native monitoring.

Impact

  • The gateway runs the supported major version with plugins intact and reloads validated under load.
  • Automated deployment means the next upgrade starts from a known state.