我有一个带有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!
答案 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网络和防火墙的更多详细信息。