我正在使用谷歌的容器引擎服务,并获得一个运行服务器的pod在端口3000上侦听.我设置了服务以将端口80连接到该容器的端口3000.我能够使用其本地和公共IP来卷曲服务在节点内,但不是从外部.我设置了防火墙规则以允许端口80并将其发送到节点,但我不断从网络外部获得"连接被拒绝".我试图在没有转发规则的情况下这样做,因为只有一个pod,看起来转发规则需要花钱并进行负载平衡.我认为防火墙规则有效,因为当我添加createExternalLoadBalancer: true到服务的规范时,转发规则创建的外部IP按预期工作.我还需要做点什么吗?设置路线或什么?
controller.yaml
kind: ReplicationController
apiVersion: v1beta3
metadata:
name: app-frontend
labels:
name: app-frontend
app: app
role: frontend
spec:
replicas: 1
selector:
name: app-frontend
template:
metadata:
labels:
name: app-frontend
app: app
role: frontend
spec:
containers:
- name: node-frontend
image: gcr.io/project_id/app-frontend
ports:
- name: app-frontend-port
containerPort: 3000
targetPort: 3000
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
service.yaml
kind: Service
apiVersion: v1beta3
metadata:
name: app-frontend-service
labels:
name: app-frontend-service
app: app
role: frontend
spec:
ports:
- port: 80
targetPort: app-frontend-port
protocol: TCP
publicIPs:
- 123.45.67.89
selector:
name: …Run Code Online (Sandbox Code Playgroud) 假设我已经在配置文件中为我编写的某些类注册了额外的命名空间"Tracker_"
autoloadernamespaces[]="Tracker_"
Run Code Online (Sandbox Code Playgroud)
具有此命名空间和自动加载器的东西按预期工作,除非我正在测试错误处理.当我测试是否存在不存在的类时,使用
class_exists("Tracker_DoesNotExist");
Run Code Online (Sandbox Code Playgroud)
它引发了一个例外
include_once(Tracker/DoesNotExist.php): failed to open stream: No such file or directory
/path/Zend/Loader.php:146
/path/Zend/Loader.php:146
/path/Zend/Loader.php:94
/path/Zend/Loader/Autoloader.php:479
/path/Zend/Loader/Autoloader.php:124
/other/path/TrackablesMapper.php:40 //line referenced above
Run Code Online (Sandbox Code Playgroud)
同时,相同的class_exists函数适用于我测试的每个其他情况,即
class_exists("Application_ExistingClass"); //returns true
class_exists("Application_NonExistingClass"); //returns false
class_exists("Tracker_ExistingClass"); //returns true
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?