Skip to main content

MSSQL Operator

The Solanica MSSQL Operator is a Kubernetes operator for running Microsoft SQL Server on Kubernetes. It manages SQL Server as two custom resources:

  • MSSQLInstance — one or more independent, standalone SQL Server instances.
  • MSSQLAvailabilityGroup — an Always-On Availability Group across replicas, with automatic failover.

It is a standalone product: you can install it into any Kubernetes cluster and drive it directly with kubectl, no additional platform required. If you run on the Solanica Platform, you can instead consume SQL Server through the higher-level MSSQL Provider, which builds on this operator. Both paths are fully supported — see Get Started to choose one.

Features​

  • Deploy one or more independent MSSQL instances via CRDs
  • Automatic StatefulSet + headless Service creation with correct MSSQL Linux defaults
  • SA password managed via a Kubernetes Secret
  • Resource requests/limits for Guaranteed QoS
  • Configurable persistent storage (single PVC or separate data/log/tempdb volumes)
  • Optional external Service (ClusterIP, LoadBalancer, NodePort) for client access
  • TLS transport encryption — on by default, auto-generated or bring-your-own certificates
  • Always-On Availability Groups — certificate-based endpoint authentication and automatic failover
  • Backup & restore to S3-compatible object storage via native SQL Server 2022+ BACKUP TO URL
  • Certificate rotation via pod annotation hashing (rolling restart on cert changes)
  • Status reporting (ready count, state, AG health)

Architecture​

The operator watches the custom resources and reconciles the underlying Kubernetes objects (StatefulSet, Services, Secrets, ConfigMaps) so that the running SQL Server topology always matches the declared spec.

Where to next​