Kubernetes kümesinde WordPress’i çalıştırmak

Bir geliştirici olarak, her gün kullanamayacağım teknolojinin gelişimini denetlemeye çalışıyorum, ancak anlamak önemlidir çünkü işimi dolaylı olarak etkileyebilir. Örneğin, büyük ölçekli web uygulamaları yayınlamak için kullanılan Docker tarafından popüler hale getirilen yakın zamanda konteynerizasyonun ortaya çıkması. Teknik olarak DevOps bir insan değilim, ama her gün bir web uygulaması yaptığım için, bu teknolojinin gelişimini denetlemek benim için iyi. Bu ilerlemenin iyi bir örneği, kaplardaki uygulamaları kolayca uygulamanıza, çığlık atmanıza ve yönetmenize olanak tanıyan konteyner düzenleme platformunun hızlı gelişimidir. Şu anda ana oyuncular Kubernetes (Google tarafından), Docker Swarm ve Apache Mesos gibi görünüyor. Bu teknolojinin her birine ve farka iyi bir giriş istiyorsanız, bu makaleyi okumanızı öneririm.
Bu makalede, basit olandan başlayacağız ve Kubernetes platformunu ve WordPress sitesini yerel makinenizdeki bir küme düğümünde nasıl düzenleyebileceğinizi göreceğiz. Kubernetes yükleme Kubernetes belgeleri, bunların çoğunu içeren harika bir etkileşimli öğreticiye sahiptir, ancak bu makalenin amacı için yalnızca macOS’ta kurulumu ve kullanımı tartışacağım. Yapmamız gereken ilk şey, yerel bilgisayarınıza Kubernetes’i yüklemektir. Test için yerel makinenizdeki Kubernetes kümesinin ayarlarını kolaylaştırmak için özel olarak tasarlanmış Minikube adlı bir araç kullanacağız.
Minicube belgesine uygun olarak, başlamadan önce birkaç ön koşul vardır. Hipervizörü yüklediğinizden emin olun (VirtualBox kullanacaktır). Ayrıca, Kubertetes komut satırını (Kubectl olarak bilinir) kurmamız gerekir. Bir homebrach kullanırsanız, bu koşu kadar kolaydır: $ Brew Install Kubectl şimdi gerçekten Minicube’u yükleyebiliriz: $ curl -lo Minikube https://storage.googleapis.com/minikube/releases/v0.21.0/minikube-darwin -AMD64 && chmod +x minikube && sudo mv minikube/usr/local/bin/Son olarak, tek düğümümüzü kubernetes kümelenmesi olarak hareket edecek sanal bir motor yapacak olan minicube’u başlatmak istiyoruz. Bu noktada, bu makalede yerel olarak çeşitli şeyler yapsak da, aşağıdaki kavramların çoğunun gerçek sunucularda tam Kubernetes kümesini çalıştırırken uygulanacağını belirtmeliyim. Çok düğümlü kümede, “ana” düğüm diğer çalışan düğümlerini (VM veya fiziksel sunucu) yönetmekten sorumlu olacaktır ve Kubernetetes, küme boyunca uygulama kaplarının dağılımını ve zamanlamasını otomatikleştirecektir.
$ Minikube start-vm-driver = Bu noktada bir kask takma Bu noktada artık yerel motorumuzda çalışan bir Kubernetes (tek düğüm) kümesi olmalı. Şimdi kütetlerle istediğimiz şekilde etkileşime girebiliriz. Kubernetesbyexample.com’u oynamaya başlamak istiyorsanız Kubernetes’in kavramları ve şartları için iyi bir giriş olarak buldum. Her şeyi manuel olarak yönetebilmemize rağmen, WordPress uygulamamızı Kubernetes kümemize yüklemek için ayrı bir araç kullanacağız. Kasklar, “Kubertetes için Paket Yöneticileri” olarak etiketlenir ve daha önce kümenize “grafik” olarak bilinen yazılım paketlerini kolayca uygulamanıza izin vererek işlev görür. Grafiği, belirli uygulamalar (WordPress gibi) için tasarlanmış kap ve yapılandırmaların bir grup tanımı olarak değerlendirebilirsiniz. İlk olarak, yerel motorumuza bir kask kuralım: $ Brew Kubernetes-Helm’i yükleyin, o zaman kümemize bir kask takmamız gerekiyor. Neyse ki bu koşu kadar basit: $ helm init wordpress yükleme şimdi kask kümemizde çalışır, wordpress grafiklerini çalıştırarak yükleyebiliriz: $ dümen yükleme -namespace wordpress -name wordpress -set servicetype = nodeport stabil/wordpress bir kapta bir kapta ve bir veritabanı için bir kapta mariadb. Bu, Kubernetes’teki “Pod” olarak bilinir. Bir bölme temel olarak bir veya daha fazla uygulama kapsayıcı grubunu ve kapsayıcı için bazı paylaşılan kaynakları temsil eden bir soyutlamadır (örneğin depolama hacmi, ağ, vb.).
Her şeyi düzenli tutmak ve bulmayı kolaylaştırmak için ad alanı sürümleri ve isimler veriyoruz. Ayrıca ServiceType’ı NodePort olarak ayarladık. Bu önemlidir, çünkü varsayılan olarak, hizmet türü Loadbalancer’a ayarlanacak ve şu anda kümemiz için dengeleme yükümüz olmadığından, WordPress sitemize kümenin dışından erişemeyeceğiz. Bu komutun çıktısının son bölümünde, WordPress sitenize nasıl erişileceğine dair bazı yararlı talimatlar göreceksiniz. WordPress sitemiz için harici bir IP adresi ve bağlantı noktası almak için bu komutu çalıştırın: $ dışa aktarma node_port = $ (kicectl get -namespace wordpress -o jsonpath = “{. Spec.ports [0] dışa aktarma node_ip = $ (Kubectl Get düğümleri -namespace WordPress -o jsonpath = “{. Öğeler [0] .status.address [0]. Adres}”) $ echo http: // $ node_pip: $ node_port /yöneticiniz artık üretilen URL’yi ziyaret edebilir (görmezden geliyor /yönetici biti) Ve bkz. WordPress kendi Kubernetes kümenizde yürürken! WordPress serpme Kubernetes gibi konteyner düzenleme platformları hakkında harika şeylerden biri, uygulamanızın ölçeğini ve yönetimini çok basit hale getirmektir. Başvurumuzun durumunu kontrol edelim:

$ Kubectl dağıtımları al -namespace = wordpress
Biri MariaDB veritabanı ve diğeri WordPress’in kendisi için 2 uygulamamız olduğunu göreceğiz. Şimdi WordPress sitenizin çok fazla trafik görmeye başladığını ve yükü birkaç örneğe paylaşmak istiyoruz. WordPress-WordPress’imizin yayılmasını basit bir komutu çalıştırarak dağıtabiliriz: $ Kubectl Scale-Repeplicas 2 Dağıtımlar WordPress-WordPress-Namespace = WordPress Kubectl Get Dağıtımları Komutunu çalıştırırsak, şimdi böyle bir şey göreceğiz: WordPress sitenizi geliştirdi! Peasy kolay, değil mi? Şimdi trafiği dengelenebilen birkaç WordPress kap var. Kubertetes ölçeklendirme hakkında daha fazla bilgi için bu öğreticiye bakın.
Kucmetetes gibi platformların diğer harika özelliklerinin yüksek kullanılabilirliği, sadece kolayca dağılma yeteneğidir, aynı zamanda iyileştirici bileşenin kendisini uygulayarak yüksek kullanılabilirlik sağlar. WordPress uygulamalarınızdan birinin bir nedenden dolayı başarısız olduğunu varsayalım. Kubernetes uygulamayı otomatik olarak değiştirecektir. WordPress’in uygulamasında çalışan kapsüllerden birini kaldırarak bunu simüle edebiliriz. İlk olarak, çalıştırarak bakla listesi alın: $ kubectl pods -namespace = wordpress al.

Sonra kapsüllerden birini silin:

$ Kubectl Delete Pod {Pod-ID} -namespace = WordPress Kubectl Get Pods komutunu tekrar çalıştırırsanız, Kubenetes’in doğrudan yedek pod oynadığını görürsünüz.
Kubernetes’in neler yapabileceğini gerçekten öğrendik. Daha derine inmek istiyorsanız, aşağıdaki özellikleri görmenizi öneririm:

Yatay benlik
Otomatik Başlatma ve Geri Dönüş

Gizli yönetim
Konteyner platformunda WordPress’i hiç çalıştırdınız mı?Hiç Kubernets (veya diğer konteyner düzenleme platformları) kullandınız ve iyi ipuçları aldınız mı?WordPress sitenizi genellikle nasıl bölebilirsiniz?Bize yorumlarda söyleyin.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir