我正在尝试使用Helm图表设置Flink Cluster(在2台机器上) . 我给了service.yaml,jobmanager-deployment.yaml和两个taskmanager-deployment.yaml文件 . 我能够看到Jobmanager仪表板UI,但我看到0个taskmanagers而不是2 .

当我检查taskmanager日志时,我看到以下错误:

2018-03-13 06:09:01,035 ERROR org.apache.flink.runtime.taskmanager.TaskManager              - Failed to run TaskManager.
java.net.UnknownHostException: helm-jobmanager-rpc: Name or service not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at java.net.InetAddress.getByName(InetAddress.java:1076)
    at org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils.getRpcUrl(AkkaRpcServiceUtils.java:172)
    at org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils.getRpcUrl(AkkaRpcServiceUtils.java:137)
    at org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.createHighAvailabilityServices(HighAvailabilityServicesUtils.java:79)
    at org.apache.flink.runtime.taskmanager.TaskManager$.selectNetworkInterfaceAndRunTaskManager(TaskManager.scala:1681)
    at org.apache.flink.runtime.taskmanager.TaskManager$$anon$2.call(TaskManager.scala:1592)
    at org.apache.flink.runtime.taskmanager.TaskManager$$anon$2.call(TaskManager.scala:1590)
    at org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
    at org.apache.flink.runtime.taskmanager.TaskManager$.main(TaskManager.scala:1590)
    at org.apache.flink.runtime.taskmanager.TaskManager.main(TaskManager.scala)

这里,

helm-jobmanager-rpc

是JOBMANAGER_RPC_ADDRESS环境变量(在部署yamls中),我用它来设置pods的flink-conf.yaml中的jobmanager.rpc.address属性 . 为什么在使用helm部署时,taskmanager pod无法解析它?

如果我尝试使用 kubectl create -f 命令进行部署,则此配置可正常工作 .

如果需要更多信息,请告诉我 .