wordpress-deploy
This is an old revision of the document!
WordPress Deployment
$ kubectl create namespace wp-system -o yaml \ --dry-run=client > namespace-wp.yaml
$ kubectl apply -f namespace-wp.yaml namespace/wp-system created
$ cat secret-wp password=ga3isgBT4dXG username=userwp passworduser=ga3isgBT4dXG database=wpdb
$ kubectl create secret generic secret-wp -n wp-system \ --from-env-file=secret-wp -o yaml \ --dry-run=client > secret-wp.yaml
$ kubectl apply -f secret-wp.yaml secret/secret-wp created
- mysql-claim.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pv-claim namespace: wp-system spec: storageClassName: nfs-client accessModes: - ReadWriteOnce resources: requests: storage: 8Gi
$ kubectl apply -f mysql-pv-claim.yaml persistentvolumeclaim/mysql-pv-claim created
- mysql-wp.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: mysql-wp namespace: wp-system spec: selector: matchLabels: app: wordpress tier: mysql strategy: type: Recreate template: metadata: labels: app: wordpress tier: mysql spec: containers: - image: mysql:latest name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: secret-wp key: password - name: MYSQL_USER valueFrom: secretKeyRef: name: secret-wp key: username - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: secret-wp key: passworduser - name: MYSQL_DATABASE valueFrom: secretKeyRef: name: secret-wp key: database ports: - containerPort: 3306 name: mysql volumeMounts: - name: persistent-storage mountPath: /var/lib/mysql volumes: - name: persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim
$ kubectl apply -f mysql-wp.yaml deployment.apps/mysql-wp created
- mysql-service.yaml
apiVersion: v1 kind: Service metadata: name: mysql-wp namespace: wp-system spec: ipFamilies: - IPv4 - IPv6 ipFamilyPolicy: PreferDualStack ports: - port: 3306 selector: app: wordpress tier: mysql
$ kubectl apply -f mysql-service.yaml service/mysql-wp created
- wordpress-claim.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wordpress-pv-claim namespace: wp-system spec: storageClassName: nfs-client accessModes: - ReadWriteOnce resources: requests: storage: 10Gi
$ kubectl apply -f wordpress-pv-claim.yaml persistentvolumeclaim/wordpress-pv-claim created
- wordpress.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: wordpress namespace: wp-system spec: selector: matchLabels: app: wordpress tier: web strategy: type: Recreate template: metadata: labels: app: wordpress tier: web spec: containers: - image: wordpress:php8.1-apache name: wordpress env: - name: WORDPRESS_DB_HOST value: mysql-wp:3306 - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: secret-wp key: passworduser - name: WORDPRESS_DB_USER valueFrom: secretKeyRef: name: secret-wp key: username - name: WORDPRESS_DB_NAME valueFrom: secretKeyRef: name: secret-wp key: database ports: - containerPort: 80 name: wordpress volumeMounts: - name: persistent-storage mountPath: /var/www/html volumes: - name: persistent-storage persistentVolumeClaim: claimName: wordpress-pv-claim
$ kubectl apply -f wordpress.yaml deployment.apps/wordpress created
- wordpress-service.yaml
apiVersion: v1 kind: Service metadata: name: wordpress namespace: wp-system spec: ipFamilies: - IPv4 - IPv6 ipFamilyPolicy: PreferDualStack ports: - port: 80 selector: app: wordpress tier: web type: LoadBalancer
$ kubectl apply -f wordpress-service.yaml service/wordpress created
$ kubectl get secret,pvc,svc,po -n wp-system NAME TYPE DATA AGE secret/default-token-vdwc6 kubernetes.io/service-account-token 3 15m secret/secret-wp Opaque 4 10m NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/mysql-pv-claim Bound pvc-4005b124-87e7-4f60-affa-42dbd0e9c62b 8Gi RWO nfs-client 7m49s persistentvolumeclaim/wordpress-pv-claim Bound pvc-9fbc4a89-fc55-4337-94da-7bc6036fdea0 10Gi RWO nfs-client 3m41s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/mysql-wp ClusterIP 10.96.209.235 <none> 3306/TCP 5m3s service/wordpress LoadBalancer 10.96.228.221 172.28.128.117,2804:694:4c00:4007::117 80:32129/TCP 56s NAME READY STATUS RESTARTS AGE pod/mysql-wp-749d4f59cc-2l7ql 1/1 Running 0 6m8s pod/wordpress-565685f8fc-knkvt 1/1 Running 0 2m3s
ReferĂȘncias
wordpress-deploy.1753560545.txt.gz · Last modified: by wikiadm
