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

6/22/2020
6 λεπτά
Λούκα Μπέγια

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 bile, anlaşılır bir açıklama olacak.

Bu kılavuz, bulut-agnostik 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 χρησιμοποιείται kümemizin genel bir IP'ye sahip olmasını gerektirir.


Τιμόνι 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 Πηδάλιο adında bir project 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) τιμόνι, bileşeni ihtiyaçlarımıza göre özelleştirmemize izin veirken. 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 kumenize 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, kumemize 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, tüm 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:

τιμόνι repo προσθέστε ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo ενημέρωση

τιμόνι εγκαθιστώστε το ingress-controller ingress-nginx / ingress-nginx

İlk komut, ingress denetleyicisinin bulunduğu uygulama deposunu eklerken, ikincisi onu kumenize 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ı περιλαμβάνει:

kubectl get υπηρεσίες --watch

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

ΟΝΟΜΑ ΤΥΠΟΣ CLUSTER-IP ΕΞΩΤΕΡΙΚΗ Θύρα IP (Η) ΗΛΙΚΙΑΣ

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

ClusterIP ελεγκτή-εισαγωγής 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 ώρες

ΕΞΩΤΕΡΙΚΟ-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. Μπουλούτα genel bir IP alması ve kumenize 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 kumenizin nasıl yanıt verdiğini görebilirsiniz. Tabii ki, henüz hiçbir uygulama yüklü olmadığı için kumeniz "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

Bekleyeceğiniz veriler, DNS για IP olacaktı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:

ping redminek8s.ddns.net


Επόμενα βήματα

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 her şeyi nasıl yapılandıracağınızı göreceksiniz.

Redmine στο 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 planlaması, yönetimi ve kontrolü için güçlü araçları tek bir yazılımda edinin.

Easy Redmine'ı 30 gün ücretsiz deneyin

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