sample-node-app.yaml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. apiVersion: build.openshift.io/v1
  2. kind: BuildConfig
  3. metadata:
  4. name: node-server
  5. spec:
  6. source:
  7. type: Dockerfile
  8. dockerfile: |
  9. FROM registry.ocp4.example.com:8443/ubi8/nodejs-16:latest
  10. RUN echo "const http = require('http'); \
  11. const hostname = '0.0.0.0'; \
  12. const port = 4000; \
  13. const server = http.createServer((req, res) => { \
  14. res.statusCode = 200; \
  15. res.setHeader('Content-Type', 'text/plain'); \
  16. res.end('Hello World'); \
  17. }); \
  18. server.listen(port, hostname, () => { \
  19. console.log(\`Server running: \${hostname}:\${port}\`); \
  20. }); \
  21. " > server.js
  22. EXPOSE 4000
  23. CMD ["node", "server.js"]
  24. strategy:
  25. type: Docker
  26. output:
  27. to:
  28. kind: ImageStreamTag
  29. name: node-server:latest
  30. triggers:
  31. - type: ConfigChange
  32. ---
  33. apiVersion: image.openshift.io/v1
  34. kind: ImageStream
  35. metadata:
  36. name: node-server
  37. spec:
  38. tags:
  39. - name: latest
  40. importPolicy:
  41. insecure: true
  42. ---
  43. apiVersion: apps/v1
  44. kind: Deployment
  45. metadata:
  46. name: node-server
  47. spec:
  48. replicas: 1
  49. selector:
  50. matchLabels:
  51. app: node-server
  52. template:
  53. metadata:
  54. labels:
  55. app: node-server
  56. spec:
  57. containers:
  58. - name: node-server
  59. image: image-registry.openshift-image-registry.svc:5000/deploy-introduction/node-server:latest
  60. ports:
  61. - containerPort: 80
  62. ---
  63. apiVersion: v1
  64. kind: Service
  65. metadata:
  66. name: node-server
  67. spec:
  68. selector:
  69. app: node-server
  70. ports:
  71. - protocol: TCP
  72. port: 4000
  73. targetPort: 4000
  74. type: ClusterIP
  75. ---
  76. apiVersion: route.openshift.io/v1
  77. kind: Route
  78. metadata:
  79. name: node-server
  80. spec:
  81. port:
  82. targetPort: 4000
  83. to:
  84. kind: Service
  85. name: node-server