小编rwi*_*n04的帖子

如何在没有转发规则的情况下将kubernetes pod连接到外部世界(谷歌容器引擎)

我正在使用谷歌的容器引擎服务,并获得一个运行服务器的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)

firewall kubernetes google-kubernetes-engine

4
推荐指数
1
解决办法
1万
查看次数

为什么如果存在不存在的类,则zend自动加载器测试会导致错误?

假设我已经在配置文件中为我编写的某些类注册了额外的命名空间"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)

难道我做错了什么?

php zend-framework namespaces zend-autoloader

3
推荐指数
1
解决办法
1631
查看次数