Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- ###
- # cat > pv-wordpress.yml
- # kubectl create -f pv-wordpress.yml
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: wordpress-persistent-storage
- labels:
- app: wordpress
- spec:
- capacity:
- storage: 1Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteMany
- nfs:
- path: /html
- server: nfs01
- ---
- ###
- # cat > pv-mysql.yml
- # kubectl create -f pv-mysql.yml
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: mysql-persistent-storage
- labels:
- app: mysql
- spec:
- capacity:
- storage: 1Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteMany
- nfs:
- path: /mysql
- server: nfs01
- ---
- ###
- # cat > pvc-wordpress.yml
- # kubectl create -f pvc-wordpress.yml
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: wordpress-persistent-storage
- labels:
- app: wordpress
- spec:
- accessModes:
- - ReadWriteMany
- volumeMode: Filesystem
- resources:
- requests:
- storage: 1Gi
- selector:
- matchLabels:
- app: wordpress
- ---
- ###
- # cat > pvc-mysql.yml
- # kubectl create -f pvc-mysql.yml
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: mysql-persistent-storage
- labels:
- app: mysql
- spec:
- accessModes:
- - ReadWriteMany
- volumeMode: Filesystem
- resources:
- requests:
- storage: 1Gi
- selector:
- matchLabels:
- app: mysql
- ---
- ###
- # cat > secret-mysql.yml
- # kubectl create -f secret-mysql.yml
- apiVersion: v1
- kind: Secret
- metadata:
- name: mysql-pass
- labels:
- app: mysql
- type: Opaque
- data:
- password: YWRtaW4=
- ---
- ###
- # cat > deploy-mysql.yml
- # kubectl create -f deploy-mysql.yml
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: mysql
- labels:
- app: mysql
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: mysql
- template:
- metadata:
- labels:
- app: mysql
- spec:
- containers:
- - name: mysql
- image: mysql:5.7
- env:
- - name: MYSQL_ROOT_PASSWORD
- valueFrom:
- secretKeyRef:
- name: mysql-pass
- key: password
- volumeMounts:
- - mountPath: /var/lib/mysql
- name: mysql-persistent-storage
- volumes:
- - name: mysql-persistent-storage
- ---
- ###
- # cat > service-mysql.yml
- # kubectl create -f service-mysql.yml
- apiVersion: v1
- kind: Service
- metadata:
- name: wordpress-mysql
- labels:
- app: mysql
- spec:
- selector:
- app: mysql
- ports:
- - protocol: TCP
- port: 3306
- targetPort: 3306
- ---
- ###
- # cat > deploy-mysql.yml
- # kubectl create -f deploy-mysql.yml
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: wordpress
- labels:
- app: wordpress
- spec:
- replicas: 2
- selector:
- matchLabels:
- app: wordpress
- template:
- metadata:
- labels:
- app: wordpress
- spec:
- containers:
- - name: wordpress
- image: wordpress
- env:
- - name: WORDPRESS_DB_PASSWORD
- valueFrom:
- secretKeyRef:
- name: mysql-pass
- key: password
- - name: WORDPRESS_DB_HOST
- value: wordpress-mysql
- volumeMounts:
- - mountPath: /var/www/html
- name: wordpress-persistent-storage
- volumes:
- - name: wordpress-persistent-storage
- ---
- ###
- # cat > service-wordpress.yml
- # kubectl create -f service-wordpress.yml
- apiVersion: v1
- kind: Service
- metadata:
- name: wordpress
- labels:
- app: wordpress
- spec:
- selector:
- app: wordpress
- type: NodePort
- ports:
- - name: 80-80
- nodePort: 31004
- port: 80
- protocol: TCP
- targetPort: 80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement