Brunoroman

Untitled

Jun 29th, 2023 (edited)
1,204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.71 KB | None | 0 0
  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4.   name: mysql-volume
  5. spec:
  6.   accessModes:
  7.  - ReadWriteOnce
  8.   resources:
  9.     requests:
  10.       storage: 1Gi
  11.  
  12. ---
  13. apiVersion: apps/v1
  14. kind: Deployment
  15. metadata:
  16.   name: mysql
  17. spec:
  18.   replicas: 1
  19.   selector:
  20.     matchLabels:
  21.       app: mysql
  22.   template:
  23.     metadata:
  24.       labels:
  25.         app: mysql
  26.     spec:
  27.       containers:
  28.       - name: mysql
  29.         image: mysql:latest
  30.         ports:
  31.         - containerPort: 3306
  32.         volumeMounts:
  33.         - name: mysql-volume
  34.           mountPath: /var/lib/mysql
  35.         env:
  36.         - name: MYSQL_ROOT_PASSWORD
  37.           value: password
  38.         - name: MYSQL_DATABASE
  39.           value: wordpress
  40.         - name: MYSQL_USER
  41.           value: wordpress
  42.         - name: MYSQL_PASSWORD
  43.           value: password
  44.       volumes:
  45.       - name: mysql-volume
  46.         persistentVolumeClaim:
  47.           claimName: mysql-volume
  48.  
  49. ---
  50. apiVersion: v1
  51. kind: Service
  52. metadata:
  53.   name: mysql-service
  54. spec:
  55.   selector:
  56.     app: mysql
  57.   ports:
  58.   - port: 3306
  59.     targetPort: 3306
  60.  
  61. ---
  62. apiVersion: v1
  63. kind: PersistentVolumeClaim
  64. metadata:
  65.   name: wordpress-volume
  66. spec:
  67.   accessModes:
  68.  - ReadWriteOnce
  69.   resources:
  70.     requests:
  71.       storage: 1Gi
  72.  
  73. ---
  74. apiVersion: apps/v1
  75. kind: Deployment
  76. metadata:
  77.   name: wordpress
  78. spec:
  79.   replicas: 2
  80.   selector:
  81.     matchLabels:
  82.       app: wordpress
  83.   template:
  84.     metadata:
  85.       labels:
  86.         app: wordpress
  87.     spec:
  88.       containers:
  89.       - name: wordpress
  90.         image: wordpress:latest
  91.         ports:
  92.         - containerPort: 80
  93.         volumeMounts:
  94.         - name: wordpress-volume
  95.           mountPath: /var/www/html
  96.         env:
  97.         - name : WORDPRESS_DB_HOST
  98.           value: mysql-service
  99.         - name: WORDPRESS_DB_PASSWORD
  100.           value: password
  101.         - name: WORDPRESS_DB_USER
  102.           value: wordpress
  103.         - name: WORDPRESS_DB_NAME
  104.           value: wordpress
  105.       volumes:
  106.       - name: wordpress-volume
  107.         persistentVolumeClaim:
  108.           claimName: wordpress-volume
  109.  
  110. ---
  111. apiVersion: v1
  112. kind: Service
  113. metadata:
  114.   name: wordpress
  115. spec:
  116.   type: LoadBalancer
  117.   selector:
  118.     app: wordpress
  119.   ports:
  120.   - port: 80
  121.     targetPort: 80
  122.  
  123. ---
  124. apiVersion: apps/v1
  125. kind: Deployment
  126. metadata:
  127.   name: prometheus
  128. spec:
  129.   replicas: 1
  130.   selector:
  131.     matchLabels:
  132.       app: prometheus
  133.   template:
  134.     metadata:
  135.       labels:
  136.         app: prometheus
  137.     spec:
  138.       containers:
  139.       - name: prometheus
  140.         image: prom/prometheus:v2.30.3
  141.         args:
  142.          - "--config.file=/etc/prometheus/prometheus.yml"
  143.           - "--storage.tsdb.path=/prometheus"
  144.           - "--web.console.libraries=/etc/prometheus/console_libraries"
  145.           - "--web.console.templates=/etc/prometheus/consoles"
  146.         ports:
  147.           - containerPort: 9090
  148.  
  149. ---
  150. apiVersion: v1
  151. kind: Service
  152. metadata:
  153.   name: prometheus
  154. spec:
  155.   selector:
  156.     app: prometheus
  157.   ports:
  158.     - port: 9090
  159.       targetPort: 9090
  160.  
  161. ---
  162. apiVersion: apps/v1
  163. kind: Deployment
  164. metadata:
  165.   name: grafana
  166. spec:
  167.   replicas: 1
  168.   selector:
  169.     matchLabels:
  170.       app: grafana
  171.   template:
  172.     metadata:
  173.       labels:
  174.         app: grafana
  175.     spec:
  176.       containers:
  177.       - name: grafana
  178.         image: grafana/grafana:latest
  179.         ports:
  180.         - containerPort: 3000
  181.         resources:
  182.           requests:
  183.             memory: "512Mi"
  184.             cpu: "500m"
  185.           limits:
  186.             memory: "800Mi"
  187.             cpu: "1000m"
  188.  
  189. ---
  190. apiVersion: v1
  191. kind: Service
  192. metadata:
  193.   name: grafana
  194. spec:
  195.   type: LoadBalancer
  196.   selector:
  197.     app: grafana
  198.   ports:
  199.   - protocol: TCP
  200.     port: 3000
  201.     targetPort: 3000
  202.  
Advertisement
Add Comment
Please, Sign In to add comment