Skip to main content
We’re overhauling Dgraph’s docs to make them clearer and more approachable. If you notice any issues during this transition or have suggestions, please let us know.
You can install a single server Dgraph cluster in Kubernetes.

Before you begin

Installing a single server Dgraph cluster

  1. Verify that you are able to access the nodes in the Kubernetes cluster:
    kubectl get nodes
    
    An output similar to this appears:
    NAME                                          STATUS   ROLES    AGE   VERSION
    <aws-ip-hostname>.<region>.compute.internal   Ready    <none>   1m   v1.15.11-eks-af3caf
    <aws-ip-hostname>.<region>.compute.internal   Ready    <none>   1m   v1.15.11-eks-af3caf
    
    After your Kubernetes cluster is up, you can use dgraph-single.yaml to start a Zero, Alpha, and Ratel UI services.
  2. Start a StatefulSet that creates a single Pod with Zero, Alpha, and Ratel UI:
    kubectl create --filename https://raw.githubusercontent.com/hypermodeinc/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml
    
    An output similar to this appears:
    service/dgraph-public created
    statefulset.apps/dgraph created
    
  3. Confirm that the Pod was created successfully.
    kubectl get pods
    
    An output similar to this appears:
    NAME       READY     STATUS    RESTARTS   AGE
    dgraph-0   3/3       Running   0          1m
    
  4. List the containers running in the Pod dgraph-0:
    kubectl get pods dgraph-0 -o jsonpath='{range .spec.containers[*]}{.name}{"\n"}{end}'
    
    An output similar to this appears:
    ratel
    zero
    alpha
    
    You can check the logs for the containers in the pod using kubectl logs --follow dgraph-0 <CONTAINER_NAME>.
  5. Port forward from your local machine to the Pod:
    kubectl port-forward pod/dgraph-0 8080:8080
    kubectl port-forward pod/dgraph-0 8000:8000
    
  6. Go to http://localhost:8000 to access Dgraph using the Ratel UI.

Deleting Dgraph single server resources

Delete all the resources using:
kubectl delete --filename https://raw.githubusercontent.com/hypermodeinc/dgraph/master/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml
kubectl delete persistentvolumeclaims --selector app=dgraph