tree: 857149c4d3dd7b94977b3904b95ad0e0b36c244e [path history] [tgz]
  1. apiserver.yaml
  2. bookkeeper.yaml
  3. README.md
  4. tools.yaml
  5. zookeeper.yaml
deploy/kubernetes/minikube/README.md

Heron on Kubernetes via Minikube

Requirements:

Start minkube

It is recommended to start minikube with at least 7 GB of memory --memory=7168, 5 cpus --cpus=5 and 20 GB of storage --disk-size=20g

$ minikube start --memory=7168 --cpus=5 --disk-size=20g

Start Components:

  1. Start zookeeper:
$ kubectl create -f https://raw.githubusercontent.com/apache/incubator-heron/master/deploy/kubernetes/minikube/zookeeper.yaml

$ kubectl get pods
NAME                                  READY     STATUS    RESTARTS   AGE
zk-0                                  1/1       Running   0          1m

# wait until zk-0 STATUS is Running before proceeding to the next steps

  1. Start bookkeeper:
$ kubectl create -f https://raw.githubusercontent.com/apache/incubator-heron/master/deploy/kubernetes/minikube/bookkeeper.yaml
  1. Start heron tools:
$ kubectl create -f https://raw.githubusercontent.com/apache/incubator-heron/master/deploy/kubernetes/minikube/tools.yaml
  1. Start heron API server:
$ kubectl create -f https://raw.githubusercontent.com/apache/incubator-heron/master/deploy/kubernetes/minikube/apiserver.yaml

Deploy via heron API server

We will start a proxy to the cluster and then construct a proxy url to access the API server.

  1. Start kubectl proxy:
$ kubectl proxy -p 8001
  1. Verify we can access the API server:
$ curl http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver:9000/proxy/api/v1/version
{
   "heron.build.git.revision" : "bf9fe93f76b895825d8852e010dffd5342e1f860",
   "heron.build.git.status" : "Clean",
   "heron.build.host" : "ci-server-01",
   "heron.build.time" : "Sun Oct  1 20:42:18 UTC 2017",
   "heron.build.timestamp" : "1506890538000",
   "heron.build.user" : "release-agent1",
   "heron.build.version" : "0.16.2"
}
  1. Set service_url:
$ heron config kubernetes \
set service_url http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver:9000/proxy \
  1. Submit an example topology:
$ heron submit kubernetes ~/.heron/examples/heron-api-examples.jar \
org.apache.heron.examples.api.AckingTopology acking
  1. View heron ui:
http://localhost:8001/api/v1/namespaces/default/services/heron-ui:8889/proxy