Redmine Kubernetes'te - Bölüm 1: Ortamı Hazırlama

6/22/2020
6 dakikadır.
Lukaš Beňa

Bu iki bölümlük seride, Redmine'i Kubernetes'e dağıtacağız. Redmine'in HTTPS üzerinde dayanıklı bir örneği dağıtmak amacıyla önerilen araçları ve uygulamaları kullanacağız.

Redmine için Araç ve bileşenlerin parçaları ilk olarak belirtilerek bu şekilde yapılırı iki bölüme ayırdık. Ancak karmaşıklık konusunda endişelenmeyin. Kubernetes'e yeni başlayan biri olsanız bile, anlaşılır bir açıklama olacak.

Bu kılavuz, bulut-agnostik olacak şekilde yazılmış, bu nedenle sonu bulutla ilgili tüm konuşmaları saklanmış olarak çıkarıldık. Kullandığımız bulutu tahmin edebilir ve bize farkını gösterdiğinizi söylerseniz yorum yapın. Bulutunuzun sunduğu diğer hizmetlerle iyi entegre olan Kubernetes hizmetini kullanmanızı öneririz.

Microk8s veya minikube gibi ortamlar burada izlenmiyor, çünkü bu kılavuzun kapsamı dışında kalan bazı işlemler gerektirir. Özellikle, HTTPS kullanımımız kümemizin genel bir IP'ye sahip olmasını gerektirir.


Dümen kullanalım

Kubernet'ler, konteyner orkestrasyonu için karmaşık bir araçtır. Başlamak için öğrenmemiz gereken birçok kavram vardır. Neyse ki, ihtiyacınızın dağılmamasını sağlayan seviyeler Dümen adı altında bir proje vardır. Kendi sözlerine göre "Eğer işler doğru yaptıysa, kullanıcılar Helm'i yükleyebilir ve ardından dakikalar içinde üretim kalitesinde hazır programları yükleyebilirler"

İsimlerinin nedenlerini bir değiştirme değiştirme (hepsi bir metaforun, Helm'in, Kubernetes'in ve Konteynerlerin hikayelerini anlatır) helm, üretici ihtiyaçlarımıza göre özelleştirmemize izin verir Kurulumu gerçekten basitleştirir. Helm 3'ü, en son ve hatta daha da basitleştirilmiş eklentileri kullanacağız.

Bulut sağlayıcınızın bulut kabuğunu kullanıyorsanız, büyük ölçüde Helm 3 zaten mevcuttur, ancak değiller Helm belgelerinin talimatlarını takip ederek yükleyebilirsiniz, helm.sh/docs/intro/install/. Kullanmakta olduğunuz komut satırından kümeleştirin zaten erişiminizin olması gerekmektedir. Bulut sağlayıcınızın bunu nasıl yapacağınıza dair bir rehber vardır.


Ingress Denetleyicisini Yükleyin

Bu, kümemize yükleyeceğimiz ilk tanıtılan ve aynı zamanda göreceğimiz ilk Kubernetes'in varlığıdır. Bir Giriş denetleyicisi, kümenizin giriş kapısında bulunur, tüm web içeriğini alır ve yanıtlamaktan sorumlu olan dahili olarak yönlendirir. kalıcı olarak cevap vermeyecek kimse olmayacak, ancak Redmine'i yüklediğimizde talepn hedef olarak temellendirildi.

Kubernetes'i kullanacağımız NGINX Giriş Denetleyicisi'ni sağlar. Belgeleri, bunu Helm kullanarak nasıl yükleyeceğimizi görebiliriz:

dümen repo giriş-nginx ekle https://kubernetes.github.io/ingress-nginx && dümen repo güncellemesi

dümen yükleme giriş denetleyicisi giriş-nginx / ingress-nginx

İlk komut, giriş denetleyicisinin bulunduğu uygulama deposunu eklerken, ikincisi onu kümenize yükler. Tamamlandığında, komut, başlangıç ​​için bazı bilgileri yazdıracaktır, bunlar arasında belirlenene atanan genel IP'yi nasıl alacağınızı şunları içerir:

kubectl get services - saat

Sonuç olarak şuna benzer bir şey olacaktır:

İSİM TİP KÜMELEME-IP HARİCİ-IP PORT (LAR) YAŞ

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

denetleyici kabul Kümesi IP 10.0.135.226 443 / TCP 5d22s

kubernetes KümesiIP 10.0.0.1 443 / TCP 44h

EXTERNAL-IP'yi bir sonraki yeniden yapılandırılabilir hale getirmek için alınamaz. Orada eskiden değer verdiğiniz bir IP yerine olması durumu gerçekleşebilir. Buluta genel bir IP alınması ve kümenize atanması biraz zaman alır. Sadece birkaç saniye daha bekleyip IP'nin mevcut olması gerekir.


Bir DNS A Kaydı Oluşturun

IP'yi güncelledikten sonra, tarayıcıya gidip kümenizin nasıl yanıtlarını görebilirsiniz. Tabii ki, henüz hiçbir uygulama yüklü olmadığı için kümeniz "404 Bulunamadı" hatasıyla yanıt veriyor. O IP'ye ayırabileceğimiz bir DNS alanı oluşturacağızUmarım sayı ve nokta listesinden daha kolay hatırlanır.

Redmine için bir internet alanı oluşturmanın yolu, alan sağlayıcınıza büyük ölçüde bağlıdır, ancak tüm parazitler, bir alan adı IP'nize ait bir DNS A Kaydı oluşturursunuz. Aşağıdaki ekran görüntüsü no-ip.com DNS sağlayıcısına bir referans olarak bakılabilir.

DNS A Kaydı Oluşturma

Bekleyeceğiniz veriler, DNS adı ve IP olacaktır. No-IP, bir alan oluşturmanın nasıl gerçekleştiğini göstermek için belirtilerek, ancak muhtemelen farklı bir DNS sağlayıcısını seçeceksiniz veya seçmişsinizdir. Süreç oldukça benzerdir.

Yeni kayıt işleminin biraz zaman alır, bu nedenle IP'nin doğru şekilde çözümlendiğini kontrol etmek için ping'i kullanabilirsiniz:

redminek8s.ddns.net'e ping at


Sonraki adımlar

Artık bir giriş denetleyicisi ve bir DNS alanımıza göre, kesilmesi gereken tek şey sitemiz için HTTPS'yi yapılandırmak ve Redmine'i yüklemek. Veritabanı olarak PostgreSQL'i kullanacağız, ancak Helm'i kullanarak her şeyi nasıl yapılandıracağınızı göreceksiniz.

Redmine in Kubernetes Bölüm 2: Redmine'i Yükleme için takipte kalın.

Redmine yükseltmesi için en iyi seçenek? Kolay.

Mükemmel proje grupları, yönetim ve kontrol için güçlü araçlar tek bir yazılımda çalışanlar.

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam dosyaları, SSL korumaları, günlük yedeklemeler, depolama birimleri