Skip to content

Latest commit

 

History

History
106 lines (71 loc) · 3.16 KB

README.adoc

File metadata and controls

106 lines (71 loc) · 3.16 KB

Building Kubernetes StatefulSet Kudu Cluster

Note
All of this work is experimental and subject to change or removal.

Getting Started

Kubernetes — container-orchestration system for automating application deployment, scaling, and management.

Note
Read more about Kubernetes here https://kubernetes.io/docs/tutorials/kubernetes-basics/

System Requirements

  • minikube or kubeadm to deploy your Kubernetes cluster. Start a Kubernetes cluster before running through the next steps

  • kubectl to run commands against the Kubernetes cluster

  • docker to serve containers

Build Kudu Docker Image

../../docker/docker-build.py

Creating Namespace

kubectl create -f ../namespace.yaml

Create Services for Kudu Masters and Kudu TServers

kubectl create -f kudu-services.yaml

Check status of kudu services:

kubectl get services -n apache-kudu

You should see below output on stdout

NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
kudu-master-ui   NodePort    10.108.52.243   <none>        8051:30239/TCP      87m
kudu-masters     ClusterIP   None            <none>        8051/TCP,7051/TCP   87m
kudu-tservers    ClusterIP   None            <none>        8050/TCP,7050/TCP   87m

Create StatefulSet for Kudu Masters and Kudu TServers

kubectl create -f kudu-statefulset.yaml

Check status of kudu statefulset:

kubectl get statefulset -n apache-kudu
kubectl get pods -n apache-kudu

You should see below output on stdout

NAME           READY   AGE
kudu-master    3/3     89m
kudu-tserver   4/4     89m


NAME             READY   STATUS    RESTARTS   AGE
kudu-master-0    1/1     Running   1          90m
kudu-master-1    1/1     Running   1          90m
kudu-master-2    1/1     Running   0          89m
kudu-tserver-0   1/1     Running   1          90m
kudu-tserver-1   1/1     Running   1          90m
kudu-tserver-2   1/1     Running   1          90m
kudu-tserver-3   1/1     Running   1          90m

Port Forward The Kudu Master UI

kubectl port-forward kudu-master-0 8051 -n apache-kudu
OR
minikube service kudu-master-ui --url -n apache-kudu

Destroy The Kudu Cluster

Destroy Services:

kubectl delete -f kudu-services.yaml

Destroy StatefulSets:

kubectl delete -f kudu-statefulset.yaml

Display Kudu Master Logs:

kubectl logs kudu-master-0 --namespace apache-kudu