Kubernetes mostanra a skálázható és magas rendelkezésre állású alkalmazások telepítésének standard módjává vált. A Kubernetes lehetővé teszi a fejlesztők számára, hogy szükség szerint gyorsan elindítsanak és leállítsanak példányokat a tartalom zökkenőmentes kézbesítésének biztosítása érdekében. Ha többet szeretne megtudni a Kubernetesről, kövesse részletes útmutatónkat: Ismerkedés a Kubernetes-szel.
Helm egy nagyon népszerű csomagkezelő, amelyet alkalmazások Kubernetesre történő telepítésére használnak. A Helm célja az alkalmazások telepítése és kezelése Kubernetes klasztereken, valamint a folyamat menet közbeni egyszerűsítése. Hozzáférést biztosít a Kuberneteshez készült, előre csomagolt, használatra kész alkalmazásokhoz is. Ezeket úgy hívják, hogy Chartok. A Kubernetes és a Helm ismerete fontos kiegészítője minden DevOps szakember eszköztárának.
WordPress az egyik legnépszerűbb tartalomkezelő rendszer (CMS). Ha ezt kombináljuk a(z) MySQL adatbázissal, az nagy teljesítményű és rendkívül skálázható webes alkalmazásokat eredményez. A MySQL külsőleg történő tárolása azt is lehetővé teszi, hogy több alkalmazás is használhassa ugyanazt az adatbázist a saját céljaira.
Ebben a bejegyzésben mi telepíteni fogjuk a WordPress-t Kubernetes-re a Helm csomagkezelő segítségével, és csatlakoztatjuk őket egy külső MySQL szerverhez. Kezdjük el!
Prerequisites
A következő szoftveres beállításokra lesz szükség a bemutató sikeres elvégzéséhez:
- Egy működő Kubernetes klaszter. Kövesse ezt a útmutatót a Kubernetes Ubuntu-ra történő telepítésének lépéseiért.
- A Kubernetes parancssori eszköze, a
kubectl. - Szüksége lesz egy telepített Helm csomagkezelőre. Ha még nincs használatra kész Helm-je, letöltheti a hivatalos kiadási oldaláról a GitHub – helm/helm: The Kubernetes Package Manager oldalon. A Helm lépésről lépésre történő használatának megkezdéséhez elolvashatja a(z) Introduction to Helm: Package Manager for Kubernetes.
- Szüksége lesz a telepített MySQL-re, valamint a root felhasználóra és jelszóra. Ha új Önnek a MySQL, mindenképpen olvassa el a How to setup MySQL on a server and MySQL basics és a MySQL User – Create and Grant Permissions.
Szüksége van egy futó Kubernetes klaszterre is, amely csatlakozik a MySQL-hez. Azok a felhasználók, akik több klaszterrel rendelkeznek, győződjenek meg arról, hogy tudják, melyik az aktuális klaszter, amely a MySQL-hez kapcsolódik. A kubectl konfigurációs fájljában beállított összes különböző klaszter megtekintéséhez futtassa az alábbi parancsot:
|
1 |
kubectl config get-contexts |
A gépén a következő kimenetet kell kapnia:
|
Current |
Name |
Cluster |
AuthInfo |
Namespace |
|
* |
docker-desktop |
docker-desktop |
docker-desktop |
Mivel a Docker Desktopot használjuk a Kubernetes futtatásához, a(z) docker-desktop felirat látható. Az Ön értékei eltérőek lehetnek. A csillag karakter (*) jelzi, hogy melyik klaszter az aktuális alapértelmezett kontextus. Ha módosítania kell az aktuális kontextust, futtassa a következőt:
|
1 |
kubectl config use-context context-name |
Most már készen áll a bemutató lépéseinek követésére.
Setting Up MySQL
Először létrehozunk egy dedikált felhasználót a MySQL-ben a WordPress-hez való csatlakozáshoz. Ez azért szükséges, mert a WordPress telepítésünk egy külön szerveren fog futni a Kubernetes klaszteren belül. A MySQL szerverről jelentkezzen be a MySQL-be a következő paranccsal:
|
1 |
mysql -u root -p |
A rendszer kérni fogja a root jelszót. Adja meg a jelszót, és a kapcsolat létrejön.
-
Creating a dedicated database for WordPress
A MySQL-ben tetszőleges számú adatbázis létezhet. További adatbázisok is megoszthatók az alkalmazások között. A WordPress saját adatbázissal is rendelkezik. Itt egy dedikált adatbázist kell létrehoznunk a WordPress számára. Ezen dedikált adatbázis létrehozásához futtassa az alábbi utasítást a MySQL bash-ben:
|
1 |
CREATE DATABASE wordpress |
-
Creating dedicated user for Wordpress
Az adatbázis létrehozása után létrehozunk egy dedikált felhasználót ehhez az adatbázishoz. Ezt a felhasználót fogjuk használni az újonnan létrehozott adatbázisunkhoz való csatlakozáshoz:
|
1 |
CREATE USER wordpress_user IDENTIFIED BY '<password>'; |
Adjon meg egy erős jelszót fentebb. Bár létrehoztuk a felhasználót a WordPresshez, eddig még nem adtunk hozzá semmilyen jogosultságot. Biztosítanunk kell a jogosultságokat a felhasználóink számára a hozzáféréshez és a DML (adatmanipulációs) műveletekhez. A dolgok egyszerűsítése érdekében minden jogosultságot megadunk a felhasználóinknak. Legyen óvatos, ez éles (Production) környezetben nem ajánlott. Futtassa az alábbi parancsot a MySQL shellben:
|
1 |
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress_user@'%'; |
A hozzáférési jogosultságokat kezelő belső MySQL táblák frissítéséhez használja az alábbi utasítást:
|
1 |
FLUSH PRIVILEGES; |
Végül bezárhatja a MySQL klienst az alábbi parancs futtatásával a MySQL shellben:
|
1 |
Exit; |
-
A felhasználó és az adatbázis ellenőrzése
Ezután ellenőriznünk kell, hogy a WordPress felhasználónk tud-e csatlakozni a WordPress adatbázishoz. Ehhez nyissa meg a MySQL shellt, és futtassa az alábbi parancsot:
|
1 |
mysql -u <wordpress_user> -p |
|
1 |
show databases |
-
Távoli kapcsolatok engedélyezése a MySQL szerverünkhöz
Eddig van egy működő WordPress felhasználónk és egy WordPress adatbázisunk. Azonban a MySQL szerverünk és a WordPress adatbázisunk külön szervereken vannak. Ezért biztosítanunk kell, hogy a WordPress tudjon csatlakozni a MySQL adatbázishoz. Ehhez szerkesztenünk kell a MySQL konfigurációt, hogy engedélyezzük a távoli gazdagépekről érkező kapcsolatokat. Szerkesztenie kell a mysqld.cnf fájlt. Linux alapú rendszereken ez a fájl a következő helyen található:
|
1 |
/etc/mysql/mysql.conf.d/mysqld.cnf |
Ezután nyissa meg a fájlt bármelyik szövegszerkesztővel, és keresse meg a bind-address részt. A bind-address határozza meg azt az IP-címet, amelyen a MySQL figyelni tud. Alapértelmezés szerint a MySQL csak a következő címen figyel: 127.0.0.1.. A külső gazdagépekről érkező kapcsolatok engedélyezéséhez módosítsa a bind-address értéket erre: 0.0.0.0.. A változtatások érvénybe léptetéséhez indítsa újra a MySQL szervert az alábbi parancs futtatásával:
|
1 |
systemctl restart mysql |
|
1 |
mysql -h <mysql_server_ip> -u wordpress_user -p |
mysql_server_ip címet a fenti parancshoz, és futtassa. Ha hiba nélkül tud csatlakozni, továbbléphet.
A WordPress telepítése és frissítése
A WordPress alapértelmezés szerint a MariaDB-t használja adatbázisként. Mi nem szeretnénk ezt az adatbázist használni, mivel a saját MySQL adatbázisunkat akarjuk használni. Ezzel a változtatással együtt az adminisztrátori felhasználót és jelszót is konfigurálnunk kell. Ezt parancssori paraméterek bevezetésével fogjuk megtenni.
Először hozzon létre egy új mappát my blog-settings néven. A mappán belül hozzon létre egy új fájlt values.yaml néven. Írja be az alábbi tartalmat a values.yaml fájlba:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
## WordPress Settings wordpressUsername: my_user wordpressPassword: some_strong_password wordpressEmail: sample@example.com wordpressFirstName: User wordpressLastName: Last wordpressBlogName: My Blog! ## Database Settings externalDatabase: host: <mysql_server_ip> user: wordpress_user password: password database: wordpress ## Enable Maria DB mariadb: enabled: false |
Ez a fájl magától értetődő. Vegye figyelembe, hogy alább letiltottuk a MariaDB-t. Most, hogy a konfigurációnk készen áll, ideje futtatni a helm egy WordPress telepítéshez. Futtassa az alábbi parancsot PowerShellben:
|
1 |
helm install myblog -f values.yaml stable/wordpress |
myblog-wordpress. Eltart egy kis ideig, mire a WordPress használatra kész lesz. A futó szolgáltatások lekérdezéséhez futtassa az alábbi parancsot:|
1 |
kubectl get services |
|
NAME |
TYPE |
CLUSTER-IP |
EXTERNAL-IP |
PORT |
|
myblog-wordpress |
ClusterIP |
10.96.0.1 |
<none> |
80:31403/TCP,443:30879/TCP |
Itt nagyon hasznos információkat találunk a futó szolgáltatásokról. Figyelnünk kell a külső IP-címre és a portra. A külső IP az az IP-cím, amelyen a WordPress elérhető. Mivel a Docker Desktopot használjuk, a külső IP alatt a none értéket kapjuk. Az IP-címet a rendszerétől függően fogja megkapni. Nyissa meg a webböngészőjét, és írja be ezt az IP-címet. Meg fogja látni a WordPress bejelentkezési oldalát:
Ezek azok a hitelesítő adatok, amelyeket a fenti YAML fájlban megadtunk. Adja meg ezeket a hitelesítő adatokat, és máris készen áll arra, hogy konfigurálja webhelyét a WordPressen, és tartalmat tároljon az újonnan létrehozott MySQL adatbázisunkban.
A WordPress frissítése
A WordPress frissítéseket ad ki a biztonsági rések kijavítására, valamint további funkciók/hibajavítások és egyebek bevezetésére. A WordPress telepítést az alábbi parancs PowerShellben történő futtatásával frissítheti:
|
1 |
helm upgrade |
A frissítés előtt, ha meg szeretné tekinteni a kiadások listáját, futtassa az alábbi parancsot:
|
1 |
helm list |
Az alábbihoz hasonló kimenetet fog kapni:
|
1 2 3 |
Várjon türelemmel amíg mi beszerezzük a legújabbat innen: az Ön chart tárolói… …Kihagyás helyi chart tároló …Sikeresen megérkezett egy frissítés innen: a “stable” chart tároló |
Ha meg szeretné nézni, hogy elérhető-e a WordPress tároló új verziója, futtassa az alábbi parancsot:
|
1 |
helm inspect chart stable/wordpress |
Amikor frissíteni szeretné a WordPress kiadását a legújabb WordPress chartra, futtassa a következőt:
|
1 |
helm upgrade -f values.yaml <your_name> stable/wordpress |
Ugyanazt a konfigurációs fájlt kell használnunk, mint korábban, hogy a konfigurációs értékek ne változzanak meg.
Kiadás visszagörgetése
Minden alkalommal, amikor frissítést hajt végre a Helm segítségével, a Helm létrehoz egy ellenőrzőpontot a kiadásról. Visszatérhet ide, ha a dolgok nem a várt módon működnek. A kiadások összehasonlíthatók és visszaállíthatók. Ha a frissítési folyamat valamilyen hiba miatt meghiúsul, visszagörgethet az előző kiadásra. A visszagörgetéshez futtassa az alábbi parancsot:
|
1 |
helm rollback release-name revision-number |
A mi esetünkben futtassa az alábbi parancsot az előző kiadásra való visszatéréshez:
|
1 |
helm rollback myblog 1 |
Annak ellenőrzéséhez, hogy a visszaállítási folyamat sikeresen befejeződött, futtassa a helm list parancsot.
Összegzés
Ebben az átfogó útmutatóban bemutattuk, hogyan állíthatja be a MySQL-t, és hogyan telepítheti a WordPress-t ezzel a külső MySQL-lel. Telepítettük a WordPress-t Kubernetes-re a Helm csomagkezelő segítségével, valamint frissítéseket is végeztünk a WordPress-ben.
Most, hogy már ismeri a Kubernetes-re történő telepítést a Helm segítségével, ne álljon meg itt. Nyugodtan böngésszen a CloudSigma blogon, hogy többet tudjon meg a Kubernetes-ről:
- PHP-alkalmazás telepítése Kubernetes-fürtre Ubuntu 18.04 rendszeren
- Kubernetes-fürt létrehozása Kubeadm használatával Ubuntu 18.04 rendszeren
- Mi az a Docker? A Docker ökoszisztéma áttekintése
Kellemes számítástechnikát!

Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.