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

6/22/2020
6 minut
Łukasz Beňa

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

Redmine dağıtımı için araçları ve bileşenleri kurmayı ilk olarak odaklanmak üzere bu nasıl 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 żółć, anlaşılır bir açıklama olacak.

Bu kılavuz, bulut-agnostyk olacak şekilde yazılmıştır, bu nedenle kullandığımız bulutla ilgili tüm bahsetmeleri bilinçli olarak çıkardık. Kullandığımız bulutu tahmin edebilir ve bize neyin farkını gösterdiğini 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 dikkate alınmamaktadır, çünkü bu kılavuzun kapsamı dışında kalan bazı yapılandırmalar gerektirir. Özellikle, HTTPS obsługuje kümemizin genl bir IP'ye sahip olmasını gerektirir.


Helm kullanalım

Kubernetes, konteyner orkestrasyonu için karmaşık bir araçtır. Başlamak için öğrenmemiz gereken birçok kavram vardır. Neyse ki, ihtiyaç duyduğumuz soyutlama seviyesini sağlayan Ster adında bir proje vardır. Kendi sözlerine göre "Eğer işleri doğru yaptıysak, kullanıcılar Helm'i yükleyebilir ve ardından dakikalar içinde üretim kalitesinde hazır bileşenler yükleyebilirler"

İsimlerinin nedenlerini bir kenara bırakarak (hepsi bir metaforun, Helm'in, Kubernetes'in ve Konteynerlerin hikayesini anlatır) hełm, bileşeni ihtiyaçlarımıza göre özelleştirmemize izin verirken kurulumu gerçekten basitleştirir. Helm 3'ü, en son ve hatta daha da basitleştirilmiş sürümünü kullanacağız.

Bulut sağlayıcınızın bulut kabuğunu kullanıyorsanız, büyük olasılıkla Helm 3 zaten mevcuttur, ancak değilse Helm belgelerinin sağladığı kılavuzu izleyerek yükleyebilirsiniz, Helm.sh/docs/intro/install/. Kullanmakta olduğunuz komut satırından kümenize zaten erişiminizin olması gerekmektedir. Bulut sağlayıcınızın bunu nasıl yapılacağına dair bir kılavuzu vardır.


Ingress Denetleyicisini Yükleyin

Bu, kümemize yükleyeceğimiz ilk bileşen ve aynı zamanda göreceğimiz ilk Kubernetes kavramıdır. Bir Ingress denetleyicisi, kümenizin giriş kapısında bulunur, tum web isteklerini alır ve isteği yanıtlamaktan sorumlu olan dahili bileşene yönlendirir. Başlangıçta, yanıt verecek kimse olmayacak, ancak Redmine'i yüklediğimizde isteklerin hedefi olarak eklenir.

Kubernetes, kullanacağımız NGINX Ingress Denetleyicisi'ni sağlar. Belgeleri, bunu Helm kullanarak nasıl yükleyeceğimizi açıklar:

repozytorium sterów dodaje ingress-nginx https://kubernetes.github.io/ingress-nginx Aktualizacja repozytorium sterów &&

ster instaluje ingress-controller ingress-nginx / ingress-nginx

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

kubectl uzyskać usługi - zegarek

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

NAZWA TYP KLASTER-IP PORT (y) ZEWNĘTRZNEGO IP WIEK

LoadBalancer 10.0.115.117 kontrolera nginx 89.68.23.33 80 / TCP, 443 / TCP 5m22s

Cluster-admission Controller ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 godz

ZEWNĘTRZNE-IP'yi bir sonraki adımda ihtiyacımız olacağı için not alın. Orada elde ettiğiniz değerin bir IP yerine olması durumu gerçekleşebilir. Buluta genel bir IP alması ve kümenize atanması biraz zaman alır. Sadece birkaç saniye daha bekleyin ve IP kullanılabilir olmalı.


Bir DNS A Kaydı Oluşturun

IP'yi aldıktan sonra, tarayıcıya gidip kümenizin nasıl yanıt verdiğini görebilirsiniz. Tabii ki, henüz hiçbir uygulama yüklü olmadığı için kümeniz "404 Bulunamadı" hatasıyla yanıt verecektir. O IP'ye ilişkilendirebileceğimiz bir DNS alanı oluşturacağız, umarı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 durumlarda, bir alan adını IP'nizle bağlayan 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

Veriler bekleyeceğiniz, Adres IP reklamowany przez DNS olaaktır. No-IP, bir alan oluşturmanın nasıl yapıldığını göstermek için ihtiyacımız olan şeydir, ancak muhtemelen farklı bir DNS sağlayıcı seçeceksiniz veya seçmişsinizdir. Süreç hepsinde oldukça benzerdir.

Yeni kaydın yayılması biraz zaman alır, bu yüzden IP'nin doğru şekilde çözümlendiğini kontrol etmek için ping'i kullanabilirsiniz:

pinguj redminek8s.ddns.net


Sonraki adımlar

Artık bir ingress denetleyicisi ve bir DNS alanımız olduğuna göre, yapmamız 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 jej şeyi nasıl yapılandıracağınızı göreceksiniz.

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

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

Mükemmel proje planlaması, yönetimi ve kontrolü için güçlü araçları tek bir yazılımda edinin.

Łatwy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda