Rails 5,Kubernetes和Google Container Engine

我正在testing我公司的一个新的基础设施,而且我被困住了。

我有一个使用Rails 5.1的dockerized spike项目,我试图通过Google Container Engine进行部署。 我读了所有可能的东西,但是我无法从我的IP地址中获得任何东西。

我的Rails应用程序的泊坞窗图像正确存储在谷歌云registry。

当我启动kubectl get services我得到的kubectl get services

 NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE spikedocker-web 10.3.244.145 xx.xxx.xx.xxx 80:32021/TCP 17m 

当我kubectl get deployments

 NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE spikedocker-web 2 2 2 2 1h 

当我kubectl get pods我得到

 NAME READY STATUS RESTARTS AGE spikedocker-web-506778213-djwb5 1/1 Running 0 1h spikedocker-web-506778213-xxbtm 1/1 Running 0 1h 

当我kubectl logs spikedocker-web-506778213-djwb5我得到

 => Booting Puma => Rails 5.1.0.rc1 application starting in production on http://0.0.0.0:3000 => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.8.2 (ruby 2.4.1-p111), codename: Sassy Salamander * Min threads: 5, max threads: 5 * Environment: production * Listening on tcp://0.0.0.0:80 Use Ctrl-C to stop 

据我所知,这一切似乎都很好。 我可以ping我的IP xx.xxx.xx.xxx,但就是这样,在端口3000上看不到任何东西。

我的configuration使用这两个文件, web-service.yaml

 apiVersion: v1 kind: Service metadata: name: spikedocker-web labels: app: spikedocker-web spec: type: LoadBalancer ports: - port: 80 targetPort: http-server selector: app: spikedocker-web 

web-deployment.yaml

 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: spikedocker-web labels: app: spikedocker-web spec: replicas: 2 template: metadata: labels: run: spikedocker-web spec: containers: - name: spikedocker-web image: eu.gcr.io/[my-app-id]/spike-docker-web:latest imagePullPolicy: Always ports: - name: http-server containerPort: 80 

编辑

kubectl describe service回归:

 Name: kubernetes Namespace: default Labels: component=apiserver provider=kubernetes Annotations: <none> Selector: <none> Type: ClusterIP IP: 10.3.240.1 Port: https 443/TCP Endpoints: 104.199.75.222:443 Session Affinity: ClientIP Events: <none> Name: spikedocker-web Namespace: default Labels: app=spikedocker-web Annotations: <none> Selector: app=spikedocker-web Type: LoadBalancer IP: 10.3.244.145 LoadBalancer Ingress: 35.187.79.219 Port: <unset> 80/TCP NodePort: <unset> 32021/TCP Endpoints: <none> Session Affinity: None Events: <none>