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: {}
mongodb-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: {}
used kompose convert to generate the files, docker images are successfully built, server is running properly on port 5000, have entered react app pot and tried to start server got the error of port already in use, which means server is running, still not able to acess the app not able access on port 31000, express server deployed on 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```
The NodePort here is the port on the host(vm), try <your_host_ip>:31000
NodePort => https://kubernetes.io/docs/concepts/services-networking/service/#nodeport you can also try :5000 to access your service.
If you are using minikube/minishift, the vm ip is the host ip. If you are running it on a multi node cluster,
oc get pods -o wide
to get the node oc get node <node>
to get the ipFYI. 1. If you want to expose your api, NodePort is not a good option. 2. don't use "5000" as a service name
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.