Späť na blog

Nastavenie WordPressu s MySQL na Kubernetes pomocou Helm

Nastavenie WordPressu s MySQL na Kubernetes pomocou Helm

Kubernetes je v súčasnosti štandardným spôsobom nasadzovania aplikácií, ktoré sú škálovateľné a majú vysokú dostupnosť. Kubernetes umožňuje vývojárom rýchlo spúšťať a vypínať inštancie podľa potreby, aby sa zabezpečilo plynulé doručovanie obsahu. Ak sa chcete dozvedieť viac o Kubernetes, postupujte podľa nášho podrobného sprievodcu Spoznávame Kubernetes.

Helm je veľmi populárny správca balíkov, ktorý sa používa na inštaláciu aplikácií v Kubernetes. Cieľom Helmu je nasadzovať a spravovať aplikácie v klastroch Kubernetes a zjednodušiť celý proces. Poskytuje tiež prístup k hotovým zabaleným aplikáciám pre Kubernetes. Tieto sa nazývajú Charts. Znalosť Kubernetes a Helm je dôležitým doplnkom arzenálu každého špecialistu na DevOps.

WordPress je jedným z najpopulárnejších systémov na správu obsahu (CMS). Jeho kombinácia s databázou MySQL prináša vysoký výkon a vysoko škálovateľné webové aplikácie. Ponechanie MySQL ako externého riešenia tiež umožní viacerým aplikáciám využívať rovnakú databázu pre ich prípady použitia.

V tomto príspevku budeme inštalovať WordPress na Kubernetes pomocou správcu balíkov Helm a pripojíme ich k externému serveru MySQL. Začnime!

Požiadavky

Na úspešné dokončenie tohto návodu bude potrebné nasledujúce softvérové nastavenie:

  1. Spustený a funkčný klaster Kubernetes. Postupujte podľa tohto návodu na inštaláciu Kubernetes na Ubuntu.
  2. Nástroj príkazového riadka Kubernetes kubectl.
  3. Budete musieť mať nainštalovaného správcu balíkov Helm. Ak nemáte Helm pripravený na použitie, môžete si ho stiahnuť z jeho oficiálnej stránky vydaní na GitHub – helm/helm: The Kubernetes Package Manager. Ak chcete začať s podrobným sprievodcom pre Helm, môžete si tiež prečítať Úvod do Helm: Správca balíkov pre Kubernetes.
  4. Budete musieť mať nainštalovaný MySQL spolu s root používateľom a heslom. Ak ste v MySQL nováčikom, určite si pozrite Ako nastaviť MySQL na serveri a základy MySQL a Používateľ MySQL – vytvorenie a udelenie oprávnení.

Musíte mať tiež spustený klaster Kubernetes pripojený k MySQL. Pre používateľov, ktorí majú viacero klastrov, sa uistite, že poznáte aktuálny klaster pripojený k MySQL. Ak chcete zobraziť všetky rôzne klastre nakonfigurované vo vašom kubectl konfiguračnom súbore, spustite nasledujúci príkaz:

Na vašom počítači by ste mali získať nasledujúci výstup:

Current

Name

Cluster

AuthInfo

Namespace

*

docker-desktop

docker-desktop

docker-desktop

Keďže na spustenie Kubernetes používame Docker Desktop, uvidíte zobrazené docker-desktop zobrazené. Vaše hodnoty sa môžu líšiť. Znak hviezdičky (*) označuje, ktorý klaster je momentálne predvoleným kontextom. V prípade, že potrebujete zmeniť aktuálny kontext, spustite:

Teraz ste pripravení postupovať podľa krokov v návode.

Nastavenie MySQL

Najprv vytvoríme v MySQL vyhradeného používateľa na pripojenie k WordPressu. Je to potrebné, pretože naša inštalácia WordPressu bude umiestnená na samostatnom serveri v klastri Kubernetes. Zo servera MySQL sa prihláste do MySQL pomocou nasledujúceho príkazu:

