This appendix describes in detail how IT professionals and application developers can leverage the advantages of Docker, Kubernetes, SQL Server and Dell EMC servers and PowerMax storage and to deploy SQL servers with efficiency.
A SQL Server instance on Kubernetes with persistent storage on PowerMax provides resiliency and storage efficiency. Kubernetes plays the role of the cluster orchestrator. When a SQL Server instance in a container fails, the orchestrator bootstraps another instance of the container that attaches to the same persistent storage from PowerMax. If a node has failed, Kubernetes creates a pod on another healthy node.
Figure 14. SQL Server on Kubernetes architecture
In the preceding figure, mssql-server is a SQL Server instance (container) in a pod. The figure shows three instances of SQL Server running. Applications connect to the service to access the SQL Server. The service maps the external IP address and TCP port to the pod’s internal IP address and port. The service could be the Load Balancer type or the Cluster IP type, so that the IP address used to connect to SQL Server remains the same even in the event of a node or pod failure. When a node hosting a SQL Server instance pod fails, Kubernetes bootstraps a new pod with a SQL Server instance on a different, healthy node and attaches it to the same persistent storage.