I have a kubernetes-cluster setup and running. I deployed Heron on my Kubernetes Cluster and I'm able to access the Heron UI.
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bookie ClusterIP None <none> 3181/TCP 5d
default-http-backend ClusterIP 10.152.183.24 <none> 80/TCP 5d
heron-apiserver NodePort 10.152.183.99 <none> 9000:30703/TCP 5d
heron-tracker ClusterIP 10.152.183.30 <none> 8888/TCP 5d
heron-ui ClusterIP 10.152.183.29 <none> 8889/TCP 5d
kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 5d
zookeeper ClusterIP None <none> 2888/TCP,3888/TCP,2181/TCP 5d
Visiting http://localhost:8001/api/v1/namespaces/default/services/heron-ui:8889/proxy/topologies
in my browser gives me my Heron UI but when I try to deploy my topology i keep getting the same error.
heron submit kubernetes \
--service-url=http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver:9000/proxy \
./target/heron-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar \
tutorial.WordCountTopology \
WordCountTopology Cluster \
[2018-06-05 11:00:23 +0000] [INFO]: Launching topology: 'WordCountTopology'
[2018-06-05 11:00:23 +0000] [INFO]: {'config_property': [], 'topology-file-name': './target/heron-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar', 'verbose': False, 'subcommand': 'submit', 'deploy_deactivated': False, 'submit_user': 'smasherke', 'cluster': 'kubernetes', 'extra_launch_classpath': '', 'deploy_mode': 'server', 'role': 'smasherke', 'dry_run_format': 'colored_table', 'dry_run': False, 'config_path': '/home/smasherke/.heron/conf', 'topology_main_jvm_property': [], 'environ': 'default', 'service_url': 'http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver:9000/proxy', 'topology-class-name': 'tutorial.WordCountTopology'}
[2018-06-05 11:00:24 +0000] [ERROR]: ('Connection aborted.', error(32, 'Broken pipe'))
[2018-06-05 11:00:24 +0000] [ERROR]: Failed to launch topology 'WordCountTopology'
using curl gives me the right results:
curl http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver:9000/proxy/api/v1/version
{
"heron.build.git.revision" : "ddbb98bbf173fb082c6fd575caaa35205abe34df",
"heron.build.git.status" : "Clean",
"heron.build.host" : "ci-server-01",
"heron.build.time" : "Sat Mar 31 09:27:19 UTC 2018",
"heron.build.timestamp" : "1522488439000",
"heron.build.user" : "release-agent",
"heron.build.version" : "0.17.8"
}
You might try adding a "--verbose" option in your "heron submit" command. It would give you more detailed information in log.
service-url changed to http://localhost:8001/api/v1/namespaces/default/services/heron-apiserver/proxy, see here for more information.