- Home
- ONLYOFFICE Docs per Kubernetes
ONLYOFFICE Docs per Kubernetes
Introduzione
-
È necessario avere un cluster Kubernetes o OpenShift installato:
- Si prega di consultare il riferimento per configurare Kubernetes.
- Si prega di consultare il riferimento per configurare OpenShift.
- Dovresti anche avere una copia locale configurata di
kubectl. Vedi questa guida su come installare e configurarekubectl. - Dovresti installare Helm v3.7+. Segui le istruzioni qui per installarlo.
- Se utilizzi OpenShift, puoi usare sia
occhekubectlper gestire il deploy. - Se l'installazione di componenti esterni a 'Docs' viene eseguita da Helm Chart in un cluster OpenShift, è consigliato installarli da un utente che ha il ruolo
cluster-admin, per evitare possibili problemi con i diritti di accesso. Vedi questa guida per aggiungere i ruoli necessari all'utente.
Prerequisiti per il deploy
ID = 1001.Per fare ciò, esegui i seguenti comandi:
$ oc apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/scc/helm-components.yaml
$ oc adm policy add-scc-to-group scc-helm-components system:authenticated
In alternativa, puoi specificare l'intervallo consentito di utenti e gruppi dal namespace di destinazione, vedi i parametri runAsUser e fsGroup durante l'installazione delle dipendenze, come RabbitMQ, Redis, PostgreSQL, ecc.
1. Aggiungi repository Helm
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo add nfs-server-provisioner https://kubernetes-sigs.github.io/nfs-ganesha-server-and-external-provisioner
$ helm repo add onlyoffice https://download.onlyoffice.com/charts/stable
$ helm repo update
2. Installa Storage Persistente
Installa NFS Server Provisioner
NFS. Quando si installa in un cluster OpenShift, l'utente deve avere un ruolo che consente di creare Storage Classes nel cluster. Leggi di più qui.$ helm install nfs-server nfs-server-provisioner/nfs-server-provisioner \
--set persistence.enabled=true \
--set persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set persistence.size=PERSISTENT_SIZE
-
PERSISTENT_STORAGE_CLASSè una Persistent Storage Class disponibile nel tuo cluster Kubernetes.Persistent Storage Classes per diversi provider:
- Amazon EKS:
gp2 - Digital Ocean:
do-block-storage - IBM Cloud: Default
ibmc-file-bronze. Altre classi di storage - Yandex Cloud:
yc-network-hddoyc-network-ssd. Maggiori dettagli - minikube:
standard
- Amazon EKS:
PERSISTENT_SIZEè la dimensione totale di tutti i Persistent Storages per la classe di storage persistente nfs. Puoi esprimere la dimensione come un numero intero semplice con uno di questi suffissi:T,G,M,Ti,Gi,Mi. Ad esempio:9Gi.
Vedi maggiori dettagli sull'installazione di NFS Server Provisioner tramite Helm qui.
Configura un Persistent Volume Claim
Il default nfs Persistent Volume Claim è 8Gi. Puoi cambiarlo nel file values.yaml nella sezione persistence.storageClass e persistence.size. Dovrebbe essere inferiore a PERSISTENT_SIZE almeno di circa il 5%. È consigliato utilizzare 8Gi o più per lo storage persistente per ogni 100 utenti attivi di ONLYOFFICE Docs.
ds (101:101).Se desideri abilitare WOPI, imposta il parametro wopi.enabled=true. In questo caso, lo Storage Persistente deve essere collegato ai nodi del cluster con gli attributi di caching disabilitati per la directory montata per i client. Per NFS Server Provisioner, può essere ottenuto aggiungendo l'opzione noac al parametro storageClass.mountOptions. Trova maggiori informazioni qui.
3. Deploy RabbitMQ
Per installare RabbitMQ nel tuo cluster, esegui il seguente comando:
$ helm install rabbitmq --version 16.0.14 bitnami/rabbitmq \
--set persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set resourcesPreset=none \
--set image.repository=bitnamilegacy/rabbitmq \
--set image.tag=4.1.3-debian-12-r1 \
--set global.security.allowInsecureImages=true \
--set metrics.enabled=false
metrics.enabled=true per abilitare l'esposizione delle metriche di RabbitMQ da raccogliere tramite Prometheus.Vedi maggiori dettagli sull'installazione di RabbitMQ tramite Helm qui.
4. Deploy Redis
Per installare Redis nel tuo cluster, esegui il seguente comando:
$ helm install redis --version 22.0.7 bitnami/redis \
--set architecture=standalone \
--set master.persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set master.resourcesPreset=none \
--set global.security.allowInsecureImages=true \
--set image.repository=bitnamilegacy/redis \
--set image.tag=8.2.1-debian-12-r0 \
--set metrics.enabled=false
metrics.enabled=true per abilitare l'esposizione delle metriche di Redis da raccogliere tramite Prometheus. Aggiungi anche i seguenti parametri: metrics.image.repository=bitnamilegacy/redis-exporter e metrics.image.tag=1.76.0-debian-12-r0.Vedi maggiori dettagli sull'installazione di Redis tramite Helm qui.
5. Deploy Database
Come server di database, puoi utilizzare PostgreSQL, MySQL o MariaDB.
Per installare PostgreSQL nel tuo cluster, esegui il seguente comando:
$ helm install postgresql --version 16.7.27 bitnami/postgresql \
--set auth.database=postgres \
--set primary.persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set primary.persistence.size=PERSISTENT_SIZE \
--set primary.resourcesPreset=none \
--set image.repository=bitnamilegacy/postgresql \
--set global.security.allowInsecureImages=true \
--set image.tag=17.6.0-debian-12-r2 \
--set metrics.enabled=false
metrics.enabled=true per abilitare l'esposizione delle metriche del Database da raccogliere tramite Prometheus. Aggiungi anche i seguenti parametri: metrics.image.repository=bitnamilegacy/postgres-exporter e metrics.image.tag=0.17.1-debian-12-r16.Vedi maggiori dettagli sull'installazione di PostgreSQL tramite Helm qui.
Per installare MySQL nel tuo cluster, esegui il seguente comando:
$ helm install mysql --version 14.0.3 bitnami/mysql \
--set auth.database=onlyoffice \
--set auth.username=onlyoffice \
--set primary.persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set primary.persistence.size=PERSISTENT_SIZE \
--set primary.resourcesPreset=none \
--set image.repository=bitnamilegacy/mysql \
--set global.security.allowInsecureImages=true \
--set image.tag=9.4.0-debian-12-r1 \
--set metrics.enabled=false
Vedi maggiori dettagli sull'installazione di MySQL tramite Helm qui.
Qui PERSISTENT_SIZE è una dimensione per il volume persistente del Database. Ad esempio: 8Gi.
Si raccomanda di utilizzare almeno 2Gi di storage persistente per ogni 100 utenti attivi di ONLYOFFICE Docs.
metrics.enabled=true per abilitare l'esposizione delle metriche del Database da raccogliere con Prometheus. Aggiungi anche i seguenti parametri: metrics.image.repository=bitnamilegacy/mysqld-exporter e metrics.image.tag=0.17.2-debian-12-r16.6. Distribuire StatsD exporter
-
Aggiungi repository Helm
$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts $ helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics $ helm repo update -
Installazione di Prometheus
Per installare Prometheus nel tuo cluster, esegui il seguente comando:
$ helm install prometheus -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/extraScrapeConfigs.yaml prometheus-community/prometheus \ --set server.global.scrape_interval=1mPer modificare l'intervallo di scraping, specifica il parametro
server.global.scrape_interval.Vedi ulteriori dettagli sull'installazione di Prometheus tramite Helm qui.
-
Installazione di StatsD exporter
Per installare StatsD exporter nel tuo cluster, esegui il seguente comando:
$ helm install statsd-exporter prometheus-community/prometheus-statsd-exporter \ --set statsd.udpPort=8125 \ --set statsd.tcpPort=8126 \ --set statsd.eventFlushInterval=30000msVedi ulteriori dettagli sull'installazione di Prometheus StatsD exporter tramite Helm qui.
Per consentire le metriche StatsD in ONLYOFFICE Docs, segui questo passaggio.
7. Apportare modifiche ai file di configurazione Node-config
-
Crea un ConfigMap contenente un file json
Per creare un ConfigMap da un file che contiene la struttura
local.json, devi eseguire il seguente comando:$ kubectl create configmap local-config \ --from-file=./local.jsonPuò essere utilizzato qualsiasi nome al posto dilocal-config. -
Specifica i parametri durante l'installazione di ONLYOFFICE Docs
Durante l'installazione di ONLYOFFICE Docs, specifica i parametri
extraConf.configMap=local-configeextraConf.filename=local.json.Se hai bisogno di aggiungere un file di configurazione dopo che ONLYOFFICE Docs è già installato, devi eseguire il passaggio 7.1 e poi eseguire il comando
oppurehelm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooks
se i parametri sono specificati nel filehelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksvalues.yaml.
8. Aggiungi Font personalizzati
Per aggiungere font alle immagini, è necessario ricostruire le immagini. Consulta i passaggi pertinenti in questo manuale. Quindi specifica le tue immagini durante l'installazione di ONLYOFFICE Docs.
9. Aggiungi Plugin
Per aggiungere plugin alle immagini, è necessario ricostruire le immagini. Consulta i passaggi pertinenti in questo manuale. Quindi specifica le tue immagini durante l'installazione di ONLYOFFICE Docs.
10. Aggiungi dizionari personalizzati
Per aggiungere i tuoi dizionari personalizzati alle immagini, è necessario ricostruire le immagini. Consulta i passaggi pertinenti in questo manuale. Quindi specifica le tue immagini durante l'installazione di ONLYOFFICE Docs.
11. Cambia temi dell'interfaccia
-
Crea un ConfigMap contenente un file json
Per creare un ConfigMap con un file json che contiene i temi dell'interfaccia, devi eseguire il seguente comando:
$ kubectl create configmap custom-themes \ --from-file=./custom-themes.jsonInvece dicustom-themesecustom-themes.jsonpuoi usare qualsiasi altro nome. -
Specifica i parametri durante l'installazione di ONLYOFFICE Docs
Durante l'installazione di ONLYOFFICE Docs, specifica i parametri
extraThemes.configMap=custom-themeseextraThemes.filename=custom-themes.json.Se hai bisogno di aggiungere temi dell'interfaccia dopo che ONLYOFFICE Docs è già installato, devi eseguire il passaggio 11.1 e poi eseguire il comandohelm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooksoppurehelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksse i parametri sono specificati nel filevalues.yaml.
12. Collegare il bucket Amazon S3 come cache a ONLYOFFICE Helm Docs
Per collegare il bucket Amazon S3 come cache, devi creare un file di configurazione o modificare quello esistente in conformità con questa guida e cambiare il valore del parametro persistence.storageS3 a true.
Distribuire ONLYOFFICE Docs
SecurityContextConstraints quando si installa nel cluster OpenShift, che aggiunge il permesso di eseguire container da un utente il cui ID = 101.Per fare ciò, esegui i seguenti comandi:
$ oc apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/scc/docs-components.yaml
$ oc adm policy add-scc-to-group scc-docs-components system:authenticated
In alternativa, puoi applicare la policy nonroot-v2 SecurityContextConstraints (SCC) nel commonAnnotations o annotations per tutte le risorse che descrivono il podTemplate. Assicurati che sia l'utente che l'account di servizio abbiano i permessi necessari per utilizzare questo SCC. Per verificare chi ha il permesso di utilizzare il nonroot-v2, esegui il seguente comando:
oc adm policy who-can use scc nonroot-v2
helm install documentserver onlyoffice/docs --set commonAnnotations."openshift\.io/required-scc"="nonroot-v2"
Se necessario, imposta podSecurityContext.enabled e <resources>.containerSecurityContext.enabled su true.
1. Distribuire la licenza di ONLYOFFICE Docs
-
Crea segreto
Se hai una licenza valida di ONLYOFFICE Docs, crea un segreto
licensedal file:$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.licDove
SECRET_LICENSE_NAMEè il nome di un futuro segreto con una licenza.Il nome del file di licenza sorgente dovrebbe essere 'license.lic' poiché questo nome verrà utilizzato come campo nel segreto creato.Se l'installazione viene eseguita senza creare un secret con il file di licenza esistente, verrà automaticamente creato un secret vuotolicense. Per informazioni su come aggiornare un secret esistente con una licenza, vedere qui. -
Specificare i parametri durante l'installazione di ONLYOFFICE Docs
Quando si installa ONLYOFFICE Docs, specificare il parametro
license.existingSecret=[SECRET_LICENSE_NAME].$ helm install documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME]Se è necessario aggiungere la licenza dopo che ONLYOFFICE Docs è già stato installato, è necessario eseguire il passo 1.1 e quindi eseguire il comandohelm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooksoppurehelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksse i parametri sono specificati nel filevalues.yaml.
2. Distribuire ONLYOFFICE Docs
Per distribuire ONLYOFFICE Docs con il nome di rilascio documentserver:
$ helm install documentserver onlyoffice/docs
Il comando distribuisce ONLYOFFICE Docs sul cluster Kubernetes nella configurazione predefinita. La sezione Parametri elenca i parametri che possono essere configurati durante l'installazione.
3. Disinstallare ONLYOFFICE Docs
Per disinstallare/eliminare il deployment documentserver:
$ helm delete documentserver
L'esecuzione del comando helm delete avvia hook, che eseguono alcune azioni preparatorie prima di eliminare completamente ONLYOFFICE Docs, che includono l'arresto del server, la pulizia dei PVC utilizzati e delle tabelle del database. Il tempo di esecuzione predefinito degli hook è di 300s. Il tempo di esecuzione può essere modificato utilizzando --timeout [time], ad esempio:
$ helm delete documentserver --timeout 25m
Se si desidera eliminare ONLYOFFICE Docs senza alcuna azione preparatoria, eseguire il seguente comando:
$ helm delete documentserver --no-hooks
Il comando helm delete rimuove tutti i componenti Kubernetes associati al chart e elimina il rilascio.
4. Parametri
Specificare ogni parametro utilizzando l'argomento --set key=value[,key=value] per helm install. Ad esempio:
$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com
Questo comando espone ONLYOFFICE Docs tramite HTTPS.
In alternativa, può essere fornito un file YAML che specifica i valori per i parametri durante l'installazione del chart:
$ helm install documentserver -f values.yaml onlyoffice/docs
Mostra tutti i parametri
connections.dbType | Il tipo di database. I valori possibili sono postgres, mariadb, mysql, oracle, mssql o dameng | postgres |
connections.dbHost | L'indirizzo IP o il nome dell'host del Database | postgresql |
connections.dbUser | Utente del database | postgres |
connections.dbPort | Numero di porta del server del database | 5432 |
connections.dbName | Nome del database a cui l'applicazione sarà connessa | postgres |
connections.dbPassword | Password dell'utente del database. Se impostata, ha la priorità su connections.dbExistingSecret | "" |
connections.dbSecretKeyName | Il nome della chiave che contiene la password dell'utente del database | postgres-password |
connections.dbExistingSecret | Nome del secret esistente da utilizzare per le password del database. Deve contenere la chiave specificata in connections.dbSecretKeyName | postgresql |
connections.redisConnectorName | Definisce quale connettore utilizzare per connettersi a Redis. Se è necessario connettersi a Redis Sentinel, impostare il valore ioredis | redis |
connections.redistHost | L'indirizzo IP o il nome dell'host Redis. Non utilizzato se i valori sono impostati in connections.redisClusterNodes e connections.redisSentinelNodes | redis-master |
connections.redisPort | Numero di porta del server Redis. Non utilizzato se i valori sono impostati in connections.redisClusterNodes e connections.redisSentinelNodes | 6379 |
connections.redisUser | Nome dell'utente Redis. Il valore in questo parametro sovrascrive il valore impostato nell'oggetto options in local.json se si aggiunge un file di configurazione personalizzato | default |
connections.redisDBNum | Numero del database logico di redis da selezionare. Il valore in questo parametro sovrascrive il valore impostato nell'oggetto options in local.json se si aggiunge un file di configurazione personalizzato | 0 |
connections.redisClusterNodes | Elenco dei nodi nel cluster Redis. Non è necessario specificare ogni nodo nel cluster, 3 dovrebbero essere sufficienti. È possibile specificare più valori. Deve essere specificato nel formato host:port | [] |
connections.redisPassword | La password impostata per l'account Redis. Se impostata, ha la priorità su connections.redisExistingSecret. Il valore in questo parametro sovrascrive il valore impostato nell'oggetto options in local.json se si aggiunge un file di configurazione personalizzato | "" |
connections.redisSecretKeyName | Il nome della chiave che contiene la password dell'utente Redis | redis-password |
connections.redisExistingSecret | Nome del secret esistente da utilizzare per le password Redis. Deve contenere la chiave specificata in connections.redisSecretKeyName. La password da questo secret sovrascrive la password impostata nell'oggetto options in local.json | redis |
connections.redisNoPass | Definisce se utilizzare un'autenticazione Redis senza password. Se la connessione al server Redis non richiede una password, impostare il valore su true | false |
connections.redisSentinelNodes | Elenco dei nodi Sentinel Redis. Non è necessario specificare ogni nodo, 3 dovrebbero essere sufficienti. È possibile specificare più valori. Deve essere specificato nel formato host:port. Utilizzato se connections.redisConnectorName è impostato su ioredis | [] |
connections.redisSentinelGroupName | Nome di un gruppo di istanze Redis composto da un master e uno o più slave. Utilizzato se connections.redisConnectorName è impostato su ioredis | mymaster |
connections.redisSentinelExistingSecret | Nome del secret esistente da utilizzare per la password di Redis Sentinel. Deve contenere la chiave specificata in connections.redisSentinelSecretKeyName. La password da questo secret sovrascrive il valore della password impostato nell'oggetto iooptions in local.json | "" |
connections.redisSentinelSecretKeyName | Il nome della chiave che contiene la password dell'utente Redis Sentinel. Se si imposta una password in redisSentinelPassword, verrà automaticamente creato un secret, il cui nome chiave sarà il valore impostato qui | sentinel-password |
connections.redisSentinelPassword | La password impostata per l'account Redis Sentinel. Se impostata, ha la priorità su connections.redisSentinelExistingSecret. Il valore in questo parametro sovrascrive il valore impostato nell'oggetto iooptions in local.json | "" |
connections.redisSentinelNoPass | Definisce se utilizzare un'autenticazione Redis Sentinel senza password. Se la connessione a Redis Sentinel non richiede una password, impostare il valore su true | true |
connections.amqpType | Definisce il tipo di server AMQP. I valori possibili sono rabbitmq o activemq | rabbitmq |
connections.amqpHost | L'indirizzo IP o il nome del server AMQP | rabbitmq |
connections.amqpPort | La porta per la connessione al server AMQP | 5672 |
connections.amqpVhost | Il virtual host per la connessione al server AMQP | / |
connections.amqpUser | Il nome utente per l'account del server AMQP | user |
connections.amqpProto | Il protocollo per la connessione al server AMQP | amqp |
connections.amqpPassword
| Password dell'utente del server AMQP. Se impostato, ha priorità su connections.amqpExistingSecret | "" |
connections.amqpSecretKeyName | Il nome della chiave che contiene la password dell'utente del server AMQP | rabbitmq-password |
connections.amqpExistingSecret | Il nome del secret esistente da utilizzare per le password del server AMQP. Deve contenere la chiave specificata in connections.amqpSecretKeyName | rabbitmq |
persistence.existingClaim | Nome di un PVC esistente da utilizzare. Se non specificato, verrà creato un PVC chiamato "ds-files" | "" |
persistence.annotations | Definisce le annotazioni che verranno aggiunte al PVC "ds-files". Se impostato, ha priorità su commonAnnotations | {} |
persistence.storageClass | Classe di archiviazione PVC per i dati e i volumi di configurazione runtime di Onlyoffice Docs | nfs |
persistence.size | Richiesta di archiviazione PVC per il volume di ONLYOFFICE Docs | 8Gi |
persistence.storageS3 | Definisce se S3 verrà utilizzato come archiviazione cache. Imposta su true se utilizzerai S3 come archiviazione cache | false |
persistence.runtimeConfig.enabled | Definisce se utilizzare PVC e se montarlo nei container | true |
persistence.runtimeConfig.existingClaim | Il nome del PVC esistente utilizzato per memorizzare la configurazione runtime. Se non specificato, verrà creato un PVC chiamato "ds-runtime-config" | "" |
persistence.runtimeConfig.annotations | Definisce le annotazioni che verranno aggiunte al PVC "ds-runtime-config". Se impostato, ha priorità su commonAnnotations | {} |
persistence.runtimeConfig.size | Richiesta di archiviazione PVC per il volume di configurazione runtime | 1Gi |
commonNameSuffix | Il nome che verrà aggiunto come suffisso al nome di tutte le risorse create | "" |
namespaceOverride | Il nome del namespace in cui verrà distribuito Onlyoffice Docs. Se non impostato, il nome verrà preso da .Release.Namespace | "" |
commonLabels | Definisce le etichette che verranno aggiunte a tutte le risorse distribuite. Puoi anche usare tpl come valore per la chiave | {} |
commonAnnotations | Definisce le annotazioni che verranno aggiunte a tutte le risorse distribuite. Puoi anche usare tpl come valore per la chiave. Alcune risorse possono sovrascrivere i valori specificati qui con i propri | {} |
serviceAccount.create | Abilita la creazione di ServiceAccount | false |
serviceAccount.name | Nome del ServiceAccount da utilizzare. Se non impostato e serviceAccount.create è true, il nome verrà preso da .Release.Name o se serviceAccount.create è false, il nome sarà "default" | "" |
serviceAccount.annotations | Mappa delle annotazioni da aggiungere al ServiceAccount. Se impostato, ha priorità su commonAnnotations | {} |
serviceAccount.automountServiceAccountToken | Abilita il montaggio automatico di ServiceAccountToken sul serviceAccount creato. Usato solo se serviceAccount.create è true | true |
license.existingSecret | Nome del secret esistente che contiene la licenza. Deve contenere la chiave license.lic | "" |
license.existingClaim | Nome del PVC esistente in cui è memorizzata la licenza. Deve contenere il file license.lic | "" |
log.level | Definisce il tipo e la gravità di un evento registrato. I valori possibili sono ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFF | WARN |
log.type | Definisce il formato di un evento registrato. I valori possibili sono pattern, json, basic, coloured, messagePassThrough, dummy | pattern |
log.pattern | Definisce il pattern del log se log.type=pattern | [%d] [%p] %c - %.10000m |
wopi.enabled | Definisce se WOPI è abilitato. Se il parametro è abilitato, gli attributi di caching per la directory montata (PVC) dovrebbero essere disabilitati per il client | false |
wopi.keys.generation | Definisce se generare chiavi API. Usato se imposti wopi.enabled su true | true |
wopi.keys.newKeysExistingSecret | Nome del secret esistente contenente le chiavi WOPI. Deve contenere le chiavi WOPI_PRIVATE_KEY, WOPI_PUBLIC_KEY, WOPI_MODULUS_KEY e WOPI_EXPONENT_KEY. Se non impostato, verranno generate nuove chiavi e verrà creato un secret da esse | "" |
wopi.keys.oldKeysExistingSecret | Nome del secret esistente contenente le vecchie chiavi WOPI. Deve contenere le chiavi WOPI_PRIVATE_KEY_OLD, WOPI_PUBLIC_KEY_OLD, WOPI_MODULUS_KEY_OLD e WOPI_EXPONENT_KEY_OLD. Se non impostato, verranno generate nuove chiavi e verrà creato un secret da esse | "" |
metrics.enabled | Specifica se StatsD è abilitato per ONLYOFFICE Docs | false |
metrics.host | Definisce l'host di ascolto di StatsD | statsd-exporter-prometheus-statsd-exporter |
metrics.port | Definisce la porta di ascolto di StatsD | 8125 |
metrics.prefix | Definisce il prefisso delle metriche StatsD per i servizi backend | ds. |
extraConf.configMap | Il nome del ConfigMap contenente il file json che sovrascrive i valori predefiniti | "" |
extraConf.filename | Il nome del file json che contiene i valori personalizzati. Deve essere lo stesso del nome key in extraConf.ConfigMap | local.json |
extraThemes.configMap | Il nome del ConfigMap contenente il file json che contiene i temi dell'interfaccia | "" |
extraThemes.filename | Il nome del file json che contiene i temi dell'interfaccia personalizzati. Deve essere lo stesso del nome key in extraThemes.configMap | custom-themes.json |
podAntiAffinity.type | Tipi di antiaffinità Pod. Valori consentiti: soft o hard | soft |
podAntiAffinity.topologyKey | Chiave etichetta nodo da abbinare | kubernetes.io/hostname |
podAntiAffinity.weight | Priorità nella selezione del nodo. È nell'intervallo da 1 a 100 | 100 |
nodeSelector | Etichette nodo per l'assegnazione dei pod. Ogni servizio di ONLYOFFICE Docs può sovrascrivere i valori specificati qui con i propri | {} |
tolerations | Tolleranze per l'assegnazione dei pod. Ogni servizio di ONLYOFFICE Docs può sovrascrivere i valori specificati qui con i propri | [] |
imagePullSecrets | Nome del secret del registro delle immagini del container | "" |
requestFilteringAgent.allowPrivateIPAddress | Definisce se è consentito connettersi a indirizzi IP privati o meno. I parametri requestFilteringAgent vengono utilizzati se JWT è disabilitato: jwt.enabled=false | false |
requestFilteringAgent.allowMetaIPAddress | Definisce se è consentito connettersi a indirizzi meta o meno | false |
requestFilteringAgent.allowIPAddressList | Definisce l'elenco degli indirizzi IP autorizzati a connettersi. Questi valori hanno la precedenza su requestFilteringAgent.denyIPAddressList | [] |
requestFilteringAgent.denyIPAddressList | Definisce l'elenco degli indirizzi IP autorizzati a connettersi | [] |
docservice.annotations | Definisce le annotazioni che verranno aggiunte al Deployment di Docservice. Se impostato, ha priorità su commonAnnotations | {} |
docservice.podAnnotations | Mappa delle annotazioni da aggiungere ai pod del deployment di Docservice | rollme: "{{ randAlphaNum 5 | quote }}" |
docservice.replicas | Quantità di repliche di Docservice. Se il parametro docservice.autoscaling.enabled è abilitato, viene ignorato | 2 |
docservice.updateStrategy.type | Tipo di strategia di aggiornamento del deployment di Docservice | Recreate |
docservice.customPodAntiAffinity | Proibisce la pianificazione dei Pod di Docservice rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
docservice.podAffinity | Definisce le regole di affinità Pod per la pianificazione dei Pod di Docservice sui nodi rispetto ad altri Pod | {} |
docservice.nodeAffinity | Definisce le regole di affinità nodo per la pianificazione dei Pod di Docservice sui nodi | {} |
docservice.nodeSelector | Etichette nodo per l'assegnazione dei Pod di Docservice. Se impostato, ha priorità su nodeSelector | {} |
docservice.tolerations | Tolleranze per l'assegnazione dei Pod di Docservice. Se impostato, ha priorità su tolerations | [] |
docservice.terminationGracePeriodSeconds | Il tempo per terminare con grazia durante il quale il Pod di Docservice avrà lo stato Terminating | 30 |
docservice.hostAliases | Aggiunge voci aggiuntive al file hosts nei container Docservice e Proxy | [] |
docservice.initContainers | Definisce i container che vengono eseguiti prima dei container docservice e proxy nel pod di deployment di Docservice. Ad esempio, un container che modifica il proprietario del PersistentVolume | [] |
docservice.image.repository | Repository dell'immagine del container Docservice* | onlyoffice/docs-docservice-de |
docservice.image.tag | Tag dell'immagine del container Docservice | 9.0.4-1 |
docservice.image.pullPolicy | Policy di pull dell'immagine del container Docservice | IfNotPresent |
docservice.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Docservice | false |
docservice.lifecycleHooks | Definisce i lifecycle hooks del container Docservice. Viene utilizzato per attivare eventi da eseguire in determinati punti del ciclo di vita di un container | {} |
docservice.resources.requests | Le risorse richieste per il container Docservice | {} |
docservice.resources.limits | I limiti delle risorse per il container Docservice | {} |
docservice.extraEnvVars | Un array con variabili d'ambiente extra per il container Docservice | [] |
docservice.extraVolumes | Un array con volumi extra per il Pod Docservice | [] |
docservice.extraVolumeMounts | Un array con mount di volumi extra per il container Docservice | [] |
docservice.readinessProbe.enabled | Abilita readinessProbe per il container Docservice | true |
docservice.livenessProbe.enabled | Abilita livenessProbe per il container Docservice | true |
docservice.startupProbe.enabled | Abilita startupProbe per il container Docservice | true |
docservice.autoscaling.enabled | Abilita l'autoscaling del deployment Docservice | false |
docservice.autoscaling.annotations | Definisce annotazioni che verranno aggiunte al deployment HPA di Docservice. Se impostato, ha la priorità su commonAnnotations | {} |
docservice.autoscaling.minReplicas | Numero minimo di repliche per l'autoscaling del deployment Docservice | 2 |
docservice.autoscaling.maxReplicas | Numero massimo di repliche per l'autoscaling del deployment Docservice | 4 |
docservice.autoscaling.targetCPU.enabled | Abilita l'autoscaling del deployment Docservice in base alla percentuale di utilizzo della CPU | true |
docservice.autoscaling.targetCPU.utilizationPercentage | Percentuale target di utilizzo della CPU per l'autoscaling del deployment Docservice | 70 |
docservice.autoscaling.targetMemory.enabled | Abilita l'autoscaling del deployment Docservice in base alla percentuale di utilizzo della memoria | false |
docservice.autoscaling.targetMemory.utilizationPercentage | Percentuale target di utilizzo della memoria per l'autoscaling del deployment Docservice | 70 |
docservice.autoscaling.customMetricsType | Metriche personalizzate, aggiuntive o esterne per l'autoscaling del deployment Docservice | [] |
docservice.autoscaling.behavior | Configurazione delle politiche di comportamento dello scaling del deployment Docservice per i campi scaleDown e scaleUp | {} |
proxy.accessLog | Definisce la direttiva di formato access_log nella configurazione di nginx | off |
proxy.logFormat | Definisce il formato delle voci di log utilizzando testo e variabili diverse | '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' |
proxy.gzipProxied | Definisce la direttiva gzip_proxied nella configurazione di nginx | off |
proxy.clientMaxBodySize | Definisce la direttiva client_max_body_size nella configurazione di nginx | 100m |
proxy.workerConnections | Definisce la direttiva worker_connections nella configurazione di nginx | 4096 |
proxy.secureLinkSecret | Definisce il segreto per la direttiva secure_link_md5 nella configurazione di nginx. Se il valore è vuoto, ne verrà generato uno casuale, che sarà utilizzato successivamente nell'aggiornamento. Se viene impostato un valore, verrà utilizzato | "" |
proxy.secureLinkExistingSecret | Nome del segreto esistente da utilizzare per secure_link. Se impostato, ha la priorità su proxy.secureLinkSecret | "" |
proxy.infoAllowedIP | Definisce gli indirizzi IP per accedere alla pagina delle informazioni | [] |
proxy.infoAllowedUser | Definisce il nome utente per accedere alla pagina delle informazioni. Se non impostato, l'autenticazione di base di Nginx non verrà applicata per accedere alla pagina delle informazioni. Per ulteriori dettagli, vedere qui | "" |
proxy.infoAllowedPassword | Definisce la password utente per accedere alla pagina delle informazioni. Utilizzato se proxy.infoAllowedUser è impostato. Se il valore è vuoto, ne verrà generato uno casuale, che sarà utilizzato successivamente nell'aggiornamento. Se viene impostato un valore, verrà utilizzato | "" |
proxy.infoAllowedSecretKeyName | Il nome della chiave che contiene la password di autenticazione delle informazioni. Utilizzato se proxy.infoAllowedUser è impostato | info-auth-password |
proxy.infoAllowedExistingSecret | Nome del segreto esistente da utilizzare per la password di autenticazione delle informazioni. Utilizzato se proxy.infoAllowedUser è impostato. Deve contenere la chiave specificata in proxy.infoAllowedSecretKeyName. Se impostato, ha la priorità su proxy.infoAllowedPassword | "" |
proxy.welcomePage.enabled | Definisce se la pagina di benvenuto verrà visualizzata | true |
proxy.image.repository | Repository dell'immagine del container Docservice Proxy* | onlyoffice/docs-proxy-de |
proxy.image.tag | Tag dell'immagine del container Docservice Proxy | 9.0.4-1 |
proxy.image.pullPolicy | Policy di pull dell'immagine del container Docservice Proxy | IfNotPresent |
proxy.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Proxy | false |
proxy.lifecycleHooks | Definisce i lifecycle hooks del container Proxy. Viene utilizzato per attivare eventi da eseguire in determinati punti del ciclo di vita di un container | {} |
proxy.resources.requests | Le risorse richieste per il container Proxy | {} |
proxy.resources.limits | I limiti delle risorse per il container Proxy | {} |
proxy.extraEnvVars | Un array con variabili d'ambiente extra per il container Proxy | [] |
proxy.extraVolumeMounts | Un array con mount di volumi extra per il container Proxy | [] |
proxy.readinessProbe.enabled | Abilita readinessProbe per il container Proxy | true |
proxy.livenessProbe.enabled | Abilita livenessProbe per il container Proxy | true |
proxy.startupProbe.enabled | Abilita startupProbe per il container Proxy | true |
converter.annotations | Definisce annotazioni che verranno aggiunte al Deployment del Converter. Se impostato, ha la priorità su commonAnnotations | {} |
converter.podAnnotations | Mappa delle annotazioni da aggiungere ai pod di deployment del Converter | rollme: "{{ randAlphaNum 5 | quote }}" |
converter.replicas | Quantità di repliche del Converter. Se il parametro converter.autoscaling.enabled è abilitato, viene ignorato | 2 |
converter.updateStrategy.type | Tipo di strategia di aggiornamento del deployment del Converter | Recreate |
converter.customPodAntiAffinity | Proibisce la pianificazione dei Pod Converter rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
converter.podAffinity | Definisce le regole di affinità dei Pod per la pianificazione dei Pod Converter sui nodi rispetto ad altri Pod | {} |
converter.nodeAffinity | Definisce le regole di affinità dei nodi per la pianificazione dei Pod Converter sui nodi | {} |
converter.nodeSelector | Etichette dei nodi per l'assegnazione dei Pod Converter. Se impostato, ha la priorità su nodeSelector | {} |
converter.tolerations | Tolleranze per l'assegnazione dei Pod Converter. Se impostato, ha la priorità su tolerations | [] |
converter.terminationGracePeriodSeconds | Il tempo per terminare in modo graduale durante il quale il Pod Converter avrà lo stato Terminating | 30 |
converter.hostAliases | Aggiunge voci aggiuntive al file hosts nel container Converter | [] |
converter.initContainers | Definisce i container che vengono eseguiti prima del container Converter nel pod di deployment Converter. Ad esempio, un container che cambia il proprietario del PersistentVolume | [] |
converter.image.repository | Repository dell'immagine del container Converter* | onlyoffice/docs-converter-de |
converter.image.tag | Tag dell'immagine del container Converter | 9.0.4-1 |
converter.image.pullPolicy | Politica di pull dell'immagine del container Converter | IfNotPresent |
converter.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Converter | false |
converter.lifecycleHooks | Definisce i lifecycle hooks del container Converter. Viene utilizzato per attivare eventi da eseguire in determinati punti del ciclo di vita di un container | {} |
converter.resources.requests | Le risorse richieste per il container Converter | {} |
converter.resources.limits | I limiti delle risorse per il container Converter | {} |
converter.extraEnvVars | Un array con variabili d'ambiente extra per il container Converter | [] |
converter.extraVolumes | Un array con volumi extra per il Pod Converter | [] |
converter.extraVolumeMounts | Un array con montaggi di volumi extra per il container Converter | [] |
converter.autoscaling.enabled | Abilita l'autoscaling del deployment Converter | false |
converter.autoscaling.annotations | Definisce annotazioni che verranno aggiunte ulteriormente all'HPA del deployment Converter. Se impostato, ha priorità su commonAnnotations | {} |
converter.autoscaling.minReplicas | Numero minimo di repliche per l'autoscaling del deployment Converter | 2 |
converter.autoscaling.maxReplicas | Numero massimo di repliche per l'autoscaling del deployment Converter | 16 |
converter.autoscaling.targetCPU.enabled | Abilita l'autoscaling del deployment Converter in base alla percentuale di utilizzo della CPU | true |
converter.autoscaling.targetCPU.utilizationPercentage | Percentuale target di utilizzo della CPU per l'autoscaling del deployment Converter | 70 |
converter.autoscaling.targetMemory.enabled | Abilita l'autoscaling del deployment Converter in base alla percentuale di utilizzo della memoria | false |
converter.autoscaling.targetMemory.utilizationPercentage | Percentuale target di utilizzo della memoria per l'autoscaling del deployment Converter | 70 |
converter.autoscaling.customMetricsType | Metriche di autoscaling personalizzate, aggiuntive o esterne per il deployment Converter | [] |
converter.autoscaling.behavior | Configurazione delle politiche di comportamento di scaling per il deployment Converter nei campi scaleDown e scaleUp | {} |
example.enabled | Abilita l'installazione di Example | false |
example.annotations | Definisce annotazioni che verranno aggiunte ulteriormente allo StatefulSet di Example. Se impostato, ha priorità su commonAnnotations | {} |
example.podAnnotations | Mappa di annotazioni da aggiungere al pod di example | rollme: "{{ randAlphaNum 5 | quote }}" |
example.updateStrategy.type | Tipo di strategia di aggiornamento dello StatefulSet di Example | RollingUpdate |
example.customPodAntiAffinity | Proibisce la pianificazione del Pod di Example rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
example.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod di Example sui nodi rispetto ad altri Pod | {} |
example.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Pod di Example sui nodi | {} |
example.nodeSelector | Etichette del nodo per l'assegnazione dei Pod di Example. Se impostato, ha priorità su nodeSelector | {} |
example.tolerations | Tolleranze per l'assegnazione dei Pod di Example. Se impostato, ha priorità su tolerations | [] |
example.terminationGracePeriodSeconds | Il tempo per terminare in modo grazioso durante il quale il Pod di Example avrà lo stato Terminating | 30 |
example.hostAliases | Aggiunge voci aggiuntive al file hosts nel container Example | [] |
example.initContainers | Definisce i container che vengono eseguiti prima del container Example nel Pod | [] |
example.image.repository | Nome dell'immagine del container Example | onlyoffice/docs-example |
example.image.tag | Tag dell'immagine del container Example | 9.0.4-1 |
example.image.pullPolicy | Politica di pull dell'immagine del container Example | IfNotPresent |
example.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Example | false |
example.dsUrl | Indirizzo esterno di ONLYOFFICE Docs. Dovrebbe essere modificato solo se è necessario verificare il funzionamento della conversione in Example (ad es., http://<documentserver-address>/) | / |
example.resources.requests | Le risorse richieste per il container Example | {} |
example.resources.limits | I limiti delle risorse per il container Example | {} |
example.extraEnvVars | Un array con variabili d'ambiente extra per il container Example | [] |
example.extraConf.configMap | Il nome del ConfigMap contenente il file json che sovrascrive i valori predefiniti. Vedi un esempio di creazione qui | "" |
example.extraConf.filename | Il nome del file json che contiene i valori personalizzati. Deve essere lo stesso del nome key in example.extraConf.ConfigMap | local.json |
example.extraVolumes | Un array con volumi extra per il Pod di Example | [] |
example.extraVolumeMounts | Un array con montaggi di volumi extra per il container Example | [] |
jwt.enabled | Specifica l'abilitazione della validazione del JSON Web Token da parte di ONLYOFFICE Docs. Comune per richieste in entrata e in uscita | true |
jwt.secret | Definisce la chiave segreta per validare il JSON Web Token nella richiesta a ONLYOFFICE Docs. Comune per richieste in entrata e in uscita. Se il valore è vuoto, ne verrà generato uno casuale, che verrà utilizzato successivamente nell'aggiornamento. Se viene impostato un valore, verrà utilizzato | "" |
jwt.header | Definisce l'header http che verrà utilizzato per inviare il JSON Web Token. Comune per richieste in entrata e in uscita | Authorization |
jwt.inBody | Specifica l'abilitazione della validazione del token nel corpo della richiesta a ONLYOFFICE Docs | false |
jwt.inbox | Parametri di validazione del JSON Web Token solo per richieste in entrata. Se non specificato, vengono utilizzati i valori dei parametri del jwt comune | {} |
jwt.outbox | Parametri di validazione del JSON Web Token solo per richieste in uscita. Se non specificato, vengono utilizzati i valori dei parametri del jwt comune | {} |
jwt.existingSecret | Il nome di un secret esistente contenente variabili per jwt. Se non specificato, verrà creato un secret chiamato jwt | "" |
service.existing | Il nome di un servizio esistente per ONLYOFFICE Docs. Se non specificato, verrà creato un servizio chiamato documentserver | "" |
service.annotations | Mappa di annotazioni da aggiungere al servizio ONLYOFFICE Docs. Se impostato, ha priorità su commonAnnotations | {} |
service.type | Tipo di servizio ONLYOFFICE Docs | ClusterIP |
service.port | Porta del servizio ONLYOFFICE Docs | 8888 |
service.sessionAffinity | Affinità di sessione per il servizio ONLYOFFICE Docs. Se non impostato, verrà impostato None come valore predefinito | "" |
service.sessionAffinityConfig | Configurazione per l'affinità di sessione del servizio ONLYOFFICE Docs. Utilizzato se service.sessionAffinity è impostato | {} |
ingress.enabled | Abilita la creazione di un ingress per ONLYOFFICE Docs | false |
ingress.annotations | Mappa di annotazioni da aggiungere all'Ingress. Se impostato, ha priorità su commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
ingress.ingressClassName | Utilizzato per fare riferimento all'IngressClass che dovrebbe essere utilizzato per implementare questo Ingress | nginx |
ingress.controllerName | Utilizzato per distinguere tra controller con lo stesso IngressClassName ma di fornitori diversi | ingress-nginx |
ingress.host | Nome host Ingress per l'ingresso di ONLYOFFICE Docs | "" |
ingress.tenants | Nomi host Ingress se è necessario utilizzare più di un nome. Ad esempio, per la multitenancy. Se impostato, ha la priorità su ingress.host. Se ingress.ssl.enabled è impostato su true, si presume che il certificato per tutti i domini specificati sia mantenuto segreto da ingress.ssl.secret | [] |
ingress.ssl.enabled | Abilita SSL per l'ingresso di ONLYOFFICE Docs | false |
ingress.ssl.secret | Nome del segreto per SSL da montare nell'Ingress | tls |
ingress.path | Specifica il percorso in cui ONLYOFFICE Docs sarà disponibile | / |
ingress.pathType | Specifica il tipo di percorso per la risorsa Ingress di ONLYOFFICE Docs. I valori consentiti sono Exact, Prefix o ImplementationSpecific | ImplementationSpecific |
ingress.letsencrypt.enabled | Abilitazione della creazione di richieste di certificato in Let's Encrypt. Utilizzato se ingress.enabled è impostato su true | false |
ingress.letsencrypt.clusterIssuerName | Nome del ClusterIssuer | letsencrypt-prod |
ingress.letsencrypt.email | Il tuo indirizzo email utilizzato per la registrazione ACME | "" |
ingress.letsencrypt.server | L'indirizzo del server Let's Encrypt a cui verranno inviate le richieste di certificati | https://acme-v02.api.letsencrypt.org/directory |
ingress.letsencrypt.secretName | Nome di un segreto utilizzato per memorizzare la chiave privata dell'account ACME | letsencrypt-prod-private-key |
openshift.route.enabled | Abilita la creazione di un percorso OpenShift per ONLYOFFICE Docs | false |
openshift.route.annotations | Mappa delle annotazioni da aggiungere al percorso OpenShift. Se impostato, ha la priorità su commonAnnotations | {} |
openshift.route.host | Nome host del percorso OpenShift per il percorso di ONLYOFFICE Docs | "" |
openshift.route.path | Specifica il percorso in cui ONLYOFFICE Docs sarà disponibile | / |
openshift.route.wildcardPolicy | La politica per la gestione dei sottodomini wildcard nel percorso OpenShift. I valori consentiti sono None, Subdomain | None |
grafana.enabled | Abilita l'installazione delle risorse necessarie per la visualizzazione delle metriche in Grafana | false |
grafana.namespace | Il nome del namespace in cui verranno distribuiti i componenti RBAC e le risorse Grafana. Se non impostato, il nome verrà preso da namespaceOverride se impostato, o .Release.Namespace | "" |
grafana.ingress.enabled | Abilita la creazione di un ingresso per Grafana. Utilizzato se si imposta grafana.enabled su true e si desidera utilizzare Nginx Ingress per accedere a Grafana | false |
grafana.ingress.annotations | Mappa delle annotazioni da aggiungere a Grafana Ingress. Se impostato, ha la priorità su commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
grafana.dashboard.enabled | Abilita l'installazione di dashboard Grafana predefiniti. Utilizzato se si imposta grafana.enabled su true | false |
podSecurityContext.enabled | Abilita il contesto di sicurezza per i pod | false |
podSecurityContext.converter.fsGroup | Definisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Converter | 101 |
podSecurityContext.docservice.fsGroup | Definisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Docservice | 101 |
podSecurityContext.jobs.fsGroup | Definisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nei Pod creati dai Job | 101 |
podSecurityContext.example.fsGroup | Definisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Example | 1001 |
podSecurityContext.tests.fsGroup | Definisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Test | 101 |
webProxy.enabled | Specifica se nella tua rete viene utilizzato un proxy Web per accedere ai Pod del cluster k8s su Internet | false |
webProxy.http | Indirizzo del proxy Web per il traffico HTTP | http://proxy.example.com |
webProxy.https | Indirizzo del proxy Web per il traffico HTTPS | https://proxy.example.com |
webProxy.noProxy | Modelli per indirizzi IP o nomi di servizi k8s o nomi di dominio che non devono utilizzare il proxy Web | localhost,127.0.0.1,docservice |
privateCluster | Specifica se il cluster k8s è utilizzato in una rete privata senza accesso a Internet | false |
upgrade.job.enabled | Abilita l'esecuzione del job pre-aggiornamento prima di aggiornare ONLYOFFICE Docs | true |
upgrade.job.annotations | Definisce le annotazioni che verranno aggiunte al Job pre-aggiornamento. Se impostato, ha la priorità su commonAnnotations | {} |
upgrade.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod pre-aggiornamento | {} |
upgrade.job.customPodAntiAffinity | Proibisce la pianificazione del Pod del Job pre-aggiornamento rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
upgrade.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod del Job pre-aggiornamento da parte dei nodi rispetto ad altri Pod | {} |
upgrade.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Pod del Job pre-aggiornamento da parte dei nodi | {} |
upgrade.job.nodeSelector | Etichette del nodo per l'assegnazione del Pod del Job pre-aggiornamento. Se impostato, ha la priorità su nodeSelector | {} |
upgrade.job.tolerations | Tolleranze per l'assegnazione del Pod del Job pre-aggiornamento. Se impostato, ha la priorità su tolerations | [] |
upgrade.job.initContainers | Definisce i container che vengono eseguiti prima del container pre-aggiornamento nel Pod | [] |
upgrade.job.image.repository | Repository dell'immagine per il Job di aggiornamento | onlyoffice/docs-utils |
upgrade.job.image.tag | Tag dell'immagine per il Job di aggiornamento | 9.0.4-1 |
upgrade.job.image.pullPolicy | Politica di pull dell'immagine per il Job di aggiornamento | IfNotPresent |
upgrade.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container pre-aggiornamento | false |
upgrade.job.resources.requests | Le risorse richieste per il container del Job pre-aggiornamento | {} |
upgrade.job.resources.limits | I limiti delle risorse per il container del Job pre-aggiornamento | {} |
upgrade.existingConfigmap.tblRemove.name | Il nome del ConfigMap esistente che contiene il file sql per eliminare le tabelle dal database | remove-db-scripts |
upgrade.existingConfigmap.tblRemove.keyName | Il nome del file sql contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in upgrade.existingConfigmap.tblRemove.name | removetbl.sql |
upgrade.existingConfigmap.tblCreate.name | Il nome del ConfigMap esistente che contiene il file sql per creare le tabelle dal database | init-db-scripts |
upgrade.existingConfigmap.tblCreate.keyName | Il nome del file sql contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in upgrade.existingConfigmap.tblCreate.name | createdb.sql |
upgrade.existingConfigmap.dsStop | Il nome del ConfigMap esistente che contiene lo script di aggiornamento di ONLYOFFICE Docs. Se impostato, i quattro parametri precedenti vengono ignorati. Deve contenere una chiave stop.sh | "" |
rollback.job.enabled | Abilita l'esecuzione del job pre-rollback prima di eseguire il rollback di ONLYOFFICE Docs | true |
rollback.job.annotations | Definisce le annotazioni che verranno aggiunte al Job pre-rollback. Se impostato, ha la priorità su commonAnnotations | {} |
rollback.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod pre-rollback | {} |
rollback.job.customPodAntiAffinity | Proibisce la pianificazione del Pod del Job pre-rollback rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
rollback.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod del Job pre-rollback da parte dei nodi rispetto ad altri Pod | {} |
rollback.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Job Pod pre-rollback da parte dei nodi | {} |
rollback.job.nodeSelector | Etichette del nodo per l'assegnazione del Job Pod pre-rollback. Se impostato, ha la priorità sul nodeSelector | {} |
rollback.job.tolerations | Tolleranze per l'assegnazione del Job Pod pre-rollback. Se impostato, ha la priorità sulle tolerations | [] |
rollback.job.initContainers | Definisce i container che vengono eseguiti prima del container pre-rollback nel Pod | [] |
rollback.job.image.repository | Job per il repository dell'immagine di rollback | onlyoffice/docs-utils |
rollback.job.image.tag | Job per il tag dell'immagine di rollback | 9.0.4-1 |
rollback.job.image.pullPolicy | Job per la politica di pull dell'immagine di rollback | IfNotPresent |
rollback.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container pre-rollback | false |
rollback.job.resources.requests | Le risorse richieste per il container di rollback del job | {} |
rollback.job.resources.limits | I limiti delle risorse per il container di rollback del job | {} |
rollback.existingConfigmap.tblRemove.name | Il nome del ConfigMap esistente che contiene il file SQL per eliminare le tabelle dal database | remove-db-scripts |
rollback.existingConfigmap.tblRemove.keyName | Il nome del file SQL contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in rollback.existingConfigmap.tblRemove.name | removetbl.sql |
rollback.existingConfigmap.tblCreate.name | Il nome del ConfigMap esistente che contiene il file SQL per creare le tabelle dal database | init-db-scripts |
rollback.existingConfigmap.tblCreate.keyName | Il nome del file SQL contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in rollback.existingConfigmap.tblCreate.name | createdb.sql |
rollback.existingConfigmap.dsStop | Il nome del ConfigMap esistente che contiene lo script di rollback di ONLYOFFICE Docs. Se impostato, i quattro parametri precedenti vengono ignorati. Deve contenere una chiave stop.sh | "" |
delete.job.enabled | Abilita l'esecuzione del job pre-cancellazione prima di eliminare ONLYOFFICE Docs | true |
delete.job.annotations | Definisce le annotazioni che verranno aggiunte al Job pre-cancellazione. Se impostato, ha la priorità sulle commonAnnotations | {} |
delete.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod pre-cancellazione | {} |
delete.job.customPodAntiAffinity | Proibisce la pianificazione del Job Pod pre-cancellazione rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
delete.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Job Pod pre-cancellazione da parte dei nodi rispetto ad altri Pod | {} |
delete.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Job Pod pre-cancellazione da parte dei nodi | {} |
delete.job.nodeSelector | Etichette del nodo per l'assegnazione del Job Pod pre-cancellazione. Se impostato, ha la priorità sul nodeSelector | {} |
delete.job.tolerations | Tolleranze per l'assegnazione del Job Pod pre-cancellazione. Se impostato, ha la priorità sulle tolerations | [] |
delete.job.initContainers | Definisce i container che vengono eseguiti prima del container pre-cancellazione nel Pod | [] |
delete.job.image.repository | Job per il repository dell'immagine di cancellazione | onlyoffice/docs-utils |
delete.job.image.tag | Job per il tag dell'immagine di cancellazione | 9.0.4-1 |
delete.job.image.pullPolicy | Job per la politica di pull dell'immagine di cancellazione | IfNotPresent |
delete.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container pre-cancellazione | false |
delete.job.resources.requests | Le risorse richieste per il container di cancellazione del job | {} |
delete.job.resources.limits | I limiti delle risorse per il container di cancellazione del job | {} |
delete.existingConfigmap.tblRemove.name | Il nome del ConfigMap esistente che contiene il file SQL per eliminare le tabelle dal database | remove-db-scripts |
delete.existingConfigmap.tblRemove.keyName | Il nome del file SQL contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in delete.existingConfigmap.tblRemove.name | removetbl.sql |
delete.existingConfigmap.dsStop | Il nome del ConfigMap esistente che contiene lo script di cancellazione di ONLYOFFICE Docs. Se impostato, i due parametri precedenti vengono ignorati. Deve contenere una chiave stop.sh | "" |
install.job.enabled | Abilita l'esecuzione del job pre-installazione prima di installare ONLYOFFICE Docs | true |
install.job.annotations | Definisce le annotazioni che verranno aggiunte al Job pre-installazione. Se impostato, ha la priorità sulle commonAnnotations | {} |
install.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod pre-installazione | {} |
install.job.customPodAntiAffinity | Proibisce la pianificazione del Job Pod pre-installazione rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
install.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Job Pod pre-installazione da parte dei nodi rispetto ad altri Pod | {} |
install.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Job Pod pre-installazione da parte dei nodi | {} |
install.job.nodeSelector | Etichette del nodo per l'assegnazione del Job Pod pre-installazione. Se impostato, ha la priorità sul nodeSelector | {} |
install.job.tolerations | Tolleranze per l'assegnazione del Job Pod pre-installazione. Se impostato, ha la priorità sulle tolerations | [] |
install.job.initContainers | Definisce i container che vengono eseguiti prima del container pre-installazione nel Pod | [] |
install.job.image.repository | Job per il repository dell'immagine pre-installazione di ONLYOFFICE Docs | onlyoffice/docs-utils |
install.job.image.tag | Job per il tag dell'immagine pre-installazione di ONLYOFFICE Docs | 9.0.4-1 |
install.job.image.pullPolicy | Job per la politica di pull dell'immagine pre-installazione di ONLYOFFICE Docs | IfNotPresent |
install.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container pre-installazione | false |
install.job.resources.requests | Le risorse richieste per il container di pre-installazione del job | {} |
install.job.resources.limits | I limiti delle risorse per il container di pre-installazione del job | {} |
install.existingConfigmap.tblCreate.name | Il nome del ConfigMap esistente che contiene il file SQL per creare le tabelle dal database | init-db-scripts |
install.existingConfigmap.tblCreate.keyName | Il nome del file SQL contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in install.existingConfigmap.tblCreate.name | createdb.sql |
install.existingConfigmap.initdb | Il nome del ConfigMap esistente che contiene lo script initdb. Se impostato, i due parametri precedenti vengono ignorati. Deve contenere una chiave initdb.sh | "" |
clearCache.job.enabled | Abilita l'esecuzione del job Clear Cache dopo l'aggiornamento di ONLYOFFICE Docs. Il job Clear Cache ha un hook post-upgrade che viene eseguito dopo che tutte le risorse sono state aggiornate in Kubernetes. Pulisce la directory Cache | true |
clearCache.job.annotations | Definisce le annotazioni che verranno aggiunte al Job Clear Cache. Se impostato, ha la priorità sulle commonAnnotations | {} |
clearCache.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod Clear Cache | {} |
clearCache.job.customPodAntiAffinity | Proibisce la pianificazione del Job Pod Clear Cache rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
clearCache.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Job Pod Clear Cache da parte dei nodi rispetto ad altri Pod | {} |
clearCache.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Job Pod Clear Cache da parte dei nodi | {} |
clearCache.job.nodeSelector | Etichette del nodo per l'assegnazione del Job Pod Clear Cache. Se impostato, ha la priorità sul nodeSelector | {} |
clearCache.job.tolerations | Tolleranze per l'assegnazione del Pod del lavoro Clear Cache. Se impostato, ha la priorità su tolerations | [] |
clearCache.job.initContainers | Definisce i container che vengono eseguiti prima del container Clear Cache nel Pod | [] |
clearCache.job.image.repository | Repository dell'immagine del lavoro Clear Cache ONLYOFFICE Docs | onlyoffice/docs-utils |
clearCache.job.image.tag | Tag dell'immagine del lavoro Clear Cache ONLYOFFICE Docs | 9.0.4-1 |
clearCache.job.image.pullPolicy | Politica di pull dell'immagine del lavoro Clear Cache ONLYOFFICE Docs | IfNotPresent |
clearCache.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Clear Cache | false |
clearCache.job.resources.requests | Le risorse richieste per il container del lavoro Clear Cache | {} |
clearCache.job.resources.limits | I limiti delle risorse per il container del lavoro Clear Cache | {} |
clearCache.existingConfigmap.name | Il nome del ConfigMap esistente che contiene lo script personalizzato per cancellare la directory Cache. Se impostato, il configmap predefinito non verrà creato | "" |
clearCache.existingConfigmap.keyName | Il nome dello script contenente le istruzioni per cancellare la directory Cache. Deve essere lo stesso del nome key in clearCache.existingConfigmap.name se viene utilizzato uno script personalizzato | clearCache.sh |
grafanaDashboard.job.annotations | Definisce le annotazioni che verranno aggiunte al lavoro Grafana Dashboard. Se impostato, ha la priorità su commonAnnotations | {} |
grafanaDashboard.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod Grafana Dashboard | {} |
grafanaDashboard.job.customPodAntiAffinity | Proibisce la pianificazione del Pod del lavoro Grafana Dashboard rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
grafanaDashboard.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Grafana Dashboard sui nodi rispetto ad altri Pod | {} |
grafanaDashboard.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Grafana Dashboard sui nodi | {} |
grafanaDashboard.job.nodeSelector | Etichette del nodo per l'assegnazione del Pod del lavoro Grafana Dashboard. Se impostato, ha la priorità su nodeSelector | {} |
grafanaDashboard.job.tolerations | Tolleranze per l'assegnazione del Pod del lavoro Grafana Dashboard. Se impostato, ha la priorità su tolerations | [] |
grafanaDashboard.job.initContainers | Definisce i container che vengono eseguiti prima del container Grafana Dashboard nel Pod | [] |
grafanaDashboard.job.image.repository | Repository dell'immagine del lavoro Grafana Dashboard ONLYOFFICE Docs | onlyoffice/docs-utils |
grafanaDashboard.job.image.tag | Tag dell'immagine del lavoro Grafana Dashboard ONLYOFFICE Docs | 9.0.4-1 |
grafanaDashboard.job.image.pullPolicy | Politica di pull dell'immagine del lavoro Grafana Dashboard ONLYOFFICE Docs | IfNotPresent |
grafanaDashboard.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Grafana Dashboard | false |
grafanaDashboard.job.resources.requests | Le risorse richieste per il container del lavoro Grafana Dashboard | {} |
grafanaDashboard.job.resources.limits | I limiti delle risorse per il container del lavoro Grafana Dashboard | {} |
wopiKeysGeneration.job.annotations | Definisce le annotazioni che verranno aggiunte al lavoro Wopi Keys Generation. Se impostato, ha la priorità su commonAnnotations | {} |
wopiKeysGeneration.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod Wopi Keys Generation | {} |
wopiKeysGeneration.job.customPodAntiAffinity | Proibisce la pianificazione del Pod del lavoro Wopi Keys Generation rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
wopiKeysGeneration.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Wopi Keys Generation sui nodi rispetto ad altri Pod | {} |
wopiKeysGeneration.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Wopi Keys Generation sui nodi | {} |
wopiKeysGeneration.job.nodeSelector | Etichette del nodo per l'assegnazione del Pod del lavoro Wopi Keys Generation. Se impostato, ha la priorità su nodeSelector | {} |
wopiKeysGeneration.job.tolerations | Tolleranze per l'assegnazione del Pod del lavoro Wopi Keys Generation. Se impostato, ha la priorità su tolerations | [] |
wopiKeysGeneration.job.initContainers | Definisce i container che vengono eseguiti prima del container Wopi Keys Generation nel Pod | [] |
wopiKeysGeneration.job.image.repository | Repository dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysGeneration.job.image.tag | Tag dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysGeneration.job.image.pullPolicy | Politica di pull dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE Docs | IfNotPresent |
wopiKeysGeneration.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Wopi Keys Generation | false |
wopiKeysGeneration.job.resources.requests | Le risorse richieste per il container del lavoro Wopi Keys Generation | {} |
wopiKeysGeneration.job.resources.limits | I limiti delle risorse per il container del lavoro Wopi Keys Generation | {} |
wopiKeysDeletion.job.enabled | Abilita l'esecuzione del lavoro Wopi Keys Deletion prima di eliminare ONLYOFFICE Docs. Rimuove i segreti WOPI generati automaticamente. Viene eseguito se wopi.enabled, wopi.keys.generation e wopiKeysDeletion.job.enabled sono impostati su true | true |
wopiKeysDeletion.job.annotations | Definisce le annotazioni che verranno aggiunte al lavoro Wopi Keys Deletion. Se impostato, ha la priorità su commonAnnotations | {} |
wopiKeysDeletion.job.podAnnotations | Mappa delle annotazioni da aggiungere al Pod Wopi Keys Deletion | {} |
wopiKeysDeletion.job.customPodAntiAffinity | Proibisce la pianificazione del Pod del lavoro Wopi Keys Deletion rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
wopiKeysDeletion.job.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Wopi Keys Deletion sui nodi rispetto ad altri Pod | {} |
wopiKeysDeletion.job.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Wopi Keys Deletion sui nodi | {} |
wopiKeysDeletion.job.nodeSelector | Etichette del nodo per l'assegnazione del Pod del lavoro Wopi Keys Deletion. Se impostato, ha la priorità su nodeSelector | {} |
wopiKeysDeletion.job.tolerations | Tolleranze per l'assegnazione del Pod del lavoro Wopi Keys Deletion. Se impostato, ha la priorità su tolerations | [] |
wopiKeysDeletion.job.initContainers | Definisce i container che vengono eseguiti prima del container Wopi Keys Deletion nel Pod | [] |
wopiKeysDeletion.job.image.repository | Repository dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysDeletion.job.image.tag | Tag dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysDeletion.job.image.pullPolicy | Politica di pull dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE Docs | IfNotPresent |
wopiKeysDeletion.job.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container Wopi Keys Deletion | false |
wopiKeysDeletion.job.resources.requests | Le risorse richieste per il container del lavoro Wopi Keys Deletion | {} |
wopiKeysDeletion.job.resources.limits | I limiti delle risorse per il container del lavoro Wopi Keys Deletion | {} |
tests.enabled | Abilita la creazione delle risorse necessarie per il test di avvio di ONLYOFFICE Docs e il test di disponibilità delle dipendenze connesse. Queste risorse verranno utilizzate quando si esegue il comando helm test | true |
tests.annotations | Definisce le annotazioni che verranno aggiunte al Pod di Test. Se impostato, ha la priorità su commonAnnotations | {} |
tests.customPodAntiAffinity | Proibisce la pianificazione del Pod di Test rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo | {} |
tests.podAffinity | Definisce le regole di affinità del Pod per la pianificazione del Pod di Test sui nodi rispetto ad altri Pod | {} |
tests.nodeAffinity | Definisce le regole di affinità del nodo per la pianificazione del Test Pod da parte dei nodi | {} |
tests.nodeSelector | Etichette del nodo per l'assegnazione del Test Pod. Se impostato, ha priorità sul nodeSelector | {} |
tests.tolerations | Tolleranze per l'assegnazione del Test Pod. Se impostato, ha priorità sulle tolerations | [] |
tests.initContainers | Definisce i container che vengono eseguiti prima del container di Test nel Pod | [] |
tests.image.repository | Nome dell'immagine del container di Test | onlyoffice/docs-utils |
tests.image.tag | Tag dell'immagine del container di Test | 9.0.4-1 |
tests.image.pullPolicy | Politica di pull dell'immagine del container di Test | IfNotPresent |
tests.containerSecurityContext.enabled | Abilita il contesto di sicurezza per il container di Test | false |
tests.resources.requests | Le risorse richieste per il container di test | {} |
tests.resources.limits | I limiti delle risorse per il container di test | {} |
-
*Nota: Il prefisso -de è specificato nel valore del repository dell'immagine, il che significa tipo di soluzione. Opzioni possibili:
-de. Per l'edizione commerciale Developer Edition-ee. Per l'edizione commerciale Enterprise Edition
Il valore predefinito di questo parametro si riferisce all'ONLYOFFICE Document Server Developer Edition. Per saperne di più su questa edizione e confrontarla con altre edizioni, consulta la tabella di confronto su questa pagina.
5. Dettagli di configurazione e installazione
-
Esempio di deployment (opzionale)
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di distribuire l'esempio.
Per distribuire l'esempio, imposta il parametro
example.enabledsu true:$ helm install documentserver onlyoffice/docs --set example.enabled=true -
Distribuzione delle metriche (opzionale)Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di distribuire le metriche.
Per distribuire le metriche, imposta
metrics.enabledsu true:$ helm install documentserver onlyoffice/docs --set metrics.enabled=trueSe desideri utilizzare Grafana per visualizzare le metriche, imposta
grafana.enabledsutrue. Se desideri utilizzare Nginx Ingress per accedere a Grafana, impostagrafana.ingress.enabledsutrue:$ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true -
Esporre ONLYOFFICE Docs
-
Esporre ONLYOFFICE Docs tramite Servizio (solo HTTP)
Dovresti saltare questo passaggio se intendi esporre ONLYOFFICE Docs tramite HTTPS.
Questo tipo di esposizione crea un loadbalancer per accedere a ONLYOFFICE Docs. Usa questo tipo se utilizzi la terminazione TLS esterna e non hai un'altra applicazione web nel cluster k8s.
Per esporre ONLYOFFICE Docs tramite servizio, imposta il parametro
service.typesu LoadBalancer:$ helm install documentserver onlyoffice/docs --set service.type=LoadBalancer,service.port=80Esegui il seguente comando per ottenere l'IP del servizio
documentserver:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"Dopo di ciò, ONLYOFFICE Docs sarà disponibile su
http://DOCUMENTSERVER-SERVICE-IP/.Se l'IP del servizio è vuoto, prova a ottenere il nome host del servizio
documentserver:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].hostname}"In questo caso, ONLYOFFICE Docs sarà disponibile su
http://DOCUMENTSERVER-SERVICE-HOSTNAME/. -
Esporre ONLYOFFICE Docs tramite Ingress
Prima, installa il Kubernetes Nginx Ingress Controller:
$ helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true,controller.replicaCount=2Per abilitare l'esposizione delle metriche di ingress-nginx a Prometheus, esegui:$ helm install nginx-ingress -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/ingress_values.yaml ingress-nginx/ingress-nginxVedi maggiori dettagli sull'installazione di Nginx Ingress tramite Helm qui.
Quindi scegli il tuo metodo di esposizione:
-
Via HTTPDovresti saltare questo se intendi esporre ONLYOFFICE Docs tramite HTTPS.
$ helm install documentserver onlyoffice/docs --set ingress.enabled=trueOttieni l'IP dell'ingress:
$ kubectl get ingress documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"ONLYOFFICE Docs sarà disponibile su
http://DOCUMENTSERVER-INGRESS-IP/(o usa il nome host se l'IP è vuoto). -
Via HTTPS (terminazione TLS)
Crea il segreto
tlscon il tuo certificato SSL:$ kubectl create secret generic tls \ --from-file=./tls.crt \ --from-file=./tls.key$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.comAssocia l'IP o il nome host dell'ingress con il tuo nome di dominio tramite il tuo provider DNS. Dopo di ciò, ONLYOFFICE Docs sarà disponibile su
https://your-domain-name/. -
Via HTTPS usando Let's Encrypt
$ helm repo add jetstack https://charts.jetstack.io $ helm repo update$ helm install cert-manager --version v1.17.4 jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --set crds.enabled=true \ --set crds.keep=falseQuindi installa o aggiorna ONLYOFFICE Docs impostando
ingress.enabled,ingress.ssl.enabled,ingress.letsencrypt.enabledsutrue, e specificando i tuoi valori peringress.letsencrypt.emaileingress.host(oingress.tenantsper domini multipli). -
Via un percorso virtuale
Imposta i parametri
ingress.enabled,ingress.hosteingress.path:$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docsController di ingress supportati: Ingress NGINX di Kubernetes, NGINX Ingress di NGINX, HAProxy Ingress di HAProxy.
Per Ingress NGINX di Kubernetes, aggiungi il pattern
(/|$)(.*)aingress.path, ad esempio/docs(/|$)(.*).
-
-
Esporre ONLYOFFICE Docs tramite route in OpenShift
$ helm install documentserver onlyoffice/docs --set openshift.route.enabled=true,openshift.route.host=your-domain-name,openshift.route.path=/docsPer la terminazione TLS, aggiungi manualmente i certificati alla route tramite la console web di OpenShift.
-
Esporre ONLYOFFICE Docs tramite Servizio (solo HTTP)
6. Scalare ONLYOFFICE Docs
-
Autoscaling orizzontale dei Pod
Puoi abilitare l'Autoscaling in modo che il numero di repliche delle distribuzioni
docserviceeconvertervenga calcolato automaticamente in base ai valori e al tipo di metriche.Per le metriche delle risorse, l'API
metrics.k8s.iodeve essere registrata, generalmente fornita da metrics-server. Può essere avviata come add-on del cluster.Per abilitare HPA per il deployment di
docservice, specificare il parametrodocservice.autoscaling.enabled=true. Allo stesso modo, per abilitare HPA per il deployment diconverter, specificareconverter.autoscaling.enabled=true. In entrambi i casi, il parametroreplicascorrispondente viene ignorato e il numero di repliche è controllato da HPA.Per ulteriori informazioni sull'Autoscaling Orizzontale dei Pod, vedere qui. Per altri parametri di Autoscaling configurabili, vedere la tabella dei Parametri.
-
Scalabilità manuale
I deployment di
docserviceeconverterconsistono ciascuno di 2 pod per impostazione predefinita.Per scalare il deployment di
docservice:$ kubectl scale -n default deployment docservice --replicas=POD_COUNTPer scalare il deployment di
converter:$ kubectl scale -n default deployment converter --replicas=POD_COUNT
7. Aggiornare ONLYOFFICE Docs
Per aggiornare, impostare i parametri per l'aggiornamento. Ad esempio:
$ helm upgrade documentserver onlyoffice/docs \
--set docservice.image.tag=[version]
Oppure modificare il file values.yaml ed eseguire:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs
Il comando helm upgrade esegue un hook che spegne ONLYOFFICE Docs e pulisce il database. Il tempo di esecuzione predefinito dell'hook è 300s. Per modificarlo:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs --timeout 15m
Per aggiornare qualsiasi parametro diverso dalla versione di ONLYOFFICE Docs, eseguire helm upgrade senza hook:
$ helm upgrade documentserver onlyoffice/docs --set jwt.enabled=false --no-hooks
Per annullare gli aggiornamenti:
$ helm rollback documentserver
8. Spegnere ONLYOFFICE Docs
Per eseguire lo spegnimento, eseguire il seguente comando:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n <NAMESPACE>
Dove <NAMESPACE> è il namespace in cui ONLYOFFICE Docs è installato. Predefinito a default se non specificato. Ad esempio:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n onlyoffice
Dopo che il Pod shutdown-ds è stato eseguito con successo, eliminare il Job:
$ kubectl delete job shutdown-ds -n <NAMESPACE>
Per riavviare ONLYOFFICE Docs dopo lo spegnimento, riavviare i pod docservice e converter:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
9. Aggiornare la licenza di ONLYOFFICE Docs
Dalla versione v5.1.1, è possibile aggiornare la licenza ricreando il segreto senza riavviare i pod. Per aggiornare la licenza:
- Posizionare il nuovo file
license.licin una directory. -
Eseguire i seguenti comandi:
$ kubectl delete secret [SECRET_LICENSE_NAME] -n <NAMESPACE> $ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic -n <NAMESPACE>Dove SECRET_LICENSE_NAME è il nome del segreto esistente con una licenza.
Il documentserver rileggerà automaticamente la nuova licenza.
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Test di installazione di ONLYOFFICE Docs
Testare la disponibilità di ONLYOFFICE Docs e l'accesso alle dipendenze connesse:
$ helm test documentserver -n <NAMESPACE>
L'output dovrebbe contenere:
Phase: Succeeded
Per visualizzare il log del test:
$ kubectl logs -f test-ds -n <NAMESPACE>
Dopo il test, eliminare il Pod test-ds:
$ kubectl delete pod test-ds -n <NAMESPACE>
11. Eseguire i Job in un cluster k8s privato
Quando si esegue un Job per l'installazione, l'aggiornamento, il rollback o l'eliminazione, il container necessita di accesso a Internet per scaricare gli ultimi script SQL. Se l'accesso alla rete esterna è limitato nel tuo cluster, imposta privateCluster=true e crea manualmente un ConfigMap con gli script SQL necessari.
Se il tuo cluster ha già i configmap remove-db-scripts e init-db-scripts, eliminali prima:
$ kubectl delete cm remove-db-scripts init-db-scripts
Scarica gli script del database. Per PostgreSQL:
$ wget -O removetbl.sql https://raw.githubusercontent.com/ONLYOFFICE/server/master/schema/postgresql/removetbl.sql
$ wget -O createdb.sql https://raw.githubusercontent.com/ONLYOFFICE/server/master/schema/postgresql/createdb.sql
Per MySQL:
$ wget -O removetbl.sql https://raw.githubusercontent.com/ONLYOFFICE/server/master/schema/mysql/removetbl.sql
$ wget -O createdb.sql https://raw.githubusercontent.com/ONLYOFFICE/server/master/schema/mysql/createdb.sql
Crea configmap da essi:
$ kubectl create configmap remove-db-scripts --from-file=./removetbl.sql
$ kubectl create configmap init-db-scripts --from-file=./createdb.sql
Se hai usato nomi diversi per ConfigMap o i file, imposta i parametri appropriati per i job corrispondenti: existingConfigmap.tblRemove.name / existingConfigmap.tblRemove.keyName per gli script di pulizia, e existingConfigmap.tblCreate.name / existingConfigmap.tblCreate.keyName per gli script di creazione.
Quindi, quando esegui helm install|upgrade|rollback|delete, imposta il parametro privateCluster=true.
privateCluster=false e impostare webProxy.enabled=true con i parametri proxy appropriati invece di creare manualmente i configmap.12. Accesso alla pagina delle informazioni
L'accesso alla pagina /info è limitato per impostazione predefinita. Per consentire l'accesso, specificare gli indirizzi IP o le subnet utilizzando il parametro proxy.infoAllowedIP. Si noti che a causa delle specifiche della rete Kubernetes, i client effettivi sono tipicamente indirizzi di Pod, Nodo o Load Balancer piuttosto che l'IP originale dell'utente.
Puoi ulteriormente limitare l'accesso utilizzando l'Autenticazione di Base di Nginx impostando il parametro proxy.infoAllowedUser e una password tramite proxy.infoAllowedPassword. In alternativa, usa un segreto esistente impostando proxy.infoAllowedExistingSecret.
Utilizzo di Grafana per visualizzare le metriche
1. Distribuire Grafana
-
Distribuire Grafana senza dashboard predefiniti
Salta questo passaggio se vuoi distribuire Grafana con dashboard predefiniti.
$ helm install grafana --version 12.1.8 bitnami/grafana \ --set service.ports.grafana=80 \ --set config.useGrafanaIniFile=true \ --set config.grafanaIniConfigMap=grafana-ini \ --set datasources.secretName=grafana-datasource \ --set resourcesPreset=none \ --set image.repository=bitnamilegacy/grafana \ --set image.tag=12.1.1-debian-12-r1 \ --set global.security.allowInsecureImages=true -
Distribuire Grafana con dashboard preconfigurati
-
Installare dashboard Grafana preconfigurati
Impostare i parametri
grafana.enabledegrafana.dashboard.enabledsutrue. Se ONLYOFFICE Docs è già installato, eseguire:helm upgrade documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.dashboard.enabled=trueQuesto scarica i dashboard preconfigurati in formato JSON dal sito web di Grafana, applica le modifiche necessarie e crea un configmap da essi. Viene anche aggiunto un dashboard per le metriche di ONLYOFFICE Docs (si presume che il passaggio 6 (Distribuire StatsD exporter) sia già stato completato).
-
Installare Grafana
$ helm install grafana --version 12.1.8 bitnami/grafana \ --set service.ports.grafana=80 \ --set config.useGrafanaIniFile=true \ --set config.grafanaIniConfigMap=grafana-ini \ --set datasources.secretName=grafana-datasource \ --set resourcesPreset=none \ --set image.repository=bitnamilegacy/grafana \ --set image.tag=12.1.1-debian-12-r1 \ --set global.security.allowInsecureImages=true \ --set dashboardsProvider.enabled=true \ --set dashboardsConfigMaps[0].configMapName=dashboard-node-exporter \ --set dashboardsConfigMaps[0].fileName=dashboard-node-exporter.json \ --set dashboardsConfigMaps[1].configMapName=dashboard-deployment \ --set dashboardsConfigMaps[1].fileName=dashboard-deployment.json \ --set dashboardsConfigMaps[2].configMapName=dashboard-redis \ --set dashboardsConfigMaps[2].fileName=dashboard-redis.json \ --set dashboardsConfigMaps[3].configMapName=dashboard-rabbitmq \ --set dashboardsConfigMaps[3].fileName=dashboard-rabbitmq.json \ --set dashboardsConfigMaps[4].configMapName=dashboard-postgresql \ --set dashboardsConfigMaps[4].fileName=dashboard-postgresql.json \ --set dashboardsConfigMaps[5].configMapName=dashboard-nginx-ingress \ --set dashboardsConfigMaps[5].fileName=dashboard-nginx-ingress.json \ --set dashboardsConfigMaps[6].configMapName=dashboard-documentserver \ --set dashboardsConfigMaps[6].fileName=dashboard-documentserver.json \ --set dashboardsConfigMaps[7].configMapName=dashboard-cluster-resourses \ --set dashboardsConfigMaps[7].fileName=dashboard-cluster-resourses.jsonI seguenti dashboard saranno importati in Grafana: Node Exporter, Deployment Statefulset Daemonset, Redis Dashboard per Prometheus Redis Exporter, RabbitMQ-Overview, Database PostgreSQL, controller NGINX Ingress, ONLYOFFICE Docs e Utilizzo delle risorse da parte di Pod e Container.
Puoi vedere la descrizione delle metriche di ONLYOFFICE Docs visualizzate in Grafana qui.Vedi maggiori dettagli sull'installazione di Grafana tramite Helm qui.
-
Installare dashboard Grafana preconfigurati
2. Accesso a Grafana tramite Ingress
Se ONLYOFFICE Docs è stato installato con il parametro grafana.ingress.enabled (Distribuzione delle metriche), Grafana sarà disponibile a: http://INGRESS-ADDRESS/grafana/
Se Ingress è stato installato con una connessione sicura (Esporre ONLYOFFICE Docs tramite HTTPS), Grafana sarà disponibile a: https://your-domain-name/grafana/
3. Visualizzare le metriche raccolte in Grafana
Vai a http(s)://your-domain-name/grafana/ e accedi con:
Login - admin
Per ottenere la password, esegui:
$ kubectl get secret grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode
Nella sezione dashboard, vedrai i dashboard aggiunti che mostrano le metriche ricevute da Prometheus.