Budete požiadaní o zadanie hesla root. Zadajte heslo a budete pripojení.

  • Vytvorenie vyhradenej databázy pre WordPress

V MySQL môže byť ľubovoľný počet databáz. Ďalšie databázy môžu byť tiež zdieľané medzi aplikáciami. WordPress prichádza aj s vlastnou databázou. Tu musíme vytvoriť vyhradenú databázu pre WordPress. Ak chcete vytvoriť túto vyhradenú databázu, môžete spustiť nasledujúci príkaz v MySQL bashi:

  • Vytvorenie vyhradeného používateľa pre WordPress

Po vytvorení databázy vytvoríme pre túto databázu vyhradeného používateľa. Tohto používateľa použijeme na pripojenie k našej novovytvorenej databáze:

Vyššie zadajte silné heslo. Hoci sme vytvorili používateľa pre WordPress, doteraz sme nepridali žiadne privilégiá. Našim používateľom musíme poskytnúť privilégiá na prístup a operácie DML (Data Manipulation). Aby sme to zjednodušili, poskytneme našim používateľom všetky privilégiá. Buďte opatrní, toto sa v produkčnom prostredí neodporúča. V shelli MySQL spustite nasledujúci príkaz:

Ak chcete aktualizovať interné tabuľky MySQL, ktoré spravujú prístupové práva, použite nasledujúci príkaz:

Nakoniec môžete klienta MySQL zatvoriť spustením nasledujúceho príkazu v shelli MySQL:

  • Overenie nášho používateľa a databázy

Ďalej musíme overiť, že náš WordPress používateľ sa môže pripojiť k databáze WordPress. Ak to chcete urobiť, otvorte shell MySQL a spustite nasledujúci príkaz:

Budete vyzvaní na zadanie hesla. Použite heslo, ktoré ste zadali vyššie pre používateľa WordPress. Ak sa môžete prihlásiť, blahoželáme, úspešne ste vytvorili používateľa MySQL. Ďalej overte, či má tento používateľ prístup k databáze WordPress. V shelli MySQL spustite nasledujúci príkaz:
Ak nižšie vidíte svoju databázu WordPress, váš používateľ WordPress má prístup k databáze WordPress.

  • Povolenie vzdialených pripojení k nášmu serveru MySQL

Až doteraz máme funkčného používateľa WordPress a databázu WordPress. Náš server MySQL a databáza WordPress sú však na samostatných serveroch. Preto musíme zabezpečiť, aby sa WordPress mohol pripojiť k databáze MySQL. Na tento účel musíme upraviť našu konfiguráciu MySQL tak, aby umožňovala pripojenia prichádzajúce zo vzdialených hostiteľov. Budete musieť upraviť súbor mysqld.cnf súbor. V systémoch založených na Linuxe sa tento súbor nachádza pod:

Potom otvorte súbor pomocou ľubovoľného textového editora a vyhľadajte bind-address. Parameter bind-address určuje IP adresu, na ktorej môže MySQL počúvať. V predvolenom nastavení MySQL počúva iba na 127.0.0.1.. Ak chcete povoliť pripojenia z externých hostiteľov, zmeňte bind-address na 0.0.0.0.. Aby sa tieto zmeny prejavili, reštartujte server MySQL spustením nasledujúceho príkazu:

Ďalej, ak chcete otestovať, či sa dokážete pripojiť na diaľku, spustite nasledujúci príkaz z lokálneho počítača alebo vývojového servera:
Pridajte mysql_server_ip do vyššie uvedeného príkazu a spustite ho. Ak sa dokážete pripojiť bez chýb, môžete pokračovať ďalej.

Inštalácia a aktualizácia WordPressu

WordPress predvolene používa ako svoju databázu MariaDB. Túto databázu nechceme použiť, keďže chceme našu databázu MySQL. Spolu s touto zmenou musíme nakonfigurovať aj administrátorského používateľa a heslo. Urobíme to implementáciou parametrov príkazového riadku.

Najprv vytvorte nový priečinok s názvom my blog-settings. Vo vnútri priečinka vytvorte nový súbor s názvom values.yaml. Do súboru values.yaml zadajte nasledujúci obsah:

Tento súbor je zrozumiteľný sám o sebe. Všimnite si, že nižšie sme zakázali MariaDB. Teraz, keď je naša konfigurácia pripravená, je čas spustiť helm pre inštaláciu WordPressu. Spustite nasledujúci príkaz v PowerShell:

Po dokončení procesu uvidíte vytvorenú službu s názvom myblog-wordpress. Bude to chvíľu trvať, kým bude WordPress pripravený na použitie. Ak chcete zistiť, ktoré služby bežia, spustite nasledujúci príkaz:
Dostanete výsledok ako tento:

NAME

TYPE

CLUSTER-IP

EXTERNAL-IP

PORT

myblog-wordpress

ClusterIP

10.96.0.1

<none>

80:31403/TCP,443:30879/TCP

Tu máme veľmi užitočné informácie o spustených službách. Musíme venovať pozornosť externej IP adrese a portu. Externá IP je IP adresa, na ktorej je poskytovaný váš WordPress. Keďže používame Docker Desktop, pod externou IP dostávame none. IP adresu dostanete v závislosti od vášho systému. Otvorte webový prehliadač a zadajte túto IP adresu. Uvidíte prihlasovaciu stránku WordPressu:

WordPress with MySQL 1

Toto sú prihlasovacie údaje, ktoré sme uviedli vo vyššie uvedenom súbore YAML . Zadajte tieto prihlasovacie údaje a budete pripravení nakonfigurovať svoju webovú stránku na WordPresse a ukladať obsah do našej novovytvorenej databázy MySQL.

Aktualizácia WordPressu

WordPress vydáva aktualizácie na opravu bezpečnostných zraniteľností a prináša ďalšie funkcie/opravy chýb a iné. Inštaláciu WordPressu môžete aktualizovať spustením nasledujúceho príkazu v PowerShell:

Pred aktualizáciou, ak chcete vidieť zoznam vydaní, môžete spustiť nasledujúci príkaz:

Dostanete nasledujúci výstup ako:

Ak chcete zistiť, či je k dispozícii nová verzia repozitára WordPress, môžete spustiť nasledujúci príkaz:

Vždy, keď chcete aktualizovať svoje vydanie WordPressu na najnovší chart WordPressu, mali by ste spustiť:

Musíme použiť rovnaký konfiguračný súbor ako predtým, aby sa hodnoty konfigurácie nezmenili.

Vrátenie zmien vydania

Pri každej aktualizácii pomocou nástroja Helm vytvorí Helm kontrolný bod (checkpoint) vydania. Ak veci nefungujú podľa očakávania, môžete sa vrátiť späť. Vydania je možné porovnávať a vracať späť. Ak sa proces aktualizácie pokazí kvôli akémukoľvek problému, môžete sa vrátiť k predchádzajúcemu vydaniu. Pre vrátenie zmien spustite nasledujúci príkaz:

V našom prípade spustite nasledujúci príkaz na vrátenie zmien na predchádzajúce vydanie:

Ak chcete teraz overiť, že proces vrátenia zmien bol úspešne dokončený, môžete spustiť príkaz helm list.

Záver

V tomto komplexnom návode sme vám ukázali, ako nastaviť MySQL a nainštalovať WordPress s touto externou databázou MySQL. Nainštalovali sme WordPress na Kubernetes pomocou správcu balíkov Helm a tiež sme vykonali aktualizácie vo WordPresse.

Teraz, keď už viete o inštalácii na Kubernetes pomocou nástroja Helm, nezastavujte sa tu. Neváhajte si prečítať blog CloudSigma, aby ste sa dozvedeli viac o Kubernetes:

Príjemnú prácu!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.