Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: mysql-volume
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 1Gi
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: mysql
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: mysql
- template:
- metadata:
- labels:
- app: mysql
- spec:
- containers:
- - name: mysql
- image: mysql:latest
- ports:
- - containerPort: 3306
- volumeMounts:
- - name: mysql-volume
- mountPath: /var/lib/mysql
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: password
- - name: MYSQL_DATABASE
- value: wordpress
- - name: MYSQL_USER
- value: wordpress
- - name: MYSQL_PASSWORD
- value: password
- volumes:
- - name: mysql-volume
- persistentVolumeClaim:
- claimName: mysql-volume
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: mysql-service
- spec:
- selector:
- app: mysql
- ports:
- - port: 3306
- targetPort: 3306
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: wordpress-volume
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 1Gi
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: wordpress
- spec:
- replicas: 2
- selector:
- matchLabels:
- app: wordpress
- template:
- metadata:
- labels:
- app: wordpress
- spec:
- containers:
- - name: wordpress
- image: wordpress:latest
- ports:
- - containerPort: 80
- volumeMounts:
- - name: wordpress-volume
- mountPath: /var/www/html
- env:
- - name : WORDPRESS_DB_HOST
- value: mysql-service
- - name: WORDPRESS_DB_PASSWORD
- value: password
- - name: WORDPRESS_DB_USER
- value: wordpress
- - name: WORDPRESS_DB_NAME
- value: wordpress
- volumes:
- - name: wordpress-volume
- persistentVolumeClaim:
- claimName: wordpress-volume
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: wordpress
- spec:
- type: LoadBalancer
- selector:
- app: wordpress
- ports:
- - port: 80
- targetPort: 80
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: prometheus
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: prometheus
- template:
- metadata:
- labels:
- app: prometheus
- spec:
- containers:
- - name: prometheus
- image: prom/prometheus:v2.30.3
- args:
- - "--config.file=/etc/prometheus/prometheus.yml"
- - "--storage.tsdb.path=/prometheus"
- - "--web.console.libraries=/etc/prometheus/console_libraries"
- - "--web.console.templates=/etc/prometheus/consoles"
- ports:
- - containerPort: 9090
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: prometheus
- spec:
- selector:
- app: prometheus
- ports:
- - port: 9090
- targetPort: 9090
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: grafana
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: grafana
- template:
- metadata:
- labels:
- app: grafana
- spec:
- containers:
- - name: grafana
- image: grafana/grafana:latest
- ports:
- - containerPort: 3000
- resources:
- requests:
- memory: "512Mi"
- cpu: "500m"
- limits:
- memory: "800Mi"
- cpu: "1000m"
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: grafana
- spec:
- type: LoadBalancer
- selector:
- app: grafana
- ports:
- - protocol: TCP
- port: 3000
- targetPort: 3000
Advertisement
Add Comment
Please, Sign In to add comment