Skip to content

Latest commit

 

History

History
 
 

kubernetes

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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

kubectl
minikube or kubeadm
docker

Build Kudu Docker Image

../../docker/docker-build.sh

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.110.150.101   <none>        8051:30082/TCP      8m2s
kudu-masters     ClusterIP   None             <none>        8051/TCP,8050/TCP   8m2s
kudu-tservers    ClusterIP   None             <none>        7050/TCP,7051/TCP   8m2s
tiller-deploy    ClusterIP   10.96.104.11     <none>        44134/TCP           47h

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    2/3     16s
kudu-tserver   3/3     16s


NAME                             READY   STATUS    RESTARTS   AGE
kudu-master-0                    1/1     Running   0          9m9s
kudu-master-1                    1/1     Running   0          9m9s
kudu-master-2                    1/1     Running   0          9m9s
kudu-tserver-0                   1/1     Running   0          9m19s
kudu-tserver-1                   1/1     Running   0          9m5s
kudu-tserver-2                   1/1     Running   0          9m5s

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