Ana içeriğe geç

Kubernetes Kurulumu

Kubernetes Kurulumu, Emakin'in bir Kubernetes kümesine Helm tabanlı dağıtımını açıklar.

Korunan belgelerde Emakin Helm grafikleri deposuna şu adreste başvurulur: 6Kare/charts.

Ön Koşullar

  • çalışır durumda bir Kubernetes kümesi
  • bu kümeye erişecek şekilde yapılandırılmış Helm

Kurulum İş Akışı

1. Helm Deposunu Ekleyin

1
2
helm repo add emakin https://6kare.github.io/charts/
helm repo update

2. Grafiği Kurun

Temel kurulum:

1
helm install emakin-prod emakin/emakin

Belirli bir ad alanına kurulum:

1
2
3
4
5
helm install \
    --create-namespace \
    --namespace mynamespace emakin-prod emakin/emakin \
    --set host=mycompany.com \
    --set environment=production

Helm Değerleri ve Parametreleri

Belgelenen Varsayılan Değerler

  • Ana bilgisayar: emakin.mycompany.com
  • Uygulama adı: mycompany.com
  • Ortam: production
  • split-service dağıtımı varsayılan olarak etkindir
  • web, agent, smtp, fulltext, ve hostadm varsayılan olarak etkindir
  • market ve push varsayılan olarak devre dışıdır

Yapılandırılabilir Parametreler

Parametre Açıklama Varsayılan Değer
host Uygulama için ana bilgisayar adı emakin.mycompany.com
storageClass Kalıcı birimler için depolama sınıfı nfs
ingressClass Ingress denetleyicisi için ingress sınıfı nginx
externalIP Ingress denetleyicisi için harici IP (yok)
environment Ortam adı production
emakin.image.repository Emakin konteyner imajı deposu 6kare/emakin
emakin.image.tag Emakin konteyner imajı etiketi 8.5
emakin.subdomain Uygulama için alt alan adı emakin
emakin.configurationDataPath Düğüm yerelindeki özel yapılandırma, günlükler ve FullText verileri için isteğe bağlı yol /app/Configuration/Data
emakin.services.web.enabled Web dağıtımını etkinleştir true
emakin.services.web.replicaCount Web çoğaltma sayısı 1
emakin.services.agent.enabled Agent dağıtımını etkinleştir true
emakin.services.agent.replicaCount Agent çoğaltma sayısı 1
emakin.services.smtp.enabled SMTP dağıtımını etkinleştir true
emakin.services.smtp.replicaCount SMTP çoğaltma sayısı 1
emakin.services.fulltext.enabled Tam metin dağıtımını etkinleştir true
emakin.services.fulltext.replicaCount Tam metin çoğaltma sayısı 1
emakin.services.hostadm.enabled Sistem yönetimi dağıtımını etkinleştir true
emakin.services.hostadm.replicaCount Sistem yönetimi çoğaltma sayısı 1
emakin.services.hostadm.port Sistem yönetimi bağlantı noktası 7180
emakin.services.market.enabled Yalıtılmış Market dağıtımını etkinleştir false
emakin.services.market.replicaCount Market çoğaltma sayısı 1
emakin.services.market.port Market HTTP bağlantı noktası 5100
emakin.services.market.serviceType Market için Kubernetes Service türü ClusterIP
emakin.services.push.enabled Yalıtılmış Push dağıtımını etkinleştir false
emakin.services.push.replicaCount Push çoğaltma sayısı 1
emakin.services.push.port Push HTTPS bağlantı noktası 5111
emakin.services.push.serviceType Push için Kubernetes Service türü ClusterIP
db.externalProvider Harici veritabanı sağlayıcısı Postgres
db.externalConnection Harici veritabanı bağlantı dizesi (yok)
db.name Veritabanı adı EMAKIN
db.user Veritabanı kullanıcı adı EMAKIN
db.password Veritabanı parolası EMAKIN
letsencrypt.enabled Let's Encrypt sertifikalarını etkinleştir true
letsencrypt.email Let's Encrypt sertifikaları için e-posta (yok)
onlyoffice.enabled OnlyOffice belge sunucusunu etkinleştir true
onlyoffice.subdomain OnlyOffice için alt alan adı oeditor
tika.enabled Apache Tika sunucusunu etkinleştir true
clamav.enabled ClamAV antivirüs sunucusunu etkinleştir true

Kalıcı Birimler

Korunan belgelerde grafiğin şu öğeler için PVC tanımladığı belirtilir:

  • BaseX
  • ClamAV
  • Emakin uygulama verileri
  • PostgreSQL

Ayrıca PVC adlarının şu değerle son ek aldığını belirtir: environment örneğin:

  • basex-pv-production
  • clamav-pv-production
  • emakin-pv-production
  • postgres-pv-production

Grafik, her ikisi için de emakin.configurationDataPath ve AK_CONFIGURATION_DATA_PATH Emakin verileri PVC bağlama noktasında kullanır. Varsayılan /app/Configuration/Data yol genellikle değiştirilmeden bırakılmalıdır. Yalnızca düğüm yerelindeki verilerin başka bir kalıcı konumda saklanması gerektiğinde geçersiz kılın:

1
2
helm upgrade emakin-prod emakin/emakin \
    --set emakin.configurationDataPath=/mnt/emakin/data

Paylaşılan düğüm verilerini kullanan tüm Emakin dağıtımlarına (web, Agent, SMTP, FullText, HostAdmin, Market ve etkinse Push dahil) aynı yol ve PVC düzeni sağlanmalıdır. Seçilen yol konteyner kullanıcısı tarafından yazılabilir olmalıdır. Değerin değiştirilmesi mevcut verileri otomatik olarak taşımaz; dağıtımı değiştirmeden önce mevcut verileri kopyalayın veya geri yükleyin.

Dağıtım Modeli

Grafik şu öğeler için ayrı Emakin Deployment'ları oluşturur:

  • web
  • agent
  • smtp
  • fulltext
  • hostadm
  • market (isteğe bağlı)
  • push (isteğe bağlı)

Grafik, modüle özgü şu komutlarla Emakin agent yürütülebilir dosyasını CLI modunda çağırır:

  • web
  • agent
  • smtp
  • fulltext
  • market
  • push

Sistem yönetimi hizmeti özel bir pod olarak dağıtılır ve yalnızca şu bağlantı noktasını sunar: 7180.

Market ve Push yalıtılmış Agent modlarını kullanır; bu nedenle bu hizmetlerden herhangi birinin etkinleştirilmesi, ilgili podda normal web, HostAdmin veya çalışan yüzeylerini başlatmaz. Her iki dağıtımda da şu bağlantı noktasındaki dahili sağlık uç noktasına yönelik hazır olma ve canlılık araştırmaları bulunur 5121.

İsteğe bağlı hizmetleri gerektiğinde etkinleştirin:

1
2
3
helm upgrade emakin-prod emakin/emakin \
    --set emakin.services.market.enabled=true \
    --set emakin.services.push.enabled=true

Hizmetleri varsayılan olarak şu değere ayarlanır ClusterIP; gerekli ağ topolojisine uyacak şekilde yapılandırın serviceType . Lisans oluşturma kullanılırken imzalama PFX dosyasını bağlayın ve parolasını Kubernetes Secret aracılığıyla sağlayın. Otomatik TLS dinleyici sertifikası, bu imzalama sertifikasının yerini almaz.

Çalışma zamanı bağlantı noktaları: Web 80/443, Market 5100, Push 5110/5111, FullText 5120, Health 5121ve Sistem Yönetimi. 7180.

Dağıtım Sonrası Erişim

Belgelenen erişim noktaları:

  • Uygulama: http://<host>
  • Sistem Yönetimi: http://<host>:<emakin.services.hostadm.port>

Belgelenen varsayılan kimlik bilgileri:

Varsayılan Bağlantı Noktalarını Geçersiz Kılma

Korunan ortam değişkeni örnekleri:

1
2
AK_Web__Kestrel__Endpoints__Http__Url=http://*:8080
AK_Web__Kestrel__Endpoints__Https__Url=https://*:8443

Tek tek Hizmetleri Ölçeklendirme veya Devre Dışı Bırakma

SMTP'yi devre dışı bırak:

1
2
helm upgrade emakin-prod emakin/emakin \
    --set emakin.services.smtp.enabled=false

Agent çalışanlarını ölçeklendir:

1
2
helm upgrade emakin-prod emakin/emakin \
    --set emakin.services.agent.replicaCount=3