react应用程序无法通过kubernetes访问



app-service.yaml

kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: app
name: app
spec:
type: NodePort
ports:
- name: "5000"
port: 5000
targetPort: 5000
nodePort: 31000
selector:
io.kompose.service: app
status:
loadBalancer: {}

app-deployment.yaml

kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: app
name: app
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: app
spec:
containers:
- image: jithinchowdary/todo_app:latest
name: app
ports:
- containerPort: 5000
resources: {}
restartPolicy: Always
selector:
matchLabels:
io.kompose.service: app
status: {}

mongodb-service.yaml

kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: mongodb
name: mongodb
spec:
ports:
- name: "27017"
port: 27017
targetPort: 27017
selector:
io.kompose.service: mongodb
status:
loadBalancer: {}

mongoodb-deployment.yaml

kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: mongodb
name: mongodb
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: mongodb
spec:
containers:
- image: mongo
name: mongodb
ports:
- containerPort: 27017
resources: {}
restartPolicy: Always
selector:
matchLabels:
io.kompose.service: mongodb
status: {}

使用kompose转换生成文件,docker镜像成功构建,服务器在端口5000上正常运行,已进入react应用程序并尝试启动服务器,但端口已在使用中,这意味着服务器正在运行,仍然无法访问应用程序无法访问端口31000,express服务器部署在5000,mongo 27017

NAME                          READY   STATUS    RESTARTS   AGE
pod/app-5944bf6886-jz79l      1/1     Running   0          80m
pod/mongodb-847948b5f-2clvp   1/1     Running   0          79m
NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/app          NodePort    10.106.129.159   <none>        5000:31000/TCP   80m
service/kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP          83m
service/mongodb      ClusterIP   10.107.146.128   <none>        27017/TCP        79m
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/app       1/1     1            1           80m
deployment.apps/mongodb   1/1     1            1           79m
NAME                                DESIRED   CURRENT   READY   AGE
replicaset.apps/app-5944bf6886      1         1         1       80m
replicaset.apps/mongodb-847948b5f   1         1         1       79m
curl 10.106.129.159:5000
ccurl: (7) Failed to connect to 10.106.129.159 port 5000: Operation timed out```

这里的NodePort是主机(vm(上的端口,请尝试<your_host_ip>:31000NodePort=>https://kubernetes.io/docs/concepts/services-networking/service/#nodeport您也可以尝试:5000来访问您的服务。

如果您使用的是minikube/deminisift,那么vm ip就是主机ip。如果你在多节点集群上运行它,

  1. oc get pods -o wide获取节点
  2. 则CCD_ 3获取ip

仅供参考。1.如果你想公开你的api,NodePort不是一个好的选择。2.不要使用"5000"作为服务名称

相关内容

  • 没有找到相关文章

最新更新