Bloğa geri dön

Helm ile Kubernetes Üzerinde MySQL ile WordPress Kurulumu

Helm ile Kubernetes Üzerinde MySQL ile WordPress Kurulumu

Kubernetes, ölçeklenebilir ve yüksek kullanılabilirliğe sahip uygulamaları dağıtmanın artık standart yoludur. Kubernetes, geliştiricilerin içeriğin sorunsuz bir şekilde sunulmasını sağlamak için gerektiğinde örnekleri hızlı bir şekilde başlatıp kapatmasına olanak tanır. Kubernetes hakkında daha fazla bilgi edinmek için ayrıntılı kılavuzumuzu takip edin: Getting to Know Kubernetes.

Helm, Kubernetes üzerinde uygulamalar yüklemek için kullanılan oldukça popüler bir paket yöneticisidir. Helm, Kubernetes kümelerinde uygulamaları dağıtmayı ve yönetmeyi ve bu süreci basitleştirmeyi amaçlar. Ayrıca Kubernetes için paketlenmiş, kullanıma hazır uygulamalara erişim sağlar. Bunlara Charts adı verilir. Kubernetes ve Helm'e aşina olmak, her DevOps uzmanının cephaneliğine önemli bir katkıdır.

WordPress, en popüler İçerik Yönetim sistemlerinden (CMS) biridir. Bunu MySQL veritabanı ile birleştirmek, yüksek performanslı ve son derece ölçeklenebilir web uygulamalarıyla sonuçlanır. MySQL'i harici tutmak, daha fazla uygulamanın kendi kullanım senaryoları için aynı veritabanından yararlanmasına da olanak tanır.

Bu yazıda, Helm paket yöneticisini kullanarak Kubernetes üzerinde WordPress kuracağız ve bunları harici bir MySQL sunucusuna bağlayacağız. Hadi başlayalım!

Gereksinimler

Bu eğitimin başarıyla tamamlanması için aşağıdaki yazılım kurulumuna ihtiyaç duyulacaktır:

  1. Çalışır durumda bir Kubernetes kümesi. Ubuntu üzerinde Kubernetes kurulum adımları için bu öğreticiyi takip edin.
  2. Kubernetes komut satırı aracı kubectl.
  3. Kurulu bir Helm paket yöneticisine ihtiyacınız olacak. Kullanıma hazır bir Helm'iniz yoksa, bunu GitHub – helm/helm: The Kubernetes Package Manager adresindeki resmi sürüm sayfasından indirebilirsiniz. Helm için adım adım bir kılavuzla başlamak için Introduction to Helm: Package Manager for Kubernetes.
  4. makalesini de okuyabilirsiniz. Root kullanıcısı ve şifresiyle birlikte MySQL'in kurulu olması gerekir. MySQL konusunda yeniyseniz, How to setup MySQL on a server and MySQL basics ve MySQL User – Create and Grant Permissions.

makalelerine göz attığınızdan emin olun. Ayrıca MySQL'e bağlı çalışan bir Kubernetes kümenizin olması gerekir. Birden fazla kümesi olan kullanıcılar için, MySQL'e bağlı mevcut kümeyi bildiğinizden emin olun. kubectl yapılandırma dosyanızda yapılandırılmış tüm farklı kümeleri görmek için aşağıdaki komutu çalıştırın:

Makinenizde aşağıdaki çıktıyı almanız gerekir:

Current

Name

Cluster

AuthInfo

Namespace

*

docker-desktop

docker-desktop

docker-desktop

Kubernetes'i çalıştırmak için Docker Desktop kullandığımızdan, docker-desktop ifadesinin gösterildiğini görürsünüz. Değerleriniz farklı olabilir. Yıldız işareti (*) şu anda hangi kümenin varsayılan bağlam olduğunu gösterir. Mevcut bağlamı değiştirmeniz gerekirse şu komutu çalıştırın:

Artık eğitimin adımlarını takip etmeye hazırsınız.

MySQL Kurulumu

İlk olarak, WordPress'e bağlanmak için MySQL'de özel bir kullanıcı oluşturacağız. Bu gereklidir çünkü WordPress kurulumumuz Kubernetes kümesi içindeki ayrı bir sunucuda yer alacaktır. MySQL sunucusundan, aşağıdaki komutla MySQL'e giriş yapın:

Sizden root şifresi istenecektir. Şifreyi girin ve bağlanacaksınız.

  • WordPress için özel bir veritabanı oluşturma

MySQL'de herhangi bir sayıda veritabanı olabilir. Diğer veritabanları uygulamalar arasında da paylaşılabilir. WordPress de kendi veritabanıyla birlikte gelir. Burada WordPress için özel bir veritabanı oluşturmamız gerekiyor. Bu özel veritabanını oluşturmak için MySQL bash üzerinde aşağıdaki ifadeyi çalıştırabilirsiniz:

  • WordPress için özel kullanıcı oluşturma

Veritabanı oluşturulduktan sonra, bu veritabanı için özel bir kullanıcı oluşturacağız. Bu kullanıcıyı yeni oluşturduğumuz veritabanımıza bağlanmak için kullanacağız:

Yukarıya güçlü bir şifre girin. WordPress için kullanıcıyı oluşturmuş olsak da şu ana kadar herhangi bir yetki eklemedik. Kullanıcılarımıza erişim ve DML (Veri İşleme) işlemleri için yetkiler vermemiz gerekiyor. İşleri basit tutmak adına, kullanıcılarımıza tüm yetkileri vereceğiz. Dikkatli olun, bu işlem Canlı (Production) ortamda önerilmez. MySQL kabuğunda aşağıdaki komutu çalıştırın:

Erişim izinlerini yöneten dahili MySQL tablolarını güncellemek için aşağıdaki ifadeyi kullanın:

Son olarak, MySQL kabuğunda aşağıdaki komutu çalıştırarak MySQL istemcisini kapatabilirsiniz:

  • Kullanıcımızı ve veritabanımızı doğrulama

Ardından, WordPress kullanıcısının WordPress veritabanına bağlanabildiğini doğrulamamız gerekiyor. Bunu yapmak için MySQL kabuğunu açın ve aşağıdaki komutu çalıştırın:

Sizden şifre istenecektir. Bir WordPress kullanıcısı için yukarıda girmiş olduğunuz şifreyi kullanın. Giriş yapabiliyorsanız, tebrikler, başarıyla bir MySQL kullanıcısı oluşturdunuz. Ardından, bu kullanıcının WordPress veritabanı erişimi olduğunu doğrulayın. MySQL kabuğunda aşağıdaki komutu çalıştırın:
Aşağıda WordPress veritabanınızı görüyorsanız, WordPress kullanıcınızın WordPress veritabanına erişimi var demektir.

  • MySQL sunucumuza uzaktan bağlantılara izin verme

Şu ana kadar çalışan bir WordPress kullanıcımız ve bir WordPress veritabanımız var. Ancak MySQL sunucumuz ve WordPress veritabanımız ayrı sunuculardadır. Bu nedenle, WordPress'in MySQL veritabanına bağlanabildiğinden emin olmamız gerekir. Bunun için, uzak ana bilgisayarlardan gelen bağlantılara izin vermek üzere MySQL yapılandırmamızı düzenlememiz gerekir. mysqld.cnf dosyasını düzenlemeniz gerekecektir. Linux tabanlı sistemlerde bu dosya şurada bulunur:

Bundan sonra, dosyayı herhangi bir metin düzenleyici kullanarak açın ve bind-address satırını bulun. bind-address, MySQL'in dinleyebileceği IP'yi belirtir. Varsayılan olarak, MySQL yalnızca 127.0.0.1. adresini dinler. Dış ana bilgisayarlardan gelen bağlantılara izin vermek için, bind-address değerini 0.0.0.0. olarak değiştirin. Bu değişikliklerin geçerli olması için aşağıdaki komutu çalıştırarak MySQL sunucusunu yeniden başlatın:

Ardından, uzaktan bağlanıp bağlanamadığınızı test etmek istiyorsanız, yerel makinenizden veya geliştirme sunucunuzdan aşağıdaki komutu çalıştırın:
Yukarıdaki komuta mysql_server_ip bilgisini ekleyin ve çalıştırın. Hata almadan bağlanabiliyorsanız devam edebilirsiniz.

WordPress Kurulumu ve Güncellenmesi

WordPress varsayılan olarak veritabanı olarak MariaDB kullanır. Kendi MySQL veritabanımızı kullanmak istediğimiz için bu veritabanını kullanmak istemiyoruz. Bu değişiklikle birlikte yönetici kullanıcı adını ve şifresini de yapılandırmamız gerekiyor. Bunu komut satırı parametrelerini uygulayarak yapacağız.

İlk olarak, my blog-settings adında yeni bir klasör oluşturun. Klasörün içinde values.yaml adında yeni bir dosya oluşturun. values.yaml dosyasına aşağıdaki içerikleri girin:

Bu dosya kendi kendini açıklamaktadır. Aşağıda MariaDB'yi devre dışı bıraktığımıza dikkat edin. Artık yapılandırmamız hazır olduğuna göre, çalıştırma zamanı geldi: helm bir WordPress kurulumu için. PowerShell'de aşağıdaki komutu çalıştırın:

İşlem tamamlandığında, şu adla oluşturulmuş bir servis göreceksiniz: myblog-wordpress. WordPress'in kullanıma hazır hale gelmesi biraz zaman alacaktır. Çalışan servisleri bulmak için aşağıdaki komutu çalıştırın:
Şöyle bir sonuç alacaksınız:

NAME

TYPE

CLUSTER-IP

EXTERNAL-IP

PORT

myblog-wordpress

ClusterIP

10.96.0.1

<none>

80:31403/TCP,443:30879/TCP

Burada çalışan servisler hakkında çok yararlı bilgilere sahibiz. Harici IP ve Port'a dikkat etmemiz gerekiyor. Harici IP, WordPress'inizin sunulduğu IP'dir. Docker Desktop kullandığımız için harici IP altında none (hiçbiri) alıyoruz. Sisteminize bağlı olarak IP'yi alacaksınız. Web tarayıcınızı açın ve bu IP'yi girin. WordPress giriş sayfasını göreceksiniz:

WordPress with MySQL 1

Bunlar yukarıdaki YAML dosyasında belirttiğimiz kimlik bilgileridir. Bu kimlik bilgilerini girin; WordPress üzerinde web sitenizi yapılandırmaya ve yeni oluşturduğumuz MySQL veritabanında içerik depolamaya hazır olacaksınız.

WordPress'i Güncelleme

WordPress, güvenlik açıklarını kapatmak ve daha fazla özellik/hata düzeltmesi vb. sunmak için güncellemeler yayınlar. PowerShell'de aşağıdaki komutu çalıştırarak WordPress kurulumunu güncelleyebilirsiniz:

Güncellemeden önce, yayınların listesini görmek isterseniz aşağıdaki komutu çalıştırabilirsiniz:

Aşağıdaki gibi bir çıktı alacaksınız:

Yeni bir WordPress deposu sürümünün mevcut olup olmadığını görmek isterseniz aşağıdaki komutu çalıştırabilirsiniz:

WordPress sürümünüzü en son WordPress grafiğine yükseltmek istediğinizde şunu çalıştırmalısınız:

Yapılandırma değerlerinin değişmemesi için daha öncekiyle aynı yapılandırma dosyasını kullanmalıyız.

Bir Sürümü Geri Alma

Helm kullanarak her güncelleme gerçekleştirdiğinizde, Helm sürümün bir kontrol noktasını oluşturur. İşler beklendiği gibi gitmezse geri dönebilirsiniz. Sürümler karşılaştırılabilir ve geri alınabilir. Güncelleme işlemi herhangi bir sorundan dolayı ters giderse, önceki sürüme geri dönebilirsiniz. Geri almak için aşağıdaki komutu çalıştırın:

Bizim durumumuzda, önceki sürüme geri dönmek için aşağıdaki komutu çalıştırın:

Geri alma işleminin başarıyla tamamlandığını doğrulamak için şimdi şu komutu çalıştırabilirsiniz: helm list komutu.

Sonuç

Bu kapsamlı eğitimde, MySQL'i nasıl kuracağınızı ve bu harici MySQL ile WordPress'i nasıl yükleyeceğinizi gösterdik. Helm paket yöneticisini kullanarak Kubernetes üzerinde WordPress kurulumu yaptık ve ayrıca WordPress güncellemelerini gerçekleştirdik.

Artık Helm kullanarak Kubernetes üzerinde kurulum yapmayı bildiğinize göre, burada durmayın. Kubernetes hakkında daha fazla bilgi edinmek için CloudSigma bloguna göz atmaktan çekinmeyin:

Keyifli Çalışmalar!

author

Hark Labs

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.