diff --git a/kubernetes/.mysql.yaml.swo b/kubernetes/.mysql.yaml.swo new file mode 100644 index 0000000..e03a20e Binary files /dev/null and b/kubernetes/.mysql.yaml.swo differ diff --git a/kubernetes/.mysql.yaml.swp b/kubernetes/.mysql.yaml.swp new file mode 100644 index 0000000..8bb059a Binary files /dev/null and b/kubernetes/.mysql.yaml.swp differ diff --git a/kubernetes/.wordpress.yaml.swk b/kubernetes/.wordpress.yaml.swk new file mode 100644 index 0000000..5f0a936 Binary files /dev/null and b/kubernetes/.wordpress.yaml.swk differ diff --git a/kubernetes/.wordpress.yaml.swl b/kubernetes/.wordpress.yaml.swl new file mode 100644 index 0000000..02f4fad Binary files /dev/null and b/kubernetes/.wordpress.yaml.swl differ diff --git a/kubernetes/.wordpress.yaml.swm b/kubernetes/.wordpress.yaml.swm new file mode 100644 index 0000000..f16579c Binary files /dev/null and b/kubernetes/.wordpress.yaml.swm differ diff --git a/kubernetes/.wordpress.yaml.swn b/kubernetes/.wordpress.yaml.swn new file mode 100644 index 0000000..8597462 Binary files /dev/null and b/kubernetes/.wordpress.yaml.swn differ diff --git a/kubernetes/.wordpress.yaml.swo b/kubernetes/.wordpress.yaml.swo new file mode 100644 index 0000000..d2a12d6 Binary files /dev/null and b/kubernetes/.wordpress.yaml.swo differ diff --git a/kubernetes/.wordpress.yaml.swp b/kubernetes/.wordpress.yaml.swp new file mode 100644 index 0000000..27bee31 Binary files /dev/null and b/kubernetes/.wordpress.yaml.swp differ diff --git a/kubernetes/ingress.yaml b/kubernetes/ingress.yaml new file mode 100644 index 0000000..5daf678 --- /dev/null +++ b/kubernetes/ingress.yaml @@ -0,0 +1,22 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: wordpress-ingress + namespace: company-blog + annotations: + kubernetes.io/ingress.class: alb + alb.ingress.kubernetes.io/scheme: internet-facing + alb.ingress.kubernetes.io/target-type: ip +spec: + rules: + - host: wordpress.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: wordpress + port: + number: 80 + diff --git a/kubernetes/mysql.yaml b/kubernetes/mysql.yaml index 5170108..acffaa6 100644 --- a/kubernetes/mysql.yaml +++ b/kubernetes/mysql.yaml @@ -22,7 +22,6 @@ spec: selector: app: wp-blog tier: mysql - clusterIP: None --- apiVersion: v1 kind: PersistentVolumeClaim @@ -39,18 +38,18 @@ spec: storage: 20Gi --- apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet # Changed Deployment to StatefulSet metadata: name: wordpress-mysql labels: app: wp-blog spec: + serviceName: "wordpress-mysql" # Added serviceName for stable network identity + replicas: 1 # Set the number of replicas to 1 for a single-node MySQL selector: matchLabels: app: wp-blog tier: mysql - strategy: - type: Recreate template: metadata: labels: @@ -84,7 +83,60 @@ spec: volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: mysql-pv-claim +--- +apiVersion: v1 +kind: Service +metadata: + name: wordpress + namespace: company-blog + labels: + app: wp-blog +spec: + ports: + - port: 80 + selector: + app: wp-blog + tier: frontend +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: wordpress + labels: + app: wp-blog +spec: + replicas: 1 + selector: + matchLabels: + app: wp-blog + tier: frontend + template: + metadata: + labels: + app: wp-blog + tier: frontend + spec: + containers: + - image: wordpress:latest + name: wordpress + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 30 + periodSeconds: 5 + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 300 + periodSeconds: 10 + env: + - name: WORDPRESS_DB_HOST + value: "wordpress-mysql" + - name: WORDPRESS_DB_PASSWORD + valueFrom: + secretKeyRef: + name: wp-blog-db-pass + key: password + diff --git a/kubernetes/wordpress.yaml b/kubernetes/wordpress.yaml index 5855ca5..bd2e5f6 100644 --- a/kubernetes/wordpress.yaml +++ b/kubernetes/wordpress.yaml @@ -8,10 +8,12 @@ metadata: spec: ports: - port: 80 + targetPort: 80 + nodePort: 31088 #added a node port selector: app: wp-blog tier: frontend - type: LoadBalancer + type: NodePort --- apiVersion: v1 kind: PersistentVolumeClaim @@ -26,6 +28,59 @@ spec: resources: requests: storage: 20Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: wordpress + labels: + app: wp-blog +spec: + replicas: 1 # Set the desired number of replicas + selector: + matchLabels: + app: wp-blog + tier: frontend + template: + metadata: + labels: + app: wp-blog + tier: frontend + spec: + containers: + - image: wordpress:latest + name: wordpress + ports: + - containerPort: 80 + volumeMounts: + - name: wp-persistent-storage + mountPath: /var/www/html # Mount the volume to the WordPress directory + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 30 + periodSeconds: 5 + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 300 + periodSeconds: 10 + env: + - name: WORDPRESS_DB_HOST + value: "wordpress-mysql" + - name: WORDPRESS_DB_PASSWORD + valueFrom: + secretKeyRef: + name: wp-blog-db-pass + key: password + volumes: + - name: wp-persistent-storage + persistentVolumeClaim: + claimName: wp-pv-claim + + --- # TODO: complete the wordpress deployment #apiVersion: apps/v1