Kubernetes Installation¶
Kubernetes Installation describes Helm-based deployment of Emakin into a Kubernetes cluster.
The preserved documentation references the Emakin Helm charts repository at 6Kare/charts.
Prerequisites¶
- a working Kubernetes cluster
- Helm configured to access that cluster
Installation Workflow¶
1. Add the Helm Repository¶
1 2 | |
2. Install the Chart¶
Basic installation:
1 | |
Installation into a specific namespace:
1 2 3 4 5 | |
Helm Values and Parameters¶
Documented Default Values¶
- Host:
emakin.mycompany.com - Application Name:
mycompany.com - Environment:
production - split-service deployment enabled by default
web,agent,smtp,fulltext, andhostadmenabled by default
Configurable Parameters¶
| Parameter | Description | Default Value |
|---|---|---|
host | Hostname for the application | emakin.mycompany.com |
storageClass | Storage class for persistent volumes | nfs |
ingressClass | Ingress class for the ingress controller | nginx |
externalIP | External IP for the ingress controller | (none) |
environment | Environment name | production |
emakin.image.repository | Emakin container image repository | 6kare/emakin |
emakin.image.tag | Emakin container image tag | 8.5 |
emakin.subdomain | Subdomain for the application | emakin |
emakin.services.web.enabled | Enable web deployment | true |
emakin.services.web.replicaCount | Web replica count | 1 |
emakin.services.agent.enabled | Enable agent deployment | true |
emakin.services.agent.replicaCount | Agent replica count | 1 |
emakin.services.smtp.enabled | Enable SMTP deployment | true |
emakin.services.smtp.replicaCount | SMTP replica count | 1 |
emakin.services.fulltext.enabled | Enable full-text deployment | true |
emakin.services.fulltext.replicaCount | Full-text replica count | 1 |
emakin.services.hostadm.enabled | Enable host administration deployment | true |
emakin.services.hostadm.replicaCount | Host administration replica count | 1 |
emakin.services.hostadm.port | Port for host administration | 7180 |
db.externalProvider | External database provider | Postgres |
db.externalConnection | Connection string for external database | (none) |
db.name | Database name | EMAKIN |
db.user | Database username | EMAKIN |
db.password | Database password | EMAKIN |
letsencrypt.enabled | Enable Let's Encrypt certificates | true |
letsencrypt.email | Email for Let's Encrypt certificates | (none) |
onlyoffice.enabled | Enable OnlyOffice document server | true |
onlyoffice.subdomain | Subdomain for OnlyOffice | oeditor |
tika.enabled | Enable Apache Tika server | true |
clamav.enabled | Enable ClamAV antivirus server | true |
Persistent Volumes¶
The preserved documentation states that the chart defines PVCs for:
- BaseX
- ClamAV
- Emakin application data
- PostgreSQL
It also notes that PVC names are suffixed with the environment value, for example:
basex-pv-productionclamav-pv-productionemakin-pv-productionpostgres-pv-production
Deployment Model¶
The chart creates separate Emakin Deployments for:
webagentsmtpfulltexthostadm
The chart invokes the Emakin agent executable in CLI mode with the module-specific commands:
webagentsmtpfulltext
The host administration service is deployed as a dedicated pod and exposes only port 7180.
Access After Deployment¶
Documented access points:
- Application:
http://<host> - Host Administration:
http://<host>:<emakin.services.hostadm.port>
Documented default credentials:
- username:
[email protected] - password:
admin
Overriding Default Ports¶
The preserved environment-variable examples are:
1 2 | |
Scaling or Disabling Individual Services¶
Disable SMTP:
1 2 | |
Scale agent workers:
1 2 | |