嗨,我正在尝试使用kubernetes在mongo数据库和nodejs应用程序之间进行通信。一切顺利。但我无法从外部环境访问我的api。我也无法远程登录端口。
apiVersion: v1
kind: Service
metadata:
name: node
labels:
app: node
tier: backend
spec:
type: NodePort
ports:
- port: 3000
nodePort: 30005
externalIPs:
- 34.73.154.127
# # Replace with the IP of your minikube node / master node
# selector:
# app: node
# tier: backend
这是我的服务Yaml文件
当我使用命令检查端口状态时
sudo lsof -i:30005
我可以看到如下结果COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
kube-prox 2925 root 8u IPv6 32281 0t0 TCP *:30005 (LISTEN)
现在我应该能够使用ip telnet端口
telnet 34.73.154.127 30005
,但我得到如下结果。Trying 34.73.154.127...
telnet: Unable to connect to remote host: Connection refused
如果我的 friend 中有人建议端口未打开,请注意,我已经从任何地方打开了所有端口范围。
我想让您知道的另一件事是,我在端口30006上本地使用npm部署了一个示例节点应用程序,并且能够在该端口上进行telnet。因此得出的结论是,所有端口范围都是开放的并且可以使用。
这是服务的描述命令结果
kubectl describe service/node
结果:Name: node
Namespace: default
Labels: app=node
tier=backend
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"node","tier":"backend"},"name":"node","namespace":"defau...
Selector: <none>
Type: NodePort
IP: 10.102.42.145
External IPs: 34.73.154.127
Port: <unset> 3000/TCP
TargetPort: 3000/TCP
NodePort: <unset> 30005/TCP
Endpoints: <none>
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
请让我知道我怎么了..
ENVIRONMENT:
cloud :google cloud platform
container :using docker and kubernetes
ubuntu 16.04 LTS
kubernetes 1.13.0
最佳答案
嗨,我犯了一个愚蠢的错误。
只是在我的服务yaml文件中未对此进行注释,它开始起作用
# # Replace with the IP of your minikube node / master node
# selector:
# app: node
# tier: backend
关于kubernetes - Kubernetes服务运行正常,但无法从外部访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54784386/