在Google App Engine自定义运行时,我如何群集我的TomEE实例?

时间:2018-03-01 07:55:31

标签: google-app-engine tomee

我有一个带有Dockerfile的简单TomEE容器

FROM tomee:8-jre-7.0.4-plus

WORKDIR /usr/local/tomee/webapps/

COPY server.xml /usr/local/tomee/conf/server.xml
COPY test-app.war /usr/local/tomee/webapps/ROOT.war

RUN rm -rf /usr/local/tomee/webapps/ROOT

EXPOSE 8080
EXPOSE 4000-4100
EXPOSE 45564

这足以在我的机器中运行群集并获得正确的会话复制,但是当我部署到Google App Engine时,就像实例无法广播一样

这是我的app.yaml

runtime: custom
env: flex
automatic_scaling:
  min_num_instances: 2
  max_num_instances: 2
network:
  forwarded_ports: 
    - 4000
    - 4001
    - 4002
    - 4003
    - 45564

我发现本地日志与Google App Engine中的日志存在差异

01-Mar-2018 17:19:45.607 SEVERE [main] sun.reflect.NativeMethodAccessorImpl.invoke FarmWarDeployer can only work as host cluster subelement!

1 个答案:

答案 0 :(得分:1)

首先,我想修正App Engine位于Google Kubernetes Engine之上。 Google App Engine Flex(您的情况)是基于Google Compute Engine而构建的(https://cloud.google.com/appengine/docs/flexible/)。 Compute Engine的网络政策适用于Google App Engine Flexible。

因此,Google Compute Engine提供的可配置且灵活的虚拟私有云网络系统也适用于Google App Engine Flex。每个项目都提供有预设配置和防火墙规则的默认VPC网络,除非创建防火墙规则以明确允许流量,否则防火墙会阻止来自外部世界的所有流量到项目中的实例,甚至来自其他实例的流量。每个项目自动创建的默认VPC网络。)我认为您应该阅读链接(https://cloud.google.com/compute/docs/networks-and-firewalls)中的文章,了解有关VPC网络和防火墙的更多详细信息。