apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 selector: app: wordpress tier: frontend type: NodePort --- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: efs-sc provisioner: efs.csi.aws.com --- apiVersion: v1 kind: PersistentVolume metadata: name: wordpress-efs-pv spec: capacity: storage: 10Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: efs-sc csi: driver: efs.csi.aws.com volumeHandle: "fs-024f950b4c448cc67::fsap-046d60b356c84b394" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wordpress-efs-pvc labels: app: wordpress spec: accessModes: - ReadWriteMany storageClassName: efs-sc resources: requests: storage: 10Gi --- 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: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: topology.kubernetes.io/zone operator: In values: - us-east-1-bos-1a containers: - image: wordpress:php7.1-apache name: wordpress env: - name: WORDPRESS_DB_HOST value: "10.0.15.79" - name: WORDPRESS_DB_USER value: "wordpress" - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: db-instance-pass key: password ports: - containerPort: 80 name: wordpress volumeMounts: - name: wordpress-persistent-storage mountPath: /var/www/html resources: requests: cpu: "1" memory: 1Gi limits: cpu: "2" memory: 2Gi volumes: - name: wordpress-persistent-storage persistentVolumeClaim: claimName: wordpress-efs-pvc --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: wordpress-ingress annotations: alb.ingress.kubernetes.io/subnets: "subnet-08e40f5eef7d4e3d4" alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:091550601287:certificate/75cad826-f2f2-45e5-8bfe-c9b722d635d7 alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/ssl-redirect: '443' external-dns.alpha.kubernetes.io/hostname: demo.primary.lindarren.com spec: ingressClassName: alb rules: - http: paths: - path: / pathType: Prefix backend: service: name: wordpress port: number: 80