Natrag na blog

Postavljanje WordPressa s MySQL-om na Kubernetesu s Helmom

Postavljanje WordPressa s MySQL-om na Kubernetesu s Helmom

Kubernetes je sada standardni način za implementaciju aplikacija koje su skalabilne i imaju visoku dostupnost. Kubernetes omogućuje razvojnim programerima da brzo pokreću i zaustavljaju instance prema potrebi kako bi osigurali nesmetanu isporuku sadržaja. Da biste saznali više o Kubernetesu, pratite naš detaljni vodič Upoznavanje s Kubernetesom.

Helm je vrlo popularan upravitelj paketima koji se koristi za instaliranje aplikacija na Kubernetes. Helm ima za cilj implementirati i upravljati aplikacijama na Kubernetes klasterima te pojednostaviti proces u hodu. Također pruža pristup spremnim, pakiranim aplikacijama za Kubernetes. One se nazivaju Charts. Poznavanje Kubernetesa i Helma važan je dodatak arsenalu svakog DevOps stručnjaka.

WordPress je jedan od najpopularnijih sustava za upravljanje sadržajem (CMS). Njegovo kombiniranje s MySQL bazom podataka rezultira visokim performansama i visoko skalabilnim web aplikacijama. Održavanje MySQL-a vanjskim također će omogućiti većem broju aplikacija da iskoriste istu bazu podataka za svoje slučajeve upotrebe.

U ovom postu, mi ćemo instalirati WordPress na Kubernetes pomoću Helm upravitelja paketima i povezati ih s vanjskim MySQL poslužiteljem. Počnimo!

Preduvjeti

Sljedeće postavljanje softvera bit će potrebno za uspješan završetak ovog vodiča:

  1. Aktivan i pokrenut Kubernetes klaster. Pratite ovaj vodič za korake instalacije Kubernetesa na Ubuntuu.
  2. Kubernetes alat naredbenog retka kubectl.
  3. Trebat će vam instaliran Helm upravitelj paketima. Ako nemate spreman Helm za korištenje, možete ga preuzeti s njegove službene stranice s izdanjima na GitHub – helm/helm: The Kubernetes Package Manager. Da biste započeli s vodičem korak-po-korak za Helm, također možete pročitati Uvod u Helm: Upravitelj paketima za Kubernetes.
  4. Morat ćete imati instaliran MySQL zajedno s root korisnikom i lozinkom. Ako ste novi u MySQL-u, svakako pogledajte Kako postaviti MySQL na poslužitelj i osnove MySQL-a i MySQL korisnik – Stvaranje i dodjeljivanje dopuštenja.

Također morate imati pokrenut Kubernetes klaster povezan s MySQL-om. Za korisnike koji imaju više klastera, provjerite znate li koji je trenutni klaster povezan s MySQL-om. Da biste vidjeli sve različite klastere konfigurirane u vašoj kubectl konfiguracijskoj datoteci, pokrenite naredbu u nastavku:

Na svom računalu trebali biste dobiti sljedeći izlaz:

Current

Name

Cluster

AuthInfo

Namespace

*

docker-desktop

docker-desktop

docker-desktop

Budući da koristimo Docker Desktop za pokretanje Kubernetesa, vidjet ćete docker-desktop prikazano. Vaše vrijednosti mogu biti drugačije. Znak zvjezdice (*) označava koji je klaster trenutno zadani kontekst. U slučaju da trebate promijeniti trenutni kontekst, pokrenite:

Sada ste spremni pratiti korake vodiča.

Postavljanje MySQL-a

Prvo ćemo stvoriti namjenskog korisnika u MySQL-u za povezivanje s WordPressom. To je potrebno jer će naša instalacija WordPressa živjeti na zasebnom poslužitelju unutar Kubernetes klastera. S MySQL poslužitelja prijavite se u MySQL sljedećom naredbom:

Bit ćete upitani za root lozinku. Unesite lozinku i bit ćete povezani.

  • Stvaranje namjenske baze podataka za WordPress

U MySQL-u može postojati bilo koji broj baza podataka. Daljnje baze podataka također se mogu dijeliti među aplikacijama. WordPress također dolazi s vlastitom bazom podataka. Ovdje moramo stvoriti namjensku bazu podataka za WordPress. Da biste stvorili ovu namjensku bazu podataka, možete izvršiti naredbu u nastavku u MySQL ljusci:

  • Stvaranje namjenskog korisnika za WordPress

Nakon što je baza podataka stvorena, stvorit ćemo namjenskog korisnika za ovu bazu podataka. Koristit ćemo ovog korisnika za povezivanje s našom novostvornom bazom podataka:

Gore unesite jaku lozinku. Iako smo kreirali korisnika za WordPress, do sada nismo dodali nikakve privilegije. Moramo omogućiti privilegije našim korisnicima za pristup i DML (Data Manipulation) operacije. Kako bismo pojednostavili stvari, pružit ćemo našim korisnicima sve privilegije. Budite oprezni, ovo se ne preporučuje u produkciji. Izvršite naredbu u nastavku u MySQL ljusci:

Za ažuriranje internih MySQL tablica koje upravljaju dopuštenjima pristupa, upotrijebite sljedeću izjavu:

Na kraju, možete zatvoriti MySQL klijent pokretanjem naredbe u nastavku u MySQL ljusci:

  • Provjera našeg korisnika i baze podataka

Zatim moramo provjeriti može li se naš WordPress korisnik povezati s WordPress bazom podataka. Da biste to učinili, otvorite MySQL ljusku i pokrenite naredbu u nastavku:

Od vas će se tražiti lozinka. Upotrijebite lozinku koju ste gore unijeli za WordPress korisnika. Ako se možete prijaviti, čestitamo, uspješno ste kreirali MySQL korisnika. Zatim provjerite ima li ovaj korisnik pristup WordPress bazi podataka. Pokrenite naredbu u nastavku u MySQL ljusci:
Ako ispod vidite svoju WordPress bazu podataka, vaš WordPress korisnik ima pristup WordPress bazi podataka.

  • Dopuštanje udaljenih veza s našim MySQL poslužiteljem

Do sada imamo funkcionalnog WordPress korisnika i WordPress bazu podataka. Međutim, naš MySQL poslužitelj i WordPress baza podataka nalaze se na zasebnim poslužiteljima. Stoga moramo osigurati da se WordPress može povezati s MySQL bazom podataka. Za to moramo urediti našu MySQL konfiguraciju kako bismo omogućili veze koje dolaze s udaljenih računala. Morat ćete urediti mysqld.cnf datoteku. Na sustavima temeljenim na Linuxu ova se datoteka nalazi pod:

Nakon toga otvorite datoteku pomoću bilo kojeg uređivača teksta i pronađite bind-address. bind-address određuje IP adresu koju MySQL može slušati. Prema zadanim postavkama, MySQL sluša samo na 127.0.0.1.. Kako biste omogućili veze s vanjskih računala, promijenite bind-address na 0.0.0.0.. Kako bi ove promjene stupile na snagu, ponovno pokrenite MySQL poslužitelj pokretanjem naredbe u nastavku:

Zatim, ako želite testirati možete li se povezati na daljinu, pokrenite sljedeću naredbu sa svog lokalnog računala ili razvojnog poslužitelja:
Dodajte mysql_server_ip gornjoj naredbi i izvršite je. Ako se možete povezati bez pogrešaka, možete krenuti dalje.

Instalacija i nadogradnja WordPressa

WordPress prema zadanim postavkama koristi MariaDB kao svoju bazu podataka. Ne želimo koristiti ovu bazu podataka, jer želimo našu MySQL bazu podataka. Uz ovu promjenu također moramo konfigurirati administratorskog korisnika i lozinku. To ćemo učiniti implementacijom parametara naredbenog retka.

Prvo kreirajte novu mapu pod nazivom my blog-settings. Unutar mape kreirajte novu datoteku pod nazivom values.yaml datoteku. Unesite donji sadržaj u values.yaml datoteku:

Ova datoteka govori sama za sebe. Primijetite da smo u nastavku onemogućili MariaDB. Sada kada je naša konfiguracija spremna, vrijeme je za izvršavanje helm za WordPress instalaciju. Pokrenite naredbu u nastavku u PowerShellu:

Nakon što se proces završi, vidjet ćete kreiranu uslugu pod nazivom myblog-wordpress. Trebat će neko vrijeme prije nego što WordPress bude spreman za upotrebu. Da biste pronašli usluge koje se izvode, izvršite naredbu u nastavku:
Dobit ćete rezultat poput ovog:

NAME

TYPE

CLUSTER-IP

EXTERNAL-IP

PORT

myblog-wordpress

ClusterIP

10.96.0.1

<none>

80:31403/TCP,443:30879/TCP

Ovdje imamo vrlo korisne informacije o uslugama koje se izvode. Moramo obratiti pažnju na vanjski IP i port. Vanjski IP je IP na kojem se poslužuje vaš WordPress. Budući da koristimo Docker Desktop, pod vanjskim IP-om dobivamo none. IP ćete dobiti ovisno o vašem sustavu. Otvorite svoj web preglednik i unesite ovaj IP. Vidjet ćete stranicu za prijavu na WordPress:

WordPress with MySQL 1

Ovo su vjerodajnice koje smo naveli u gornjoj YAML datoteci. Unesite te vjerodajnice i bit ćete spremni konfigurirati svoju web stranicu na WordPressu i pohraniti sadržaj u našu novoizgrađenu MySQL bazu podataka.

Nadogradnja WordPressa

WordPress objavljuje ažuriranja kako bi ispravio sigurnosne propuste i uveo više značajki/ispravaka pogrešaka i još mnogo toga. Instalaciju WordPressa možete nadograditi pokretanjem naredbe u nastavku u PowerShellu:

Prije nadogradnje, ako želite vidjeti popis izdanja, možete pokrenuti naredbu u nastavku:

Dobit ćete sljedeći izlaz poput:

Ako želite vidjeti je li dostupna nova verzija WordPress repozitorija, možete pokrenuti naredbu u nastavku:

Kad god želite nadograditi svoje WordPress izdanje na najnoviji WordPress chart, trebali biste pokrenuti:

Moramo koristiti istu konfiguracijsku datoteku kao i prije kako se konfiguracijske vrijednosti ne bi promijenile.

Vraćanje izdanja

Svaki put kada izvršite nadogradnju pomoću Helma, Helm stvara kontrolnu točku izdanja. Možete se vratiti ako stvari ne budu radile kako se očekuje. Izdanja se mogu usporediti i vratiti natrag. Ako proces nadogradnje pođe po zlu zbog bilo kojeg problema, možete se vratiti na prethodno izdanje. Za vraćanje izvršite naredbu u nastavku:

U našem slučaju, pokrenite naredbu u nastavku za vraćanje na prethodno izdanje:

Kako biste sada provjerili je li postupak vraćanja uspješno završen, možete izvršiti naredbu helm list.

Zaključak

U ovom sveobuhvatnom vodiču pokazali smo vam kako postaviti MySQL i instalirati WordPress s ovim vanjskim MySQL-om. Instalirali smo WordPress na Kubernetes pomoću Helm upravitelja paketa te smo također izvršili nadogradnje u WordPressu.

Sada kada ste upoznati s instalacijom na Kubernetes pomoću Helma, nemojte se ovdje zaustaviti. Slobodno pregledajte CloudSigma blog kako biste saznali više o Kubernetesu:

Sretno računanje!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.