Gcloud Kubernetes连接拒绝公开服务

时间:2018-07-18 07:53:04

标签: docker kubernetes google-cloud-platform

我无法连接到部署在Google Could Kubernetes上的docker容器的公开IP。我曾经大致遵循this tutorial,但使用的是我自己的应用程序。

该部署似乎工作正常,当访问云仪表板时一切正常,并且正在运行,但是当尝试在公开IP上访问已部署的应用程序时,出现浏览器错误:

  

无法访问此网站   35.231.27.158拒绝连接

如果我对IP进行ping操作,则会收到回复。

kubectl get pods产生以下内容:

NAME                        READY     STATUS    RESTARTS   AGE
mtg-dash-7874f6c54d-nktjn   1/1       Running   0          21m

kubectl get service显示以下内容:

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
kubernetes   ClusterIP      10.7.240.1     <none>          443/TCP        23m
mtg-dash     LoadBalancer   10.7.242.240   35.231.27.158   80:30306/TCP   20m

kubectl describe svc显示以下内容:

Name:                     mtg-dash
Namespace:                default
Labels:                   run=mtg-dash
Annotations:              <none>
Selector:                 run=mtg-dash
Type:                     LoadBalancer
IP:                       10.7.242.240
LoadBalancer Ingress:     35.231.27.158
Port:                     <unset>  80/TCP
TargetPort:               8080/TCP
NodePort:                 <unset>  30306/TCP
Endpoints:                10.4.0.6:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason                Age   From                Message
  ----    ------                ----  ----                -------
  Normal  EnsuringLoadBalancer  37m   service-controller  Ensuring load balancer
  Normal  EnsuredLoadBalancer   37m   service-controller  Ensured load balancer

我的Dockerfile包含以下内容:

FROM nginx:alpine

COPY nginx.conf /etc/nginx/nginx.conf

WORKDIR /usr/share/nginx/html

COPY dist/mtg-dash .

我觉得我错过了明显的事情。

我还需要做些什么才能将其配置为可以在Internet上访问?

这是正在运行的服务的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:3)

根据注释,目标端口应为80,因为这是应用程序要监听的端口。很高兴我能帮助你。大约一个月前从文档中将其拾起。

https://kubernetes.io/docs/concepts/services-networking/service/