webserver-deployment.yaml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: webserver
  5. namespace: webserver
  6. labels:
  7. app: webserver
  8. spec:
  9. type: NodePort
  10. ports:
  11. - port: 80
  12. nodePort: 30580
  13. targetPort: webserver
  14. selector:
  15. app: webserver
  16. tier: frontend
  17. ---
  18. apiVersion: v1
  19. kind: PersistentVolumeClaim
  20. metadata:
  21. name: webserver-pv-claim
  22. namespace: webserver
  23. labels:
  24. app: webserver
  25. spec:
  26. accessModes:
  27. - ReadWriteOnce
  28. storageClassName: ""
  29. resources:
  30. requests:
  31. storage: 5Gi
  32. selector:
  33. matchLabels:
  34. app: webserver
  35. ---
  36. apiVersion: apps/v1
  37. kind: Deployment
  38. metadata:
  39. name: webserver
  40. namespace: webserver
  41. labels:
  42. app: webserver
  43. spec:
  44. selector:
  45. matchLabels:
  46. app: webserver
  47. tier: frontend
  48. strategy:
  49. type: Recreate
  50. template:
  51. metadata:
  52. labels:
  53. app: webserver
  54. tier: frontend
  55. spec:
  56. containers:
  57. - image: docker-registry:32000/php81mysql:1.1
  58. name: webserver
  59. ports:
  60. - containerPort: 80
  61. name: webserver
  62. volumeMounts:
  63. - name: webserver-persistent-storage
  64. mountPath: /var/www/html
  65. imagePullSecrets:
  66. - name: reg-cred-secret
  67. volumes:
  68. - name: webserver-persistent-storage
  69. persistentVolumeClaim:
  70. claimName: webserver-pv-claim