Επιστροφή στο blog

Ρύθμιση του WordPress με MySQL στο Kubernetes με το Helm

Ρύθμιση του WordPress με MySQL στο Kubernetes με το Helm

Kubernetes είναι πλέον ο τυπικός τρόπος για την ανάπτυξη εφαρμογών που είναι επεκτάσιμες και έχουν υψηλή διαθεσιμότητα. Το Kubernetes επιτρέπει στους προγραμματιστές να ενεργοποιούν και να απενεργοποιούν γρήγορα στιγμιότυπα όπως απαιτείται για να διασφαλίσουν την ομαλή παράδοση περιεχομένου. Για να μάθετε περισσότερα σχετικά με το Kubernetes, ακολουθήστε τον λεπτομερή οδηγό μας Γνωρίζοντας το Kubernetes.

Helm είναι ένας πολύ δημοφιλής διαχειριστής πακέτων που χρησιμοποιείται για την εγκατάσταση εφαρμογών στο Kubernetes. Το Helm στοχεύει στην ανάπτυξη και διαχείριση εφαρμογών σε συμπλέγματα Kubernetes και στην απλοποίηση της διαδικασίας στην πορεία. Παρέχει επίσης πρόσβαση σε έτοιμες προς χρήση εφαρμογές για το Kubernetes που είναι συσκευασμένες. Αυτές ονομάζονται Charts. Η εξοικείωση με το Kubernetes και το Helm είναι μια σημαντική προσθήκη στο οπλοστάσιο κάθε ειδικού DevOps.

WordPress είναι ένα από τα πιο δημοφιλή συστήματα διαχείρισης περιεχομένου (CMS). Ο συνδυασμός του με τη MySQL βάση δεδομένων οδηγεί σε υψηλή απόδοση και εξαιρετικά επεκτάσιμες εφαρμογές ιστού. Η διατήρηση της MySQL εξωτερικά θα επιτρέψει επίσης σε περισσότερες εφαρμογές να αξιοποιήσουν την ίδια βάση δεδομένων για τις δικές τους περιπτώσεις χρήσης.

Σε αυτήν την ανάρτηση, εμείς θα εγκαταστήσουμε το WordPress στο Kubernetes χρησιμοποιώντας τον διαχειριστή πακέτων Helm και θα τα συνδέσουμε σε έναν εξωτερικό διακομιστή MySQL. Ας ξεκινήσουμε!

Προαπαιτούμενα

Η ακόλουθη ρύθμιση λογισμικού θα απαιτηθεί για την επιτυχή ολοκλήρωση αυτού του οδηγού:

  1. Ένα ενεργό και σε λειτουργία σύμπλεγμα Kubernetes. Ακολουθήστε αυτόν τον οδηγό για τα βήματα εγκατάστασης του Kubernetes σε Ubuntu.
  2. Το εργαλείο γραμμής εντολών του Kubernetes kubectl.
  3. Θα χρειαστείτε εγκατεστημένο τον διαχειριστή πακέτων Helm. Εάν δεν έχετε έτοιμο το Helm για χρήση, μπορείτε να το κατεβάσετε από την επίσημη σελίδα κυκλοφορίας του στο GitHub – helm/helm: The Kubernetes Package Manager. Για να ξεκινήσετε με έναν οδηγό βήμα προς βήμα για το Helm, μπορείτε επίσης να διαβάσετε το Introduction to Helm: Package Manager for Kubernetes.
  4. Θα πρέπει να έχετε εγκατεστημένη τη MySQL μαζί με τον χρήστη root και τον κωδικό πρόσβασης. Εάν είστε νέος στη MySQL, φροντίστε να δείτε το Πώς να ρυθμίσετε τη MySQL σε έναν διακομιστή και τα βασικά της MySQL και το MySQL User – Create and Grant Permissions.

Πρέπει επίσης να έχετε ένα ενεργό σύμπλεγμα Kubernetes συνδεδεμένο με τη MySQL. Για χρήστες που έχουν πολλαπλά συμπλέγματα, βεβαιωθείτε ότι γνωρίζετε το τρέχον σύμπλεγμα που είναι συνδεδεμένο με τη MySQL. Για να δείτε όλα τα διαφορετικά συμπλέγματα που έχουν ρυθμιστεί στο αρχείο ρυθμίσεων kubectl, εκτελέστε την παρακάτω εντολή:

Στο μηχάνημά σας, θα πρέπει να λάβετε το παρακάτω αποτέλεσμα:

Current

Name

Cluster

AuthInfo

Namespace

*

docker-desktop

docker-desktop

docker-desktop

Εφόσον χρησιμοποιούμε το Docker Desktop για την εκτέλεση του Kubernetes, βλέπετε να εμφανίζεται το docker-desktop. Οι τιμές σας ενδέχεται να διαφέρουν. Το σύμβολο του αστερίσκου (*) υποδεικνύει ποιο σύμπλεγμα είναι αυτήν τη στιγμή το προεπιλεγμένο πλαίσιο (context). Σε περίπτωση που χρειαστεί να αλλάξετε το τρέχον πλαίσιο, εκτελέστε:

Είστε πλέον έτοιμοι να ακολουθήσετε τα βήματα του οδηγού.

Setting Up MySQL

Αρχικά, θα δημιουργήσουμε έναν αποκλειστικό χρήστη στη MySQL για να συνδεθεί στο WordPress. Αυτό είναι απαραίτητο επειδή η εγκατάσταση του WordPress θα βρίσκεται σε ξεχωριστό διακομιστή μέσα στο σύμπλεγμα Kubernetes. Από τον διακομιστή MySQL, συνδεθείτε στη MySQL με την ακόλουθη εντολή:

Θα σας ζητηθεί ο κωδικός πρόσβασης root. Εισαγάγετε τον κωδικό πρόσβασης και θα συνδεθείτε.

  • Δημιουργία αποκλειστικής βάσης δεδομένων για το WordPress

Στη MySQL μπορεί να υπάρχει οποιοσδήποτε αριθμός βάσεων δεδομένων. Επιπλέον βάσεις δεδομένων μπορούν επίσης να κοινοποιηθούν μεταξύ εφαρμογών. Το WordPress συνοδεύεται επίσης από τη δική του βάση δεδομένων. Εδώ πρέπει να δημιουργήσουμε μια αποκλειστική βάση δεδομένων για το WordPress. Για να δημιουργήσετε αυτήν την αποκλειστική βάση δεδομένων, μπορείτε να εκτελέσετε την παρακάτω δήλωση στο bash της MySQL:

  • Δημιουργία αποκλειστικού χρήστη για το WordPress

Μετά τη δημιουργία της βάσης δεδομένων, θα δημιουργήσουμε έναν αποκλειστικό χρήστη για αυτήν τη βάση δεδομένων. Θα χρησιμοποιήσουμε αυτόν τον χρήστη για να συνδεθούμε στη νεοσύστατη βάση δεδομένων μας:

Εισαγάγετε έναν ισχυρό κωδικό πρόσβασης παραπάνω. Παρόλο που έχουμε δημιουργήσει τον χρήστη για το WordPress, δεν έχουμε προσθέσει δικαιώματα μέχρι στιγμής. Πρέπει να παρέχουμε δικαιώματα στους χρήστες μας για πρόσβαση και λειτουργίες DML (Data Manipulation). Για να κρατήσουμε τα πράγματα απλά, θα παρέχουμε στους χρήστες μας όλα τα δικαιώματα. Προσοχή, αυτό δεν συνιστάται σε περιβάλλον Παραγωγής. Εκτελέστε την παρακάτω εντολή στο κέλυφος της MySQL:

Για να ενημερώσετε τους εσωτερικούς πίνακες της MySQL που διαχειρίζονται τα δικαιώματα πρόσβασης, χρησιμοποιήστε την ακόλουθη δήλωση:

Τέλος, μπορείτε να κλείσετε τον πελάτη MySQL εκτελώντας την παρακάτω εντολή στο κέλυφος της MySQL:

  • Επαλήθευση του χρήστη και της βάσης δεδομένων μας

Στη συνέχεια, πρέπει να επαληθεύσουμε ότι ο WordPress χρήστης μας μπορεί να συνδεθεί στη βάση δεδομένων WordPress. Για να το κάνετε αυτό, ανοίξτε το κέλυφος της MySQL και εκτελέστε την παρακάτω εντολή:

Θα σας ζητηθεί ο κωδικός πρόσβασης. Χρησιμοποιήστε τον κωδικό πρόσβασης που είχατε εισαγάγει παραπάνω για τον χρήστη WordPress. Εάν μπορείτε να συνδεθείτε, συγχαρητήρια, δημιουργήσατε έναν χρήστη MySQL με επιτυχία. Στη συνέχεια, επαληθεύστε ότι αυτός ο χρήστης έχει πρόσβαση στη βάση δεδομένων WordPress. Εκτελέστε την παρακάτω εντολή στο κέλυφος της MySQL:
Εάν δείτε τη βάση δεδομένων WordPress παρακάτω, ο χρήστης WordPress έχει πρόσβαση στη βάση δεδομένων WordPress.

  • Επιτρέποντας απομακρυσμένες συνδέσεις στον διακομιστή MySQL μας

Μέχρι τώρα, έχουμε έναν λειτουργικό χρήστη WordPress και μια βάση δεδομένων WordPress. Ωστόσο, ο διακομιστής MySQL και η βάση δεδομένων WordPress βρίσκονται σε ξεχωριστούς διακομιστές. Επομένως, πρέπει να διασφαλίσουμε ότι το WordPress μπορεί να συνδεθεί στη βάση δεδομένων MySQL. Για αυτό, πρέπει να επεξεργαστούμε τις ρυθμίσεις της MySQL για να επιτρέψουμε συνδέσεις που προέρχονται από απομακρυσμένους κεντρικούς υπολογιστές. Θα χρειαστεί να επεξεργαστείτε το αρχείο mysqld.cnf αρχείο. Σε συστήματα που βασίζονται στο Linux, αυτό το αρχείο βρίσκεται κάτω από το:

Μετά από αυτό, ανοίξτε το αρχείο χρησιμοποιώντας οποιονδήποτε επεξεργαστή κειμένου και εντοπίστε το bind-address. Το bind-address καθορίζει την IP στην οποία μπορεί να ακούει η MySQL. Από προεπιλογή, η MySQL ακούει μόνο στο 127.0.0.1.. Για να επιτρέψετε συνδέσεις από εξωτερικούς κεντρικούς υπολογιστές, αλλάξτε το bind-address σε 0.0.0.0.. Για να εφαρμοστούν αυτές οι αλλαγές, επανεκκινήστε τον διακομιστή MySQL εκτελώντας την παρακάτω εντολή:

Σαι συνέχεια, εάν θέλετε να δοκιμάσετε εάν μπορείτε να συνδεθείτε απομακρυσμένα, εκτελέστε την ακόλουθη εντολή από το τοπικό σας μηχάνημα ή τον διακομιστή ανάπτυξης:
Προσθέστε το mysql_server_ip στην παρακάτω εντολή και εκτελέστε την. Εάν μπορείτε να συνδεθείτε χωρίς σφάλματα, μπορείτε να προχωρήσετε.

Εγκατάσταση και αναβάθμιση του WordPress

Το WordPress από προεπιλογή χρησιμοποιεί τη MariaDB ως βάση δεδομένων του. Δεν θέλουμε να χρησιμοποιήσουμε αυτήν τη βάση δεδομένων, καθώς θέλουμε τη δική μας βάση δεδομένων MySQL. Μαζί με αυτήν την αλλαγή, πρέπει επίσης να διαμορφώσουμε τον χρήστη διαχειριστή και τον κωδικό πρόσβασης. Θα το κάνουμε αυτό εφαρμόζοντας παραμέτρους γραμμής εντολών.

Αρχικά, δημιουργήστε έναν νέο φάκελο με το όνομα my blog-settings. Μέσα στον φάκελο δημιουργήστε ένα νέο αρχείο με το όνομα values.yaml αρχείο. Εισαγάγετε τα παρακάτω περιεχόμενα στο αρχείο values.yaml αρχείο:

Αυτό το αρχείο είναι αυτονόητο. Παρατηρήστε ότι παρακάτω έχουμε απενεργοποιήσει τη MariaDB. Τώρα που η διαμόρφωσή μας είναι έτοιμη, ήρθε η ώρα να εκτελέσουμε το helm για μια εγκατάσταση WordPress. Εκτελέστε την παρακάτω εντολή στο PowerShell:

Μόλις ολοκληρωθεί η διαδικασία, θα δείτε μια υπηρεσία που δημιουργήθηκε με το όνομα myblog-wordpress. Θα χρειαστεί λίγος χρόνος μέχρι το WordPress να είναι έτοιμο για χρήση. Για να βρείτε τις υπηρεσίες που εκτελούνται, εκτελέστε την παρακάτω εντολή:
Θα λάβετε ένα αποτέλεσμα σαν αυτό:

NAME

TYPE

CLUSTER-IP

EXTERNAL-IP

PORT

myblog-wordpress

ClusterIP

10.96.0.1

<none>

80:31403/TCP,443:30879/TCP

Εδώ έχουμε πολύ χρήσιμες πληροφορίες σχετικά με τις υπηρεσίες που εκτελούνται. Πρέπει να δώσουμε προσοχή στην εξωτερική IP και τη θύρα. Η εξωτερική IP είναι η IP στην οποία εξυπηρετείται το WordPress σας. Εφόσον χρησιμοποιούμε το Docker Desktop, λαμβάνουμε none κάτω από το external IP. Θα λάβετε την IP ανάλογα με το σύστημά σας. Ανοίξτε το πρόγραμμα περιήγησης ιστού και εισαγάγετε αυτήν την IP. Θα δείτε τη σελίδα σύνδεσης του WordPress:

WordPress with MySQL 1

Αυτά είναι τα διαπιστευτήρια που έχουμε παράσχει στο παραπάνω αρχείο YAML . Εισαγάγετε αυτά τα διαπιστευτήρια και θα είστε έτοιμοι να διαμορφώσετε τον ιστότοπό σας στο WordPress και να αποθηκεύσετε περιεχόμενο στη νεοδημιουργηθείσα βάση δεδομένων MySQL.

Αναβάθμιση του WordPress

Το WordPress κυκλοφορεί ενημερώσεις για τη διόρθωση ευπαθειών ασφαλείας και τη διάθεση περισσότερων δυνατοτήτων/διορθώσεων σφαλμάτων και άλλων. Μπορείτε να αναβαθμίσετε την εγκατάσταση του WordPress εκτελώντας την παρακάτω εντολή στο PowerShell:

Πριν από την αναβάθμιση, εάν θέλετε να δείτε τη λίστα των εκδόσεων, μπορείτε να εκτελέσετε την παρακάτω εντολή:

Θα λάβετε το παρακάτω αποτέλεσμα όπως:

Εάν θέλετε να δείτε εάν υπάρχει νέα έκδοση του αποθετηρίου WordPress διαθέσιμη, μπορείτε να εκτελέσετε την παρακάτω εντολή:

Όποτε θέλετε να αναβαθμίσετε την έκδοση του WordPress σας στο πιο πρόσφατο WordPress chart, θα πρέπει να εκτελέσετε:

Πρέπει να χρησιμοποιήσουμε το ίδιο αρχείο ρυθμίσεων με πριν, ώστε οι τιμές των ρυθμίσεων να μην αλλάξουν.

Επαναφορά μιας έκδοσης

Κάθε φορά που πραγματοποιείτε μια αναβάθμιση χρησιμοποιώντας το Helm, το Helm δημιουργεί ένα σημείο ελέγχου της έκδοσης. Μπορείτε να επιστρέψετε εάν τα πράγματα δεν λειτουργούν όπως αναμένεται. Οι εκδόσεις μπορούν να συγκριθούν και να επαναφερθούν. Εάν η διαδικασία αναβάθμισης πάει στραβά λόγω οποιουδήποτε προβλήματος, μπορείτε να επαναφέρετε την προηγούμενη έκδοση. Για να κάνετε επαναφορά, εκτελέστε την παρακάτω εντολή:

Στη δική μας περίπτωση, εκτελέστε την παρακάτω εντολή για να επαναφέρετε την προηγούμενη έκδοση:

Για να επαληθεύσετε τώρα ότι η διαδικασία επαναφοράς ολοκληρώθηκε με επιτυχία, μπορείτε να εκτελέσετε την εντολή helm list.

Συμπέρασμα

Σε αυτόν τον ολοκληρωμένο οδηγό, σας δείξαμε πώς να εγκαταστήσετε τη MySQL και να εγκαταστήσετε το WordPress με αυτήν την εξωτερική MySQL. Εγκαταστήσαμε το WordPress στο Kubernetes χρησιμοποιώντας τον διαχειριστή πακέτων Helm και επίσης πραγματοποιήσαμε αναβαθμίσεις στο WordPress.

Τώρα που γνωρίζετε την εγκατάσταση στο Kubernetes χρησιμοποιώντας το Helm, μην σταματήσετε εδώ. Μη διστάσετε να περιηγηθείτε στο ιστολόγιο της CloudSigma για να μάθετε περισσότερα σχετικά με το Kubernetes:

Καλή υπολογιστική!

author

Hark Labs

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.