我无法连接到部署在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上访问?
这是正在运行的服务的屏幕截图:
答案 0 :(得分:3)
根据注释,目标端口应为80,因为这是应用程序要监听的端口。很高兴我能帮助你。大约一个月前从文档中将其拾起。
https://kubernetes.io/docs/concepts/services-networking/service/