apiVersion: v1 kind: Service metadata: name: wordpress-service labels: app: wordpress spec: ports: - name: http targetPort: 80 port: 80 # - port: 80 selector: app: wordpress tier: frontend # type: LoadBalancer --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wp-pv-claim labels: app: wordpress spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress labels: app: wordpress spec: # replicas: 1 selector: matchLabels: app: wordpress tier: frontend # strategy: # type: Recreate template: metadata: labels: app: wordpress tier: frontend spec: containers: - image: wordpress:4.8-apache name: wordpress env: - name: WORDPRESS_DB_HOST value: wordpress-mysql - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: password ports: - containerPort: 80 name: wordpress volumeMounts: - name: wordpress-persistent-storage mountPath: /var/www/html volumes: - name: wordpress-persistent-storage persistentVolumeClaim: claimName: wp-pv-claim --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: wordpress-ingress annotations: kubernetes.io/ingress.class: traefik spec: rules: - host: wordpress-192-168-99-100.nip.io http: paths: - path: / backend: serviceName: wordpress-service servicePort: http