en
Dil
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI çevirisi
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Kubernetes'te Redmine - Bölüm 2: Redmine Kurulumu

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

Bu, Redmine'i Kubernetes'e dağıtmayla ilgili dizinin ikinci kısmı. Bu makalede, güvenilir bir Redmine kurulumunun nasıl dağıtılacağına ilişkin talimatlar sağlayacağız.

Yeniden Sayma Bölüm 1

Şimdiye kadar, Kubmine'nin Redmine kurulumunu dört gözle beklemelisiniz. Sonuçta, bunun için geldin, değil mi?

In Kubernetes'te Redmine - Bölüm 1: Çevre hazırlama, kümenizin içindeki internet isteklerini yeniden yönlendirmek için bir bileşen olan Giriş Denetleyicisini kurduk ve bir DNS etki alanı oluşturduk, redminek8s.ddns.net. Şimdi yalnızca HTTPS'yi yapılandırmamız gerekiyor ve Redmine'i dağıtmaya hazırız.


Sertifika yöneticisi ile HTTPS

Redmine'imizi HTTP olarak tutabilsek de, HTTPS web siteleri için standart haline geldi, o kadar ki HTTPS bir web sitesi tarafından kullanılmadığında çoğu tarayıcı sizi bir güvenlik sorunu konusunda uyarıyor.

Bir sertifika satın alıp sitenize yüklemeniz, belirli bir süre sonra yenilemeniz ve işlemi tekrarlamanız gerektiğinden, HTTPS'yi etkinleştirmek genellikle önemsiz bir iş değildir. Sertifika yöneticisi, sertifikaların yenilenmesi de dahil olmak üzere tüm bunları otomatikleştirir ve hatta ücretsiz sertifikalar alır. hakkında daha fazla bilgi görebilirsiniz kendi site, ama sonra bilmeniz gereken her şeyi açıklayacağım.


Cert-manager uygulamasını yükleyin

Kümenize cert-manager yüklemek için aşağıdaki adımları uygulayın:

dümen repo jetstack ekleyin https://charts.jetstack.io && dümen repo güncellemesi

dümen kurmak cert-manager jetstack / cert-manager - set installCRDs = true

Önce cert-manager'ın bulunduğu havuzu ekledikten sonra en son sürümünü yüklersiniz.


Sertifika Yetkilisine Bağlanma

Şimdi, sertifika yöneticisine seçtiğimiz Sertifika sağlayıcısına bağlanması için talimat vermemiz gerekiyor. Ücretsiz bir sertifika yetkilisi olan LetsEncrypt'i kullanacağız. Önce bu dosyayı oluşturun (değiştirmeyi unutmayın gerçek bir e-posta adresiyle) ve cluster-issuer.yaml olarak adlandırın

apiVersion: cert-manager.io/v1alpha2

tür: ClusterIssuer

meta:

  isim: letsencrypt

özellik:

  acma:

    Sunucu: https://acme-v02.api.letsencrypt.org/directory

    e-posta:

    PrivateKeySecretRef:

      isim: letsencrypt

    çözücüler:

    - http01:

        giriş:

          sınıf: nginx

Ardından ile kümenize uygulayın.

kubectl uygula -f cluster-issuer.yaml

Tebrikler! Yukarıdaki dosya, kümeye yazdığımız ve uyguladığımız ilk kubernetes yapılandırmasıdır. LetsEncrypt'e nasıl bağlanacağını göstermiş olabilirsiniz, ancak aynı zamanda Bölüm 1'de oluşturduğumuz Giriş denetleyicisini de açıklar (sınıf: sonunda nginx) Bu tür yapılandırma, bazı özelliklerin bağımlılığını göstermek için boşluklu bazı satırlara sahiptir diğerleri. Dosyanın düzgün bir şekilde okunmasını ve uygulanmasını sağlamak için bu boşlukları gösterildiği gibi tutun.

Artık kümeniz HTTPS etkin. Bir uygulama yüklediğimizde HTTPS ile çalışmasını ve voilà! Sertifika alma süreci otomatik olarak perde arkasında yapılacaktır.


Redmine Kurulumu

Hepimiz bunu bekliyorduk. Redmine'i birkaç farklı yolla kurabiliriz, ancak en uygun olanı Helm kullanmaktır. Daha önce yaptığımız gibi, önce deponun Redmine olduğunu ekledik

dümen repo bitnami ekle https://charts.bitnami.com/bitnami && dümen repo güncellemesi

Ancak bu sefer hemen yüklemek yerine, Redmine'ın sahip olmasını istediğimiz bazı özel davranışları belirtmek için bir yapılandırma dosyası oluşturacağız.

Tüm yapılandırmaları kendi bölümlerinde ayıracağız, ancak hepsini arka arkaya aynı dosyaya koyacaksınız. Değerler.yaml dosyasını çağırın.

Tüm Helm uygulamalarında, uygulamaya yapılabilecek tüm olası yapılandırmaların bulunduğu bir value.yaml dosyası bulunur. Kendi değerlerimizi oluşturduğumuzda, istediğimiz değişiklikleri tanımlarız. Dosyamıza dahil etmediğimiz herhangi bir değer, varsayılan dosyada olduğu gibi bırakılacaktır.

Tüm varsayılan değerler dümen uygulaması sayfasında da bulunabilir, https://hub.helm.sh/charts/bitnami/redmine. Devam edin ve tüm yapılandırmaları kontrol edin.


İlk Yönetici kullanıcı

Redmine Kullanıcı adı: adminUser

RedminePassword:

Bu adım, anlaşılması kolay olduğu kadar gereklidir. İlk kez giriş yapmak için kullanacağımız Redmine'daki ilk kullanıcımız.

Redmine yüklendiğinde, yepyeni yüklemenizi yapılandırmak için bu kullanıcıyla ona erişebileceksiniz.


PostgreSQL veritabanı

Varsayılan olarak Helm kurulumumuz bir mariadb veritabanı oluşturulmasını gerektirir. Bunun yerine kurulumumuzu PostgreSQL kullanacak şekilde yapılandıracağız. Ayrıca, aşağıda görebileceğiniz gibi, bu veritabanına erişmek için en az bir şifre eklemeniz gerekir

veritabanı Türü: postgresql

mariad:

  etkin: yanlış

postgresql:

  etkin: doğru

  postgresqlVeritabanı: Redmine

  postgresql Kullanıcı Adı: Redmine

  postgresqlPassword:

Kurulumumuza, MariaDB'nin PostgreSQL veritabanı yapılandırmasıyla birlikte kurulmasını istemediğimizi açıkça söylememiz gerekiyor.


DNS adı yapılandırması

Aşağıdaki yapılandırma, Bölüm 1'de yaptığımız DNS yapılandırmasının diğer tarafıdır. Gördüğünüz gibi, HTTPS'nin arkasındaki protokol olan TLS'yi etkinleştirdiğimiz ve DNS kaydımızı oluştururken kullandığımız ana bilgisayar adını ayarladık:

giriş:

  etkin: doğru

  certManager: doğru

  ana bilgisayar adı: redminek8s.ddns.net

  tls: doğru

  ek açıklamalar:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Ayrıca son iki satırda uygulamamızı Ingress Controller ve daha önce yarattığımız Cluster Sertifikasına bağlarız.

Şimdi Redmine'ı özel yapılandırmamızla dağıtabiliriz:

dümen kurulum Redmine -f değerleri.yaml bitnami / redmine

Bu satır, daha önce kullandığımız diğer dümen kurulum hatlarına benzer, ancak bu sefer özel bir değer sunuyoruz. Herhangi bir Helm uygulamasını özelleştirmenin yolu budur.

Uygulamanın oluşturulması biraz zaman aldığından, biraz daha sabra ihtiyacımız var. Uygulama kapsayıcılarınızın durumunu denetlemek için bu komutu yürütebilirsiniz:

kubectl bakla olsun - izlemek

Komut buna benzer bir şey döndürür:

İSİM HAZIR DURUM YENİDEN BAŞLATMA YAŞI

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 Çalışıyor 0 6m40s

Her iki konteynerin durumu Çalışana kadar ve hepsi 1/1 hazır olana kadar beklemek zorundasınız, ki bu benim durumumda yaklaşık 6 dakika sürdü.

Artık her şey tarayıcıyı açmaya ve yeni dağıtımımıza gitmeye hazır:

Redmine hazır


Tamamlayan

Kubernetes, uygulamaları dağıtmak için karmaşık bir araçtır, ancak Helm'in yardımıyla bu karmaşıklıktan geçtik (cinas amaçlı değil) ve Redmine'ın güvenilir bir kurulumunu gerçekleştirdik.

Bu kılavuzun bir özetini aşağıdaki git repo'sunda bulabilirsiniz: https://github.com/lcofre/redmine-on-k8s. Sıkışırsanız dosyalarınızla karşılaştırmaktan çekinmeyin.

Bazı kavramları karmaşık oldukları veya açıklama buluta özel olduğu için tartışmanın dışında bıraktık. Bunlar arasında uygulamanızın Canlılığı ve Hazırlığı, gelen posta yapılandırması ve daha fazla yükü kaldıracak şekilde ölçeklendirme bulunur. Lütfen aşağıda sizi en çok neyin ilgilendirdiğini bize bildirin, böylece ileride nasıl yapılır konusunu tartışabiliriz.

Nihai Redmine yükseltmesi mi? Kolay.

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

30 günlük ücretsiz deneme sürümünde Easy Redmine'i deneyin

Coğrafi konumunuzda tam özellikler, SSL korumalı, günlük yedeklemeler