-
-
Save geerlingguy/e6a661e1cd2b53f6a39493ebb207425c to your computer and use it in GitHub Desktop.
# This manifest assumes 'wordpress' namespace is already present: | |
# | |
# kubectl create namespace wordpress | |
# | |
# Apply the manifest with: | |
# | |
# kubectl apply -f mariadb.yml | |
--- | |
apiVersion: v1 | |
kind: Secret | |
metadata: | |
name: mariadb-pass | |
namespace: wordpress | |
labels: | |
app: wordpress | |
data: | |
# This value is base64-encoded. Do not use this password in production! | |
password: MjJzaXl3dVpBNFdmeHNZcg== | |
--- | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
name: mariadb-pv-claim | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 1Gi | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: wordpress-mariadb | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
selector: | |
matchLabels: | |
app: wordpress | |
tier: mariadb | |
strategy: | |
type: Recreate | |
template: | |
metadata: | |
labels: | |
app: wordpress | |
tier: mariadb | |
spec: | |
containers: | |
- image: tobi312/rpi-mariadb:10.3 | |
name: mariadb | |
env: | |
- name: MYSQL_ROOT_PASSWORD | |
valueFrom: | |
secretKeyRef: | |
name: mariadb-pass | |
key: password | |
ports: | |
- containerPort: 3306 | |
name: mariadb | |
volumeMounts: | |
- name: mariadb-persistent-storage | |
mountPath: /var/lib/mysql | |
resources: | |
limits: | |
cpu: '1' | |
memory: '512Mi' | |
requests: | |
cpu: '500m' | |
memory: '256Mi' | |
volumes: | |
- name: mariadb-persistent-storage | |
persistentVolumeClaim: | |
claimName: mariadb-pv-claim | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: wordpress-mariadb | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
ports: | |
- port: 3306 | |
selector: | |
app: wordpress | |
tier: mariadb | |
clusterIP: None |
# This manifest assumes 'wordpress' namespace is already present: | |
# | |
# kubectl create namespace wordpress | |
# | |
# Apply the manifest with: | |
# | |
# kubectl apply -f wordpress.yml | |
--- | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
name: wp-pv-claim | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 1Gi | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: wordpress | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
selector: | |
matchLabels: | |
app: wordpress | |
tier: frontend | |
strategy: | |
type: Recreate | |
template: | |
metadata: | |
labels: | |
app: wordpress | |
tier: frontend | |
spec: | |
containers: | |
- image: wordpress:5.4-apache | |
name: wordpress | |
env: | |
- name: WORDPRESS_DB_HOST | |
value: wordpress-mariadb | |
- name: WORDPRESS_DB_PASSWORD | |
valueFrom: | |
secretKeyRef: | |
name: mariadb-pass | |
key: password | |
ports: | |
- containerPort: 80 | |
name: wordpress | |
volumeMounts: | |
- name: wordpress-persistent-storage | |
mountPath: /var/www/html | |
resources: | |
limits: | |
cpu: '1' | |
memory: '512Mi' | |
requests: | |
cpu: '500m' | |
memory: '256Mi' | |
volumes: | |
- name: wordpress-persistent-storage | |
persistentVolumeClaim: | |
claimName: wp-pv-claim | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: wordpress | |
namespace: wordpress | |
labels: | |
app: wordpress | |
spec: | |
ports: | |
- port: 80 | |
selector: | |
app: wordpress | |
tier: frontend | |
type: NodePort | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Ingress | |
metadata: | |
name: wordpress | |
namespace: wordpress | |
spec: | |
rules: | |
- host: wordpress.10.0.100.99.nip.io | |
http: | |
paths: | |
- path: / | |
backend: | |
serviceName: wordpress | |
servicePort: 80 |
Hi Jeff,
I think I have version problem with deployment of the wordpres.yml file.
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress ingress.extensions/wordpress configured
I try to adapt wordpress.yml file accordingly in the line 90 apiVersion: extensions/v1beta1
without success. Do you have any ideas? My k3s VERSION: v1.20.2+k3s1
By the way Thank you very much for your videos on k3s on raspberry cluster and Kubernetes! Great content!
Cheers,
Nenad
I'm newbie with k3s but everything went well here.
I have a question, how can i access wordpress in browser?
Update:
I got how to deal with it.
Could we please have your code updated ?
/var/lib/mysql as datadir is not working - I keep trying find a solution for this.
I can mount my persistent volumne to /data no problem but the database will write to /var/lib/mysql.
Here the error message.
2022-08-04 09:56:27+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.3.* started.
chown: changing ownership of '/var/lib/mysql/': Operation not permitted
;o)
I pretty much did the same thing. I forgot to update my comment on this thread for everyone. Thanks for your update.