SingleStore DB

Deploy a SingleStore DB Cluster

Now that your various object definition files are created, you will use kubectl to do the actual object creation and cluster deployment.

  1. Install the RBAC resources.

    kubectl create -f  rbac.yaml
    
  2. Install the MemSQL cluster resource definition.

    kubectl create -f memsql-cluster-crd.yaml
    
  3. Perform this step only if deploying on OpenShift Cluster.

    oc get namespace <the-namespace-you-want-to-deploy-in> \
    -o=jsonpath='{.metadata.annotations.openshift\.io/sa\.scc\.supplemental-groups}{"\n"}'
    

    This command will display output similar to 1096160000/10000. Note that the actual numbers may differ.

    Copy the number before the slash (/) and replace the value in --fs-group-id (which is currently 5555) with this number in the deployment.yaml file.

  4. Deploy the MemSQL Operator.

    kubectl create -f deployment.yaml
    
  5. Verify the deployment was successful by checking the status of the pods in your Kube cluster. You should see the MemSQL Operator with a status of Running.

    kubectl get pods
    
  6. Finally, create the cluster.

    kubectl create -f memsql-cluster.yaml
    
  7. After a couple minutes, run kubectl get pods again to verify the aggregator and leaf nodes all started and have a status of Running.

    kubectl get pods
    

    If you see no pods are in the Running state, then run kubectl get statefulsets to see if the statefulsets are running. If you need to debug an inoperable cluster, check the Operator logs by running kubectl logs deployment memsql-operator and then look at the various objects to see what is failing.