Single Server Cluster Setup
You can install a single server Dgraph cluster in Kubernetes.
Before you begin
- Install kubectl.
- Ensure that you have a production-ready Kubernetes cluster running in a cloud provider of your choice.
- (Optional) To run Dgraph Alpha with TLS, see TLS Configuration.
Installing a single server Dgraph cluster
-
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.
-
Start a StatefulSet that creates a single Pod with
Zero
,Alpha
, andRatel UI
:kubectl create --filename https://raw.githubusercontent.com/dgraph-io/dgraph/main/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml
An output similar to this appears:
service/dgraph-public created statefulset.apps/dgraph created
-
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
-
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>
. -
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
-
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/dgraph-io/dgraph/main/contrib/config/kubernetes/dgraph-single/dgraph-single.yaml
kubectl delete persistentvolumeclaims --selector app=dgraph