nginx-example.yaml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: nginx-deployment
  5. spec:
  6. selector:
  7. matchLabels:
  8. app: nginx
  9. replicas: 5 # Update the replicas from 2 to 4
  10. template:
  11. metadata:
  12. labels:
  13. app: nginx
  14. spec:
  15. containers:
  16. - name: nginx
  17. image: nginx:1.14.2
  18. ports:
  19. - containerPort: 80
  20. affinity:
  21. nodeAffinity:
  22. preferredDuringSchedulingIgnoredDuringExecution:
  23. - weight: 1
  24. preference:
  25. matchExpressions:
  26. - key: location
  27. operator: In
  28. values:
  29. - onprem
  30. ---
  31. apiVersion: v1
  32. kind: Service
  33. metadata:
  34. labels:
  35. app: nginx
  36. name: nginx-service
  37. spec:
  38. ports:
  39. - port: 80
  40. protocol: TCP
  41. targetPort: 80
  42. selector:
  43. app: nginx
  44. sessionAffinity: None
  45. type: ClusterIP
  46. ---
  47. apiVersion: networking.k8s.io/v1
  48. kind: Ingress
  49. metadata:
  50. name: nginx-ingress
  51. annotations:
  52. nginx.ingress.kubernetes.io/rewrite-target: /
  53. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  54. nginx.ingress.kubernetes.io/ssl-redirect: 'true'
  55. spec:
  56. ingressClassName: public
  57. tls:
  58. - hosts:
  59. - nginx.BASE_DOMAIN
  60. secretName: nginx-tls
  61. rules:
  62. - host: nginx.BASE_DOMAIN
  63. http:
  64. paths:
  65. - path: /
  66. pathType: Prefix
  67. backend:
  68. service:
  69. name: nginx-service
  70. port:
  71. number: 80