Home > Storage > PowerFlex > White Papers > Architecting Microsoft SQL Server 2019 Containers on Dell EMC PowerFlex > Kubernetes cluster deployment
The Kubernetes cluster is deployed on the same PowerFlex nodes that are described in the previous section. The cluster consists of eight worker nodes and one master node. One master node is hosted on a separate VM to avoid using resources from the worker nodes, whereas all other eight worker nodes are bare-metal servers. Kubernetes version 1.19 was used for this solution with the default docker run time engine and flanneld network.
The following table illustrates the Kubernetes node details:
Table 3. Kubernetes node details
Name | Status | Roles
| Age | Version |
K8smaster | Ready | Master | 173d | V1.19.1 |
node1.hci | Ready | <none> | 173d | V1.19.1 |
node2.hci | Ready | <none> | 173d | V1.19.1 |
node3.hci | Ready | <none> | 173d | V1.19.1 |
node4.hci | Ready | <none> | 173d | V1.19.1 |
node5.hci | Ready | <none> | 173d | V1.19.1 |
node6.hci | Ready | <none> | 173d | V1.19.1 |
node7.hci | Ready | <none> | 173d | V1.19.1 |
Node8.hci | Ready | <none> | 173d | V1.19.1 |
Perform the following high-level steps to deploy the Kubernetes cluster. For more information about the detailed steps, see Creating a cluster with Kubeadm:
The PowerFlex CSI driver is used to provide persistent storage to Kubernetes through the PowerFlex storage system. The CSI driver installs the custom resource definition (CRD) in the storage.dell.com API group and requires a few input parameters like the PowerFlex end point (gateway details) and system name to connect to the PowerFlex cluster. A secret key is created in the namespace to connect to the end point. This secret key has the credentials to connect to the PowerFlex cluster. Upon successful deployment of CRD, the following storage classes must be created in the cluster:
Table 4. Storage classes
Name | Provisioner | Reclaim policy
| Volume binding mode | Allow volume expansion | Age |
test-vxflexos-vxflexos | csi-vxflexos.dellemc.com | Delete | WaitForFirstCustomer | true | 54d |
test-vxflexos-vxflexos-xfs (default) | csi-vxflexos.dellemc.com | Delete | WaitForFirstCustomer | true | 54d |
These storage classes define the class of storage that the CSI uses to allocate PVs. There are multiple ways of installing the PowerFlex CSI plug-in, such as using Helm charts or Kubernetes operator. This solution refers to the Dell CSI operator method to install CSI drivers. The Dell CSI operator is a Kubernetes operator method to install and manage the CSI driver. This operator is available as a community operator for the upstream Kubernetes version.
The operator deploys the CSI controller pod on one of the worker nodes and eight vxflexos-nodes pods are deployed across eight worker nodes, as shown in the following table:
Table 5. CSI pods
Name | Ready | Status
| Node |
vxflexos-controller-5596d95f9d-rd778 | 5/5 | Running | node4.hci |
vxflexos-node-rd778 | 2/2 | Running | node4.hci |
vxflexos-node-z6kkj | 2/2 | Running | node6.hci |
vxflexos-node-ql6tw | 2/2 | Running | node8.hci |
vxflexos-node-95xd7 | 2/2 | Running | node1.hci |
vxflexos-node-m2cfp | 2/2 | Running | node7.hci |
vxflexos-node-xnrvd | 2/2 | Running | node5.hci |
vxflexos-node-6qwg7 | 2/2 | Running | node2.hci |
vxflexos-node-248gx | 2/2 | Running | node3.hci |
For more information about installing the CSI driver, see GitHub.