WordPress az egyik legnépszerűbb tartalomkezelő rendszer, amelyet blogok és weboldalak internetes közzétételére használnak. Elérhető továbbá Docker képfájlként is a DockerHub regiszterben. Ezzel a Docker képfájllal megbízható és skálázható weboldal-platformot építhet a Kubernetes fürtön. A WordPress telepítése Kubernetes-en segít a CI/CD folyamat megvalósításában, és csökkenti az új frissítések kiadásához szükséges időt. Engedélyezheti a WordPress weboldal horizontális skálázását is a weboldal forgalmi csúcsainak kezelésére.
Ez az útmutató bemutatja, hogyan telepítheti a WordPress-t és a MySQL-t egy Persistent Volume-mal a Kubernetes fürtön.
Előfeltételek
- A Kubernetes (k8s) és objektumainak alapvető ismerete. Tekintse meg ezt az útmutatót a Kubernetes ökoszisztéma részletes áttekintéséhez.
- Egy működő Kubernetes fürt. Kövesse ezt az útmutatót a Kubernetes fürt telepítéséhez Ubuntu 20.04-en.
Kubernetes fürt ellenőrzése
A kezdés előtt javasolt ellenőrizni a Kubernetes fürt állapotát. A kubectl paranccsal ellenőrizheti a Kubernetes-t.
|
1 |
kubectl get nodes |
Ha minden rendben van, a következő kimenetet kell kapnia.

Secret létrehozása a MySQL-hez
A Secret egy olyan objektum, amely lehetővé teszi érzékeny adatok, például jelszavak vagy kulcsok tárolását. Ebben a bejegyzésben a Secret-et fogjuk használni a MySQL jelszó tárolására.
Először hozzon létre egy base64 kódolású jelszót a következő paranccsal.
|
1 |
echo -n 'your_secure_password' | base64 |
A titkos jelszót a következő kimenetben fogja megkapni.
|
1 |
eW91cl9zZWN1cmVfcGFzc3dvcmQ= |
Ezután hozzon létre egy secret.yaml fájlt a MySQL-hez és a WordPress-hez.
|
1 |
nano secret.yaml |
Adja hozzá a következő konfigurációt.
|
1 2 3 4 5 6 7 |
apiVersion: v1 kind: Secret metadata: name: mysql-pass type: Opaque data: password: eW91cl9zZWN1cmVfcGFzc3dvcmQ= |
Mentse és zárja be a fájlt. Ezután alkalmazza a fenti konfigurációt a Kubernetes fürtre a következő paranccsal.
|
1 |
kubectl apply -f secret.yaml |
A következő kimenetet fogja kapni.
|
1 |
secret/mysql-pass created |
PersistentVolume létrehozása a MySQL-hez és a WordPress-hez
Létre kell hoznia egy PersistentVolume-ot is a MySQL és a WordPress adatainak tárolására.
Hozzuk létre a pvc-mysql-wp.yaml fájlt.
|
1 |
nano pvc-mysql-wp.yaml |
Adja hozzá a következő konfigurációkat.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pv-claim labels: app: wordpress spec: accessModes: - ReadWriteOnce resources: requests: storage: 40Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wp-pv-claim labels: app: wordpress spec: accessModes: - ReadWriteOnce resources: requests: storage: 40Gi |
Ha végzett, mentse és zárja be a fájlt.
Ezután hozza létre a PersistentVolume-okat mind a MySQL-hez, mind a WordPress-hez a Kubernetes fürtön a következő paranccsal.
|
1 |
kubectl apply -f pvc-mysql-wp.yaml |
A következő kimenetben látnia kell mindkét PersistentVolume-ot.
|
1 2 |
persistentvolumeclaim/mysql-pv-claim created persistentvolumeclaim/wp-pv-claim created |
Most már ellenőrizheti mindkét PersistentVolume-ot a következő paranccsal.
|
1 |
kubectl get pv |
A következő kimenetet kell látnia.
|
1 2 3 |
NÉV KAPACITÁS HOZZÁFÉRÉSI MÓDOK VISSZANYERÉSI IRÁNYELV ÁLLAPOT IGÉNY TÁROLÓOSZTÁLY OK KOR pvc-873a458352594103 40Gi RWO Törlés Csatolt default/wp-pv-igény saját-blokk-tárhely 3s pvc-de7d7de5e53a40e8 40Gi RWO Törlés Csatolt default/mysql-pv-igény saját-blokk-tárhely 3s |
MySQL Deployment létrehozása
Ezután hozzon létre egy MySQL deployment konfigurációs fájlt a MySQL Docker-rendszerkép letöltéséhez, egy konténer létrehozásához és a PersistentVolume csatolásához a következő helyre: /var/lib/mysql.
|
1 |
nano mysql-deployment.yaml |
Adja hozzá a következő konfigurációt.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
apiVersion: v1 kind: Service metadata: name: wordpress-mysql labels: app: wordpress spec: ports: - port: 3306 selector: app: wordpress tier: mysql clusterIP: None --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress-mysql labels: app: wordpress spec: selector: matchLabels: app: wordpress tier: mysql strategy: type: Recreate template: metadata: labels: app: wordpress tier: mysql spec: containers: - image: mysql:5.6 name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim |
Ha végzett, mentse el és zárja be a fájlt. Ezután telepítse a fenti konfigurációt a Kubernetes fürtre.
|
1 |
kubectl apply -f mysql-deployment.yaml |
A következő kimenetet kell látnia.

A MySQL telepítést a következő paranccsal ellenőrizheti.
|
1 |
kubectl get deployments |
A következő kimenetben láthatja a MySQL telepítés állapotát.

WordPress telepítés létrehozása
Most hozzon létre egy WordPress telepítési konfigurációs fájlt a WordPress kép letöltéséhez, egy konténer létrehozásához, és csatolja a PersistentVolume-ot a /var/www/html helyre a webhely adatfájljai számára. Ez a fájl létrehozza a WORDPRESS_DB_HOST és WORDPRESS_DB_PASSWORD környezeti változókat is az adatbázis eléréséhez.
|
1 |
nano wordpress-deployment.yaml |
Adja hozzá a következő konfigurációt.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 selector: app: wordpress tier: frontend type: LoadBalancer --- apiVersion: apps/v1 # az 1.9.0 előtti verziókhoz használja az apps/v1beta2 értéket kind: Deployment metadata: name: 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:4.8-apache name: wordpress env: - name: WORDPRESS_DB_HOST value: wordpress-mysql - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: mysql-pass 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 |
Mentse el a fájlt, miután végzett. Ezután alkalmazza a fenti konfigurációt a Kubernetes fürtre a következő paranccsal.
|
1 |
kubectl apply -f wordpress-deployment.yaml |
A következő kimenetben egy sikeres telepítési üzenetet kell látnia.
|
1 2 |
service/wordpress created deployment.apps/wordpress created |
A WordPress telepítés ellenőrzéséhez futtassa a következő parancsot.
|
1 |
kubectl get deployments |
A következő kimenetben látnia kell a WordPress telepítés állapotát.

A WordPress webes felületének elérése
A WordPress vezérlőpult eléréséhez szüksége lesz a LoadBalancer külső IP-címére és portszámára. Ezt az információt a következő paranccsal kérheti le.
|
1 |
kubectl get svc |
A következő kimenetben megkapja a LoadBalancer IP-címét és portját.
|
1 2 3 4 |
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 29m wordpress LoadBalancer 10.100.80.70 78.141.194.181 80:31624/TCP 3m6s wordpress-mysql ClusterIP None <none> 3306/TCP 4m14s |
A WordPress podokról szóló részletes információk lekéréséhez futtassa a következő parancsot.
|
1 |
kubectl describe svc wordpress |
A következő kimenetben részletes információkat kell kapnia a WordPressről.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Név: wordpress Névtér: default Címkék: app=wordpress Annotációk: <nincs> Szelektor: app=wordpress,tier=frontend Típus: LoadBalancer IP Család Irányelv: SingleStack IP Családok: IPv4 IP: 10.100.80.70 IP-k: 10.100.80.70 LoadBalancer Ingress: 78.141.194.181 Port: <nincs beállítva> 80/TCP TargetPort: 80/TCP NodePort: <nincs beállítva> 31624/TCP Végpontok: 10.244.23.66:80 Munkamenet Affinitás: Nincs Külső Forgalmi Irányelv: Klaszter |
Most nyissa meg a webböngészőjét, és keresse fel a WordPress telepítési oldalát a következő URL-címen: http://78.141.194.181:3162. A következő képernyőn a WordPress telepítési oldalát kell látnia.

Válassza ki a nyelvet, és hajtsa végre a szükséges lépéseket a telepítési folyamat befejezéséhez.
Összegzés
Ebben a bejegyzésben elmagyaráztuk, hogyan helyezheti üzembe a MySQL-t és a WordPress-t perzisztens kötettel a Kubernetes fürtön. A WordPress telepítést a webhely forgalmától függően skálázhatja is. Most már használhatja a fenti telepítést a fejlesztési igényeitől függően.
Ezenkívül tekintse meg a blogunkon található többi, a Dockerre és a Kubernetesre összpontosító oktatóanyagot is:
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.