• Home
  • ONLYOFFICE Docs per Kubernetes
Questo articolo è stato tradotto dall’AI

ONLYOFFICE Docs per Kubernetes

Introduzione

Importante La seguente guida è valida solo per la soluzione di licenza cluster a pagamento.
  • È necessario avere un cluster Kubernetes o OpenShift installato:
  • Dovresti anche avere una copia locale configurata di kubectl. Vedi questa guida su come installare e configurare kubectl.
  • Dovresti installare Helm v3.7+. Segui le istruzioni qui per installarlo.
  • Se utilizzi OpenShift, puoi usare sia oc che kubectl per 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

Potrebbe essere necessario applicare la politica SecurityContextConstraints quando si installa in un cluster OpenShift, che aggiunge il permesso di eseguire container da un utente il cui 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
Importante Se desideri utilizzare Amazon S3 come cache, salta questo passaggio.

Installa NFS Server Provisioner

Quando si installa NFS Server Provisioner, vengono create le Storage Classes - 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:

  • 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.

Importante Il tipo di PersistentVolume da utilizzare per il posizionamento del PVC deve supportare la modalità di accesso ReadWriteMany. Inoltre, il PersistentVolume deve avere come proprietario l'utente da cui verrà avviato ONLYOFFICE Docs. Di default è 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
Imposta 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
Imposta 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
Imposta 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.

Imposta 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
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non desideri eseguire StatsD exporter.
  1. 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
  2. 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=1m

    Per modificare l'intervallo di scraping, specifica il parametro server.global.scrape_interval.

    Vedi ulteriori dettagli sull'installazione di Prometheus tramite Helm qui.

  3. 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=30000ms

    Vedi 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
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di apportare modifiche ai file di configurazione.
  1. 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.json
    Può essere utilizzato qualsiasi nome al posto di local-config.
  2. Specifica i parametri durante l'installazione di ONLYOFFICE Docs

    Durante l'installazione di ONLYOFFICE Docs, specifica i parametri extraConf.configMap=local-config e extraConf.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
    helm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooks
    oppure
    helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks
    se i parametri sono specificati nel file values.yaml.
8. Aggiungi Font personalizzati
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di aggiungere i tuoi font.

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
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di aggiungere 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
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di aggiungere i tuoi dizionari.

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
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non hai bisogno di cambiare i temi dell'interfaccia.
  1. 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.json
    Invece di custom-themes e custom-themes.json puoi usare qualsiasi altro nome.
  2. Specifica i parametri durante l'installazione di ONLYOFFICE Docs

    Durante l'installazione di ONLYOFFICE Docs, specifica i parametri extraThemes.configMap=custom-themes e extraThemes.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 comando helm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooks oppure helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks se i parametri sono specificati nel file values.yaml.
12. Collegare il bucket Amazon S3 come cache a ONLYOFFICE Helm Docs
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se non vuoi usare Amazon S3 come storage cache.

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

Potrebbe essere necessario applicare la policy 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
  1. Crea segreto

    Se hai una licenza valida di ONLYOFFICE Docs, crea un segreto license dal file:

    $ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic

    Dove 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 vuoto license. Per informazioni su come aggiornare un secret esistente con una licenza, vedere qui.
  2. 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 comando helm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooks oppure helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks se i parametri sono specificati nel file values.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.

Quando si installa ONLYOFFICE Docs in un cluster k8s privato dietro un proxy Web o senza accesso a Internet, vedere le note di seguito.
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
Quando si elimina ONLYOFFICE Docs in un cluster k8s privato dietro un proxy Web o senza accesso a Internet, vedere le note di seguito.

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
È possibile utilizzare il values.yaml predefinito.
Mostra tutti i parametri
connections.dbTypeIl tipo di database. I valori possibili sono postgres, mariadb, mysql, oracle, mssql o damengpostgres
connections.dbHostL'indirizzo IP o il nome dell'host del Databasepostgresql
connections.dbUserUtente del databasepostgres
connections.dbPortNumero di porta del server del database5432
connections.dbNameNome del database a cui l'applicazione sarà connessapostgres
connections.dbPasswordPassword dell'utente del database. Se impostata, ha la priorità su connections.dbExistingSecret""
connections.dbSecretKeyNameIl nome della chiave che contiene la password dell'utente del databasepostgres-password
connections.dbExistingSecretNome del secret esistente da utilizzare per le password del database. Deve contenere la chiave specificata in connections.dbSecretKeyNamepostgresql
connections.redisConnectorNameDefinisce quale connettore utilizzare per connettersi a Redis. Se è necessario connettersi a Redis Sentinel, impostare il valore ioredisredis
connections.redistHostL'indirizzo IP o il nome dell'host Redis. Non utilizzato se i valori sono impostati in connections.redisClusterNodes e connections.redisSentinelNodesredis-master
connections.redisPortNumero di porta del server Redis. Non utilizzato se i valori sono impostati in connections.redisClusterNodes e connections.redisSentinelNodes6379
connections.redisUserNome 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 personalizzatodefault
connections.redisDBNumNumero 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 personalizzato0
connections.redisClusterNodesElenco 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.redisPasswordLa 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.redisSecretKeyNameIl nome della chiave che contiene la password dell'utente Redisredis-password
connections.redisExistingSecretNome 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.jsonredis
connections.redisNoPassDefinisce se utilizzare un'autenticazione Redis senza password. Se la connessione al server Redis non richiede una password, impostare il valore su truefalse
connections.redisSentinelNodesElenco 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.redisSentinelGroupNameNome di un gruppo di istanze Redis composto da un master e uno o più slave. Utilizzato se connections.redisConnectorName è impostato su ioredismymaster
connections.redisSentinelExistingSecretNome 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.redisSentinelSecretKeyNameIl 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 quisentinel-password
connections.redisSentinelPasswordLa 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.redisSentinelNoPassDefinisce se utilizzare un'autenticazione Redis Sentinel senza password. Se la connessione a Redis Sentinel non richiede una password, impostare il valore su truetrue
connections.amqpTypeDefinisce il tipo di server AMQP. I valori possibili sono rabbitmq o activemqrabbitmq
connections.amqpHostL'indirizzo IP o il nome del server AMQPrabbitmq
connections.amqpPortLa porta per la connessione al server AMQP5672
connections.amqpVhostIl virtual host per la connessione al server AMQP/
connections.amqpUserIl nome utente per l'account del server AMQPuser
connections.amqpProtoIl protocollo per la connessione al server AMQPamqp
connections.amqpPassword Password dell'utente del server AMQP. Se impostato, ha priorità su connections.amqpExistingSecret""
connections.amqpSecretKeyNameIl nome della chiave che contiene la password dell'utente del server AMQPrabbitmq-password
connections.amqpExistingSecretIl nome del secret esistente da utilizzare per le password del server AMQP. Deve contenere la chiave specificata in connections.amqpSecretKeyNamerabbitmq
persistence.existingClaimNome di un PVC esistente da utilizzare. Se non specificato, verrà creato un PVC chiamato "ds-files"""
persistence.annotationsDefinisce le annotazioni che verranno aggiunte al PVC "ds-files". Se impostato, ha priorità su commonAnnotations{}
persistence.storageClassClasse di archiviazione PVC per i dati e i volumi di configurazione runtime di Onlyoffice Docsnfs
persistence.sizeRichiesta di archiviazione PVC per il volume di ONLYOFFICE Docs8Gi
persistence.storageS3Definisce se S3 verrà utilizzato come archiviazione cache. Imposta su true se utilizzerai S3 come archiviazione cachefalse
persistence.runtimeConfig.enabledDefinisce se utilizzare PVC e se montarlo nei containertrue
persistence.runtimeConfig.existingClaimIl nome del PVC esistente utilizzato per memorizzare la configurazione runtime. Se non specificato, verrà creato un PVC chiamato "ds-runtime-config"""
persistence.runtimeConfig.annotationsDefinisce le annotazioni che verranno aggiunte al PVC "ds-runtime-config". Se impostato, ha priorità su commonAnnotations{}
persistence.runtimeConfig.sizeRichiesta di archiviazione PVC per il volume di configurazione runtime1Gi
commonNameSuffixIl nome che verrà aggiunto come suffisso al nome di tutte le risorse create""
namespaceOverrideIl nome del namespace in cui verrà distribuito Onlyoffice Docs. Se non impostato, il nome verrà preso da .Release.Namespace""
commonLabelsDefinisce le etichette che verranno aggiunte a tutte le risorse distribuite. Puoi anche usare tpl come valore per la chiave{}
commonAnnotationsDefinisce 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.createAbilita la creazione di ServiceAccountfalse
serviceAccount.nameNome 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.annotationsMappa delle annotazioni da aggiungere al ServiceAccount. Se impostato, ha priorità su commonAnnotations{}
serviceAccount.automountServiceAccountTokenAbilita il montaggio automatico di ServiceAccountToken sul serviceAccount creato. Usato solo se serviceAccount.create è truetrue
license.existingSecretNome del secret esistente che contiene la licenza. Deve contenere la chiave license.lic""
license.existingClaimNome del PVC esistente in cui è memorizzata la licenza. Deve contenere il file license.lic""
log.levelDefinisce il tipo e la gravità di un evento registrato. I valori possibili sono ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFFWARN
log.typeDefinisce il formato di un evento registrato. I valori possibili sono pattern, json, basic, coloured, messagePassThrough, dummypattern
log.patternDefinisce il pattern del log se log.type=pattern[%d] [%p] %c - %.10000m
wopi.enabledDefinisce se WOPI è abilitato. Se il parametro è abilitato, gli attributi di caching per la directory montata (PVC) dovrebbero essere disabilitati per il clientfalse
wopi.keys.generationDefinisce se generare chiavi API. Usato se imposti wopi.enabled su truetrue
wopi.keys.newKeysExistingSecretNome 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.oldKeysExistingSecretNome 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.enabledSpecifica se StatsD è abilitato per ONLYOFFICE Docsfalse
metrics.hostDefinisce l'host di ascolto di StatsDstatsd-exporter-prometheus-statsd-exporter
metrics.portDefinisce la porta di ascolto di StatsD8125
metrics.prefixDefinisce il prefisso delle metriche StatsD per i servizi backendds.
extraConf.configMapIl nome del ConfigMap contenente il file json che sovrascrive i valori predefiniti""
extraConf.filenameIl nome del file json che contiene i valori personalizzati. Deve essere lo stesso del nome key in extraConf.ConfigMaplocal.json
extraThemes.configMapIl nome del ConfigMap contenente il file json che contiene i temi dell'interfaccia""
extraThemes.filenameIl nome del file json che contiene i temi dell'interfaccia personalizzati. Deve essere lo stesso del nome key in extraThemes.configMapcustom-themes.json
podAntiAffinity.typeTipi di antiaffinità Pod. Valori consentiti: soft o hardsoft
podAntiAffinity.topologyKeyChiave etichetta nodo da abbinarekubernetes.io/hostname
podAntiAffinity.weightPriorità nella selezione del nodo. È nell'intervallo da 1 a 100100
nodeSelectorEtichette nodo per l'assegnazione dei pod. Ogni servizio di ONLYOFFICE Docs può sovrascrivere i valori specificati qui con i propri{}
tolerationsTolleranze per l'assegnazione dei pod. Ogni servizio di ONLYOFFICE Docs può sovrascrivere i valori specificati qui con i propri[]
imagePullSecretsNome del secret del registro delle immagini del container""
requestFilteringAgent.allowPrivateIPAddressDefinisce se è consentito connettersi a indirizzi IP privati o meno. I parametri requestFilteringAgent vengono utilizzati se JWT è disabilitato: jwt.enabled=falsefalse
requestFilteringAgent.allowMetaIPAddressDefinisce se è consentito connettersi a indirizzi meta o menofalse
requestFilteringAgent.allowIPAddressListDefinisce l'elenco degli indirizzi IP autorizzati a connettersi. Questi valori hanno la precedenza su requestFilteringAgent.denyIPAddressList[]
requestFilteringAgent.denyIPAddressListDefinisce l'elenco degli indirizzi IP autorizzati a connettersi[]
docservice.annotationsDefinisce le annotazioni che verranno aggiunte al Deployment di Docservice. Se impostato, ha priorità su commonAnnotations{}
docservice.podAnnotationsMappa delle annotazioni da aggiungere ai pod del deployment di Docservicerollme: "{{ randAlphaNum 5 | quote }}"
docservice.replicasQuantità di repliche di Docservice. Se il parametro docservice.autoscaling.enabled è abilitato, viene ignorato2
docservice.updateStrategy.typeTipo di strategia di aggiornamento del deployment di DocserviceRecreate
docservice.customPodAntiAffinityProibisce la pianificazione dei Pod di Docservice rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
docservice.podAffinityDefinisce le regole di affinità Pod per la pianificazione dei Pod di Docservice sui nodi rispetto ad altri Pod{}
docservice.nodeAffinityDefinisce le regole di affinità nodo per la pianificazione dei Pod di Docservice sui nodi{}
docservice.nodeSelectorEtichette nodo per l'assegnazione dei Pod di Docservice. Se impostato, ha priorità su nodeSelector{}
docservice.tolerationsTolleranze per l'assegnazione dei Pod di Docservice. Se impostato, ha priorità su tolerations[]
docservice.terminationGracePeriodSecondsIl tempo per terminare con grazia durante il quale il Pod di Docservice avrà lo stato Terminating30
docservice.hostAliasesAggiunge voci aggiuntive al file hosts nei container Docservice e Proxy[]
docservice.initContainersDefinisce 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.repositoryRepository dell'immagine del container Docservice*onlyoffice/docs-docservice-de
docservice.image.tagTag dell'immagine del container Docservice9.0.4-1
docservice.image.pullPolicyPolicy di pull dell'immagine del container DocserviceIfNotPresent
docservice.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Docservicefalse
docservice.lifecycleHooksDefinisce 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.requestsLe risorse richieste per il container Docservice{}
docservice.resources.limitsI limiti delle risorse per il container Docservice{}
docservice.extraEnvVarsUn array con variabili d'ambiente extra per il container Docservice[]
docservice.extraVolumesUn array con volumi extra per il Pod Docservice[]
docservice.extraVolumeMountsUn array con mount di volumi extra per il container Docservice[]
docservice.readinessProbe.enabledAbilita readinessProbe per il container Docservicetrue
docservice.livenessProbe.enabledAbilita livenessProbe per il container Docservicetrue
docservice.startupProbe.enabledAbilita startupProbe per il container Docservicetrue
docservice.autoscaling.enabledAbilita l'autoscaling del deployment Docservicefalse
docservice.autoscaling.annotationsDefinisce annotazioni che verranno aggiunte al deployment HPA di Docservice. Se impostato, ha la priorità su commonAnnotations{}
docservice.autoscaling.minReplicasNumero minimo di repliche per l'autoscaling del deployment Docservice2
docservice.autoscaling.maxReplicasNumero massimo di repliche per l'autoscaling del deployment Docservice4
docservice.autoscaling.targetCPU.enabledAbilita l'autoscaling del deployment Docservice in base alla percentuale di utilizzo della CPUtrue
docservice.autoscaling.targetCPU.utilizationPercentagePercentuale target di utilizzo della CPU per l'autoscaling del deployment Docservice70
docservice.autoscaling.targetMemory.enabledAbilita l'autoscaling del deployment Docservice in base alla percentuale di utilizzo della memoriafalse
docservice.autoscaling.targetMemory.utilizationPercentagePercentuale target di utilizzo della memoria per l'autoscaling del deployment Docservice70
docservice.autoscaling.customMetricsTypeMetriche personalizzate, aggiuntive o esterne per l'autoscaling del deployment Docservice[]
docservice.autoscaling.behaviorConfigurazione delle politiche di comportamento dello scaling del deployment Docservice per i campi scaleDown e scaleUp{}
proxy.accessLogDefinisce la direttiva di formato access_log nella configurazione di nginxoff
proxy.logFormatDefinisce 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.gzipProxiedDefinisce la direttiva gzip_proxied nella configurazione di nginxoff
proxy.clientMaxBodySizeDefinisce la direttiva client_max_body_size nella configurazione di nginx100m
proxy.workerConnectionsDefinisce la direttiva worker_connections nella configurazione di nginx4096
proxy.secureLinkSecretDefinisce 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.secureLinkExistingSecretNome del segreto esistente da utilizzare per secure_link. Se impostato, ha la priorità su proxy.secureLinkSecret""
proxy.infoAllowedIPDefinisce gli indirizzi IP per accedere alla pagina delle informazioni[]
proxy.infoAllowedUserDefinisce 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.infoAllowedPasswordDefinisce 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.infoAllowedSecretKeyNameIl nome della chiave che contiene la password di autenticazione delle informazioni. Utilizzato se proxy.infoAllowedUser è impostatoinfo-auth-password
proxy.infoAllowedExistingSecretNome 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.enabledDefinisce se la pagina di benvenuto verrà visualizzatatrue
proxy.image.repositoryRepository dell'immagine del container Docservice Proxy*onlyoffice/docs-proxy-de
proxy.image.tagTag dell'immagine del container Docservice Proxy9.0.4-1
proxy.image.pullPolicyPolicy di pull dell'immagine del container Docservice ProxyIfNotPresent
proxy.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Proxyfalse
proxy.lifecycleHooksDefinisce 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.requestsLe risorse richieste per il container Proxy{}
proxy.resources.limitsI limiti delle risorse per il container Proxy{}
proxy.extraEnvVarsUn array con variabili d'ambiente extra per il container Proxy[]
proxy.extraVolumeMountsUn array con mount di volumi extra per il container Proxy[]
proxy.readinessProbe.enabledAbilita readinessProbe per il container Proxytrue
proxy.livenessProbe.enabledAbilita livenessProbe per il container Proxytrue
proxy.startupProbe.enabledAbilita startupProbe per il container Proxytrue
converter.annotationsDefinisce annotazioni che verranno aggiunte al Deployment del Converter. Se impostato, ha la priorità su commonAnnotations{}
converter.podAnnotationsMappa delle annotazioni da aggiungere ai pod di deployment del Converterrollme: "{{ randAlphaNum 5 | quote }}"
converter.replicasQuantità di repliche del Converter. Se il parametro converter.autoscaling.enabled è abilitato, viene ignorato2
converter.updateStrategy.typeTipo di strategia di aggiornamento del deployment del ConverterRecreate
converter.customPodAntiAffinityProibisce la pianificazione dei Pod Converter rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
converter.podAffinityDefinisce le regole di affinità dei Pod per la pianificazione dei Pod Converter sui nodi rispetto ad altri Pod{}
converter.nodeAffinityDefinisce le regole di affinità dei nodi per la pianificazione dei Pod Converter sui nodi{}
converter.nodeSelectorEtichette dei nodi per l'assegnazione dei Pod Converter. Se impostato, ha la priorità su nodeSelector{}
converter.tolerationsTolleranze per l'assegnazione dei Pod Converter. Se impostato, ha la priorità su tolerations[]
converter.terminationGracePeriodSecondsIl tempo per terminare in modo graduale durante il quale il Pod Converter avrà lo stato Terminating30
converter.hostAliasesAggiunge voci aggiuntive al file hosts nel container Converter[]
converter.initContainersDefinisce 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.repositoryRepository dell'immagine del container Converter*onlyoffice/docs-converter-de
converter.image.tagTag dell'immagine del container Converter9.0.4-1
converter.image.pullPolicyPolitica di pull dell'immagine del container ConverterIfNotPresent
converter.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Converterfalse
converter.lifecycleHooksDefinisce 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.requestsLe risorse richieste per il container Converter{}
converter.resources.limitsI limiti delle risorse per il container Converter{}
converter.extraEnvVarsUn array con variabili d'ambiente extra per il container Converter[]
converter.extraVolumesUn array con volumi extra per il Pod Converter[]
converter.extraVolumeMountsUn array con montaggi di volumi extra per il container Converter[]
converter.autoscaling.enabledAbilita l'autoscaling del deployment Converterfalse
converter.autoscaling.annotationsDefinisce annotazioni che verranno aggiunte ulteriormente all'HPA del deployment Converter. Se impostato, ha priorità su commonAnnotations{}
converter.autoscaling.minReplicasNumero minimo di repliche per l'autoscaling del deployment Converter2
converter.autoscaling.maxReplicasNumero massimo di repliche per l'autoscaling del deployment Converter16
converter.autoscaling.targetCPU.enabledAbilita l'autoscaling del deployment Converter in base alla percentuale di utilizzo della CPUtrue
converter.autoscaling.targetCPU.utilizationPercentagePercentuale target di utilizzo della CPU per l'autoscaling del deployment Converter70
converter.autoscaling.targetMemory.enabledAbilita l'autoscaling del deployment Converter in base alla percentuale di utilizzo della memoriafalse
converter.autoscaling.targetMemory.utilizationPercentagePercentuale target di utilizzo della memoria per l'autoscaling del deployment Converter70
converter.autoscaling.customMetricsTypeMetriche di autoscaling personalizzate, aggiuntive o esterne per il deployment Converter[]
converter.autoscaling.behaviorConfigurazione delle politiche di comportamento di scaling per il deployment Converter nei campi scaleDown e scaleUp{}
example.enabledAbilita l'installazione di Examplefalse
example.annotationsDefinisce annotazioni che verranno aggiunte ulteriormente allo StatefulSet di Example. Se impostato, ha priorità su commonAnnotations{}
example.podAnnotationsMappa di annotazioni da aggiungere al pod di examplerollme: "{{ randAlphaNum 5 | quote }}"
example.updateStrategy.typeTipo di strategia di aggiornamento dello StatefulSet di ExampleRollingUpdate
example.customPodAntiAffinityProibisce la pianificazione del Pod di Example rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
example.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Pod di Example sui nodi rispetto ad altri Pod{}
example.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Pod di Example sui nodi{}
example.nodeSelectorEtichette del nodo per l'assegnazione dei Pod di Example. Se impostato, ha priorità su nodeSelector{}
example.tolerationsTolleranze per l'assegnazione dei Pod di Example. Se impostato, ha priorità su tolerations[]
example.terminationGracePeriodSecondsIl tempo per terminare in modo grazioso durante il quale il Pod di Example avrà lo stato Terminating30
example.hostAliasesAggiunge voci aggiuntive al file hosts nel container Example[]
example.initContainersDefinisce i container che vengono eseguiti prima del container Example nel Pod[]
example.image.repositoryNome dell'immagine del container Exampleonlyoffice/docs-example
example.image.tagTag dell'immagine del container Example9.0.4-1
example.image.pullPolicyPolitica di pull dell'immagine del container ExampleIfNotPresent
example.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Examplefalse
example.dsUrlIndirizzo esterno di ONLYOFFICE Docs. Dovrebbe essere modificato solo se è necessario verificare il funzionamento della conversione in Example (ad es., http://<documentserver-address>/)/
example.resources.requestsLe risorse richieste per il container Example{}
example.resources.limitsI limiti delle risorse per il container Example{}
example.extraEnvVarsUn array con variabili d'ambiente extra per il container Example[]
example.extraConf.configMapIl nome del ConfigMap contenente il file json che sovrascrive i valori predefiniti. Vedi un esempio di creazione qui""
example.extraConf.filenameIl nome del file json che contiene i valori personalizzati. Deve essere lo stesso del nome key in example.extraConf.ConfigMaplocal.json
example.extraVolumesUn array con volumi extra per il Pod di Example[]
example.extraVolumeMountsUn array con montaggi di volumi extra per il container Example[]
jwt.enabledSpecifica l'abilitazione della validazione del JSON Web Token da parte di ONLYOFFICE Docs. Comune per richieste in entrata e in uscitatrue
jwt.secretDefinisce 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.headerDefinisce l'header http che verrà utilizzato per inviare il JSON Web Token. Comune per richieste in entrata e in uscitaAuthorization
jwt.inBodySpecifica l'abilitazione della validazione del token nel corpo della richiesta a ONLYOFFICE Docsfalse
jwt.inboxParametri di validazione del JSON Web Token solo per richieste in entrata. Se non specificato, vengono utilizzati i valori dei parametri del jwt comune{}
jwt.outboxParametri di validazione del JSON Web Token solo per richieste in uscita. Se non specificato, vengono utilizzati i valori dei parametri del jwt comune{}
jwt.existingSecretIl nome di un secret esistente contenente variabili per jwt. Se non specificato, verrà creato un secret chiamato jwt""
service.existingIl nome di un servizio esistente per ONLYOFFICE Docs. Se non specificato, verrà creato un servizio chiamato documentserver""
service.annotationsMappa di annotazioni da aggiungere al servizio ONLYOFFICE Docs. Se impostato, ha priorità su commonAnnotations{}
service.typeTipo di servizio ONLYOFFICE DocsClusterIP
service.portPorta del servizio ONLYOFFICE Docs8888
service.sessionAffinityAffinità di sessione per il servizio ONLYOFFICE Docs. Se non impostato, verrà impostato None come valore predefinito""
service.sessionAffinityConfigConfigurazione per l'affinità di sessione del servizio ONLYOFFICE Docs. Utilizzato se service.sessionAffinity è impostato{}
ingress.enabledAbilita la creazione di un ingress per ONLYOFFICE Docsfalse
ingress.annotationsMappa di annotazioni da aggiungere all'Ingress. Se impostato, ha priorità su commonAnnotationsnginx.ingress.kubernetes.io/proxy-body-size: 100m
ingress.ingressClassNameUtilizzato per fare riferimento all'IngressClass che dovrebbe essere utilizzato per implementare questo Ingressnginx
ingress.controllerNameUtilizzato per distinguere tra controller con lo stesso IngressClassName ma di fornitori diversiingress-nginx
ingress.hostNome host Ingress per l'ingresso di ONLYOFFICE Docs""
ingress.tenantsNomi 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.enabledAbilita SSL per l'ingresso di ONLYOFFICE Docsfalse
ingress.ssl.secretNome del segreto per SSL da montare nell'Ingresstls
ingress.pathSpecifica il percorso in cui ONLYOFFICE Docs sarà disponibile/
ingress.pathTypeSpecifica il tipo di percorso per la risorsa Ingress di ONLYOFFICE Docs. I valori consentiti sono Exact, Prefix o ImplementationSpecificImplementationSpecific
ingress.letsencrypt.enabledAbilitazione della creazione di richieste di certificato in Let's Encrypt. Utilizzato se ingress.enabled è impostato su truefalse
ingress.letsencrypt.clusterIssuerNameNome del ClusterIssuerletsencrypt-prod
ingress.letsencrypt.emailIl tuo indirizzo email utilizzato per la registrazione ACME""
ingress.letsencrypt.serverL'indirizzo del server Let's Encrypt a cui verranno inviate le richieste di certificatihttps://acme-v02.api.letsencrypt.org/directory
ingress.letsencrypt.secretNameNome di un segreto utilizzato per memorizzare la chiave privata dell'account ACMEletsencrypt-prod-private-key
openshift.route.enabledAbilita la creazione di un percorso OpenShift per ONLYOFFICE Docsfalse
openshift.route.annotationsMappa delle annotazioni da aggiungere al percorso OpenShift. Se impostato, ha la priorità su commonAnnotations{}
openshift.route.hostNome host del percorso OpenShift per il percorso di ONLYOFFICE Docs""
openshift.route.pathSpecifica il percorso in cui ONLYOFFICE Docs sarà disponibile/
openshift.route.wildcardPolicyLa politica per la gestione dei sottodomini wildcard nel percorso OpenShift. I valori consentiti sono None, SubdomainNone
grafana.enabledAbilita l'installazione delle risorse necessarie per la visualizzazione delle metriche in Grafanafalse
grafana.namespaceIl 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.enabledAbilita la creazione di un ingresso per Grafana. Utilizzato se si imposta grafana.enabled su true e si desidera utilizzare Nginx Ingress per accedere a Grafanafalse
grafana.ingress.annotationsMappa delle annotazioni da aggiungere a Grafana Ingress. Se impostato, ha la priorità su commonAnnotationsnginx.ingress.kubernetes.io/proxy-body-size: 100m
grafana.dashboard.enabledAbilita l'installazione di dashboard Grafana predefiniti. Utilizzato se si imposta grafana.enabled su truefalse
podSecurityContext.enabledAbilita il contesto di sicurezza per i podfalse
podSecurityContext.converter.fsGroupDefinisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Converter101
podSecurityContext.docservice.fsGroupDefinisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Docservice101
podSecurityContext.jobs.fsGroupDefinisce 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 Job101
podSecurityContext.example.fsGroupDefinisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Example1001
podSecurityContext.tests.fsGroupDefinisce l'ID di gruppo a cui vengono modificati il proprietario e i permessi per tutti i file nei volumi quando montati nel Pod Test101
webProxy.enabledSpecifica se nella tua rete viene utilizzato un proxy Web per accedere ai Pod del cluster k8s su Internetfalse
webProxy.httpIndirizzo del proxy Web per il traffico HTTPhttp://proxy.example.com
webProxy.httpsIndirizzo del proxy Web per il traffico HTTPShttps://proxy.example.com
webProxy.noProxyModelli per indirizzi IP o nomi di servizi k8s o nomi di dominio che non devono utilizzare il proxy Weblocalhost,127.0.0.1,docservice
privateClusterSpecifica se il cluster k8s è utilizzato in una rete privata senza accesso a Internetfalse
upgrade.job.enabledAbilita l'esecuzione del job pre-aggiornamento prima di aggiornare ONLYOFFICE Docstrue
upgrade.job.annotationsDefinisce le annotazioni che verranno aggiunte al Job pre-aggiornamento. Se impostato, ha la priorità su commonAnnotations{}
upgrade.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod pre-aggiornamento{}
upgrade.job.customPodAntiAffinityProibisce la pianificazione del Pod del Job pre-aggiornamento rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
upgrade.job.podAffinityDefinisce 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.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Pod del Job pre-aggiornamento da parte dei nodi{}
upgrade.job.nodeSelectorEtichette del nodo per l'assegnazione del Pod del Job pre-aggiornamento. Se impostato, ha la priorità su nodeSelector{}
upgrade.job.tolerationsTolleranze per l'assegnazione del Pod del Job pre-aggiornamento. Se impostato, ha la priorità su tolerations[]
upgrade.job.initContainersDefinisce i container che vengono eseguiti prima del container pre-aggiornamento nel Pod[]
upgrade.job.image.repositoryRepository dell'immagine per il Job di aggiornamentoonlyoffice/docs-utils
upgrade.job.image.tagTag dell'immagine per il Job di aggiornamento9.0.4-1
upgrade.job.image.pullPolicyPolitica di pull dell'immagine per il Job di aggiornamentoIfNotPresent
upgrade.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container pre-aggiornamentofalse
upgrade.job.resources.requestsLe risorse richieste per il container del Job pre-aggiornamento{}
upgrade.job.resources.limitsI limiti delle risorse per il container del Job pre-aggiornamento{}
upgrade.existingConfigmap.tblRemove.nameIl nome del ConfigMap esistente che contiene il file sql per eliminare le tabelle dal databaseremove-db-scripts
upgrade.existingConfigmap.tblRemove.keyNameIl nome del file sql contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in upgrade.existingConfigmap.tblRemove.nameremovetbl.sql
upgrade.existingConfigmap.tblCreate.nameIl nome del ConfigMap esistente che contiene il file sql per creare le tabelle dal databaseinit-db-scripts
upgrade.existingConfigmap.tblCreate.keyNameIl nome del file sql contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in upgrade.existingConfigmap.tblCreate.namecreatedb.sql
upgrade.existingConfigmap.dsStopIl 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.enabledAbilita l'esecuzione del job pre-rollback prima di eseguire il rollback di ONLYOFFICE Docstrue
rollback.job.annotationsDefinisce le annotazioni che verranno aggiunte al Job pre-rollback. Se impostato, ha la priorità su commonAnnotations{}
rollback.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod pre-rollback{}
rollback.job.customPodAntiAffinityProibisce la pianificazione del Pod del Job pre-rollback rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
rollback.job.podAffinityDefinisce 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.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Job Pod pre-rollback da parte dei nodi{}
rollback.job.nodeSelectorEtichette del nodo per l'assegnazione del Job Pod pre-rollback. Se impostato, ha la priorità sul nodeSelector{}
rollback.job.tolerationsTolleranze per l'assegnazione del Job Pod pre-rollback. Se impostato, ha la priorità sulle tolerations[]
rollback.job.initContainersDefinisce i container che vengono eseguiti prima del container pre-rollback nel Pod[]
rollback.job.image.repositoryJob per il repository dell'immagine di rollbackonlyoffice/docs-utils
rollback.job.image.tagJob per il tag dell'immagine di rollback9.0.4-1
rollback.job.image.pullPolicyJob per la politica di pull dell'immagine di rollbackIfNotPresent
rollback.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container pre-rollbackfalse
rollback.job.resources.requestsLe risorse richieste per il container di rollback del job{}
rollback.job.resources.limitsI limiti delle risorse per il container di rollback del job{}
rollback.existingConfigmap.tblRemove.nameIl nome del ConfigMap esistente che contiene il file SQL per eliminare le tabelle dal databaseremove-db-scripts
rollback.existingConfigmap.tblRemove.keyNameIl nome del file SQL contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in rollback.existingConfigmap.tblRemove.nameremovetbl.sql
rollback.existingConfigmap.tblCreate.nameIl nome del ConfigMap esistente che contiene il file SQL per creare le tabelle dal databaseinit-db-scripts
rollback.existingConfigmap.tblCreate.keyNameIl nome del file SQL contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in rollback.existingConfigmap.tblCreate.namecreatedb.sql
rollback.existingConfigmap.dsStopIl 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.enabledAbilita l'esecuzione del job pre-cancellazione prima di eliminare ONLYOFFICE Docstrue
delete.job.annotationsDefinisce le annotazioni che verranno aggiunte al Job pre-cancellazione. Se impostato, ha la priorità sulle commonAnnotations{}
delete.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod pre-cancellazione{}
delete.job.customPodAntiAffinityProibisce la pianificazione del Job Pod pre-cancellazione rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
delete.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Job Pod pre-cancellazione da parte dei nodi rispetto ad altri Pod{}
delete.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Job Pod pre-cancellazione da parte dei nodi{}
delete.job.nodeSelectorEtichette del nodo per l'assegnazione del Job Pod pre-cancellazione. Se impostato, ha la priorità sul nodeSelector{}
delete.job.tolerationsTolleranze per l'assegnazione del Job Pod pre-cancellazione. Se impostato, ha la priorità sulle tolerations[]
delete.job.initContainersDefinisce i container che vengono eseguiti prima del container pre-cancellazione nel Pod[]
delete.job.image.repositoryJob per il repository dell'immagine di cancellazioneonlyoffice/docs-utils
delete.job.image.tagJob per il tag dell'immagine di cancellazione9.0.4-1
delete.job.image.pullPolicyJob per la politica di pull dell'immagine di cancellazioneIfNotPresent
delete.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container pre-cancellazionefalse
delete.job.resources.requestsLe risorse richieste per il container di cancellazione del job{}
delete.job.resources.limitsI limiti delle risorse per il container di cancellazione del job{}
delete.existingConfigmap.tblRemove.nameIl nome del ConfigMap esistente che contiene il file SQL per eliminare le tabelle dal databaseremove-db-scripts
delete.existingConfigmap.tblRemove.keyNameIl nome del file SQL contenente le istruzioni per eliminare le tabelle dal database. Deve essere lo stesso del nome key in delete.existingConfigmap.tblRemove.nameremovetbl.sql
delete.existingConfigmap.dsStopIl 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.enabledAbilita l'esecuzione del job pre-installazione prima di installare ONLYOFFICE Docstrue
install.job.annotationsDefinisce le annotazioni che verranno aggiunte al Job pre-installazione. Se impostato, ha la priorità sulle commonAnnotations{}
install.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod pre-installazione{}
install.job.customPodAntiAffinityProibisce la pianificazione del Job Pod pre-installazione rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
install.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Job Pod pre-installazione da parte dei nodi rispetto ad altri Pod{}
install.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Job Pod pre-installazione da parte dei nodi{}
install.job.nodeSelectorEtichette del nodo per l'assegnazione del Job Pod pre-installazione. Se impostato, ha la priorità sul nodeSelector{}
install.job.tolerationsTolleranze per l'assegnazione del Job Pod pre-installazione. Se impostato, ha la priorità sulle tolerations[]
install.job.initContainersDefinisce i container che vengono eseguiti prima del container pre-installazione nel Pod[]
install.job.image.repositoryJob per il repository dell'immagine pre-installazione di ONLYOFFICE Docsonlyoffice/docs-utils
install.job.image.tagJob per il tag dell'immagine pre-installazione di ONLYOFFICE Docs9.0.4-1
install.job.image.pullPolicyJob per la politica di pull dell'immagine pre-installazione di ONLYOFFICE DocsIfNotPresent
install.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container pre-installazionefalse
install.job.resources.requestsLe risorse richieste per il container di pre-installazione del job{}
install.job.resources.limitsI limiti delle risorse per il container di pre-installazione del job{}
install.existingConfigmap.tblCreate.nameIl nome del ConfigMap esistente che contiene il file SQL per creare le tabelle dal databaseinit-db-scripts
install.existingConfigmap.tblCreate.keyNameIl nome del file SQL contenente le istruzioni per creare le tabelle dal database. Deve essere lo stesso del nome key in install.existingConfigmap.tblCreate.namecreatedb.sql
install.existingConfigmap.initdbIl 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.enabledAbilita 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 Cachetrue
clearCache.job.annotationsDefinisce le annotazioni che verranno aggiunte al Job Clear Cache. Se impostato, ha la priorità sulle commonAnnotations{}
clearCache.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod Clear Cache{}
clearCache.job.customPodAntiAffinityProibisce la pianificazione del Job Pod Clear Cache rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
clearCache.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Job Pod Clear Cache da parte dei nodi rispetto ad altri Pod{}
clearCache.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Job Pod Clear Cache da parte dei nodi{}
clearCache.job.nodeSelectorEtichette del nodo per l'assegnazione del Job Pod Clear Cache. Se impostato, ha la priorità sul nodeSelector{}
clearCache.job.tolerationsTolleranze per l'assegnazione del Pod del lavoro Clear Cache. Se impostato, ha la priorità su tolerations[]
clearCache.job.initContainersDefinisce i container che vengono eseguiti prima del container Clear Cache nel Pod[]
clearCache.job.image.repositoryRepository dell'immagine del lavoro Clear Cache ONLYOFFICE Docsonlyoffice/docs-utils
clearCache.job.image.tagTag dell'immagine del lavoro Clear Cache ONLYOFFICE Docs9.0.4-1
clearCache.job.image.pullPolicyPolitica di pull dell'immagine del lavoro Clear Cache ONLYOFFICE DocsIfNotPresent
clearCache.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Clear Cachefalse
clearCache.job.resources.requestsLe risorse richieste per il container del lavoro Clear Cache{}
clearCache.job.resources.limitsI limiti delle risorse per il container del lavoro Clear Cache{}
clearCache.existingConfigmap.nameIl nome del ConfigMap esistente che contiene lo script personalizzato per cancellare la directory Cache. Se impostato, il configmap predefinito non verrà creato""
clearCache.existingConfigmap.keyNameIl 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 personalizzatoclearCache.sh
grafanaDashboard.job.annotationsDefinisce le annotazioni che verranno aggiunte al lavoro Grafana Dashboard. Se impostato, ha la priorità su commonAnnotations{}
grafanaDashboard.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod Grafana Dashboard{}
grafanaDashboard.job.customPodAntiAffinityProibisce la pianificazione del Pod del lavoro Grafana Dashboard rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
grafanaDashboard.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Grafana Dashboard sui nodi rispetto ad altri Pod{}
grafanaDashboard.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Grafana Dashboard sui nodi{}
grafanaDashboard.job.nodeSelectorEtichette del nodo per l'assegnazione del Pod del lavoro Grafana Dashboard. Se impostato, ha la priorità su nodeSelector{}
grafanaDashboard.job.tolerationsTolleranze per l'assegnazione del Pod del lavoro Grafana Dashboard. Se impostato, ha la priorità su tolerations[]
grafanaDashboard.job.initContainersDefinisce i container che vengono eseguiti prima del container Grafana Dashboard nel Pod[]
grafanaDashboard.job.image.repositoryRepository dell'immagine del lavoro Grafana Dashboard ONLYOFFICE Docsonlyoffice/docs-utils
grafanaDashboard.job.image.tagTag dell'immagine del lavoro Grafana Dashboard ONLYOFFICE Docs9.0.4-1
grafanaDashboard.job.image.pullPolicyPolitica di pull dell'immagine del lavoro Grafana Dashboard ONLYOFFICE DocsIfNotPresent
grafanaDashboard.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Grafana Dashboardfalse
grafanaDashboard.job.resources.requestsLe risorse richieste per il container del lavoro Grafana Dashboard{}
grafanaDashboard.job.resources.limitsI limiti delle risorse per il container del lavoro Grafana Dashboard{}
wopiKeysGeneration.job.annotationsDefinisce le annotazioni che verranno aggiunte al lavoro Wopi Keys Generation. Se impostato, ha la priorità su commonAnnotations{}
wopiKeysGeneration.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod Wopi Keys Generation{}
wopiKeysGeneration.job.customPodAntiAffinityProibisce la pianificazione del Pod del lavoro Wopi Keys Generation rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
wopiKeysGeneration.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Wopi Keys Generation sui nodi rispetto ad altri Pod{}
wopiKeysGeneration.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Wopi Keys Generation sui nodi{}
wopiKeysGeneration.job.nodeSelectorEtichette del nodo per l'assegnazione del Pod del lavoro Wopi Keys Generation. Se impostato, ha la priorità su nodeSelector{}
wopiKeysGeneration.job.tolerationsTolleranze per l'assegnazione del Pod del lavoro Wopi Keys Generation. Se impostato, ha la priorità su tolerations[]
wopiKeysGeneration.job.initContainersDefinisce i container che vengono eseguiti prima del container Wopi Keys Generation nel Pod[]
wopiKeysGeneration.job.image.repositoryRepository dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE Docsonlyoffice/docs-utils
wopiKeysGeneration.job.image.tagTag dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE Docs9.0.4-1
wopiKeysGeneration.job.image.pullPolicyPolitica di pull dell'immagine del lavoro Wopi Keys Generation ONLYOFFICE DocsIfNotPresent
wopiKeysGeneration.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Wopi Keys Generationfalse
wopiKeysGeneration.job.resources.requestsLe risorse richieste per il container del lavoro Wopi Keys Generation{}
wopiKeysGeneration.job.resources.limitsI 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 truetrue
wopiKeysDeletion.job.annotationsDefinisce le annotazioni che verranno aggiunte al lavoro Wopi Keys Deletion. Se impostato, ha la priorità su commonAnnotations{}
wopiKeysDeletion.job.podAnnotationsMappa delle annotazioni da aggiungere al Pod Wopi Keys Deletion{}
wopiKeysDeletion.job.customPodAntiAffinityProibisce la pianificazione del Pod del lavoro Wopi Keys Deletion rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
wopiKeysDeletion.job.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Pod del lavoro Wopi Keys Deletion sui nodi rispetto ad altri Pod{}
wopiKeysDeletion.job.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Pod del lavoro Wopi Keys Deletion sui nodi{}
wopiKeysDeletion.job.nodeSelectorEtichette del nodo per l'assegnazione del Pod del lavoro Wopi Keys Deletion. Se impostato, ha la priorità su nodeSelector{}
wopiKeysDeletion.job.tolerationsTolleranze per l'assegnazione del Pod del lavoro Wopi Keys Deletion. Se impostato, ha la priorità su tolerations[]
wopiKeysDeletion.job.initContainersDefinisce i container che vengono eseguiti prima del container Wopi Keys Deletion nel Pod[]
wopiKeysDeletion.job.image.repositoryRepository dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE Docsonlyoffice/docs-utils
wopiKeysDeletion.job.image.tagTag dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE Docs9.0.4-1
wopiKeysDeletion.job.image.pullPolicyPolitica di pull dell'immagine del lavoro Wopi Keys Deletion ONLYOFFICE DocsIfNotPresent
wopiKeysDeletion.job.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container Wopi Keys Deletionfalse
wopiKeysDeletion.job.resources.requestsLe risorse richieste per il container del lavoro Wopi Keys Deletion{}
wopiKeysDeletion.job.resources.limitsI limiti delle risorse per il container del lavoro Wopi Keys Deletion{}
tests.enabledAbilita 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 testtrue
tests.annotationsDefinisce le annotazioni che verranno aggiunte al Pod di Test. Se impostato, ha la priorità su commonAnnotations{}
tests.customPodAntiAffinityProibisce la pianificazione del Pod di Test rispetto ad altri Pod contenenti le etichette specificate sullo stesso nodo{}
tests.podAffinityDefinisce le regole di affinità del Pod per la pianificazione del Pod di Test sui nodi rispetto ad altri Pod{}
tests.nodeAffinityDefinisce le regole di affinità del nodo per la pianificazione del Test Pod da parte dei nodi{}
tests.nodeSelectorEtichette del nodo per l'assegnazione del Test Pod. Se impostato, ha priorità sul nodeSelector{}
tests.tolerationsTolleranze per l'assegnazione del Test Pod. Se impostato, ha priorità sulle tolerations[]
tests.initContainersDefinisce i container che vengono eseguiti prima del container di Test nel Pod[]
tests.image.repositoryNome dell'immagine del container di Testonlyoffice/docs-utils
tests.image.tagTag dell'immagine del container di Test9.0.4-1
tests.image.pullPolicyPolitica di pull dell'immagine del container di TestIfNotPresent
tests.containerSecurityContext.enabledAbilita il contesto di sicurezza per il container di Testfalse
tests.resources.requestsLe risorse richieste per il container di test{}
tests.resources.limitsI 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
  1. 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.enabled su true:

    $ helm install documentserver onlyoffice/docs --set example.enabled=true
  2. 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.enabled su true:

    $ helm install documentserver onlyoffice/docs --set metrics.enabled=true

    Se desideri utilizzare Grafana per visualizzare le metriche, imposta grafana.enabled su true. Se desideri utilizzare Nginx Ingress per accedere a Grafana, imposta grafana.ingress.enabled su true:

    $ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true
  3. Esporre ONLYOFFICE Docs
    1. 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.type su LoadBalancer:

      $ helm install documentserver onlyoffice/docs --set service.type=LoadBalancer,service.port=80

      Esegui 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/.

    2. 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=2
      Per 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-nginx

      Vedi maggiori dettagli sull'installazione di Nginx Ingress tramite Helm qui.

      Quindi scegli il tuo metodo di esposizione:

      • Via HTTP
        Dovresti saltare questo se intendi esporre ONLYOFFICE Docs tramite HTTPS.
        $ helm install documentserver onlyoffice/docs --set ingress.enabled=true

        Ottieni 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 tls con 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.com

        Associa 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=false

        Quindi installa o aggiorna ONLYOFFICE Docs impostando ingress.enabled, ingress.ssl.enabled, ingress.letsencrypt.enabled su true, e specificando i tuoi valori per ingress.letsencrypt.email e ingress.host (o ingress.tenants per domini multipli).

      • Via un percorso virtuale

        Imposta i parametri ingress.enabled, ingress.host e ingress.path:

        $ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docs

        Controller di ingress supportati: Ingress NGINX di Kubernetes, NGINX Ingress di NGINX, HAProxy Ingress di HAProxy.

        Per Ingress NGINX di Kubernetes, aggiungi il pattern (/|$)(.*) a ingress.path, ad esempio /docs(/|$)(.*).

    3. 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=/docs

      Per la terminazione TLS, aggiungi manualmente i certificati alla route tramite la console web di OpenShift.

6. Scalare ONLYOFFICE Docs
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se desideri utilizzare le impostazioni di distribuzione predefinite.
  1. Autoscaling orizzontale dei Pod

    Puoi abilitare l'Autoscaling in modo che il numero di repliche delle distribuzioni docservice e converter venga calcolato automaticamente in base ai valori e al tipo di metriche.

    Per le metriche delle risorse, l'API metrics.k8s.io deve 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 parametro docservice.autoscaling.enabled=true. Allo stesso modo, per abilitare HPA per il deployment di converter, specificare converter.autoscaling.enabled=true. In entrambi i casi, il parametro replicas corrispondente 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.

  2. Scalabilità manuale

    I deployment di docservice e converter consistono ciascuno di 2 pod per impostazione predefinita.

    Per scalare il deployment di docservice:

    $ kubectl scale -n default deployment docservice --replicas=POD_COUNT

    Per 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]
È necessario specificare anche i parametri che sono stati specificati durante l'installazione.

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
Quando si aggiorna in un cluster k8s privato dietro un proxy Web o senza accesso a Internet, vedere le note di seguito.

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
Quando si annulla in un cluster k8s privato, vedere le note di seguito.
8. Spegnere ONLYOFFICE Docs
Importante Questo passaggio è opzionale.

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
Importante Questo passaggio è opzionale.

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.lic in 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.

[METODO DEPRECATO] Riavviare i pod docservice e converter:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Test di installazione di ONLYOFFICE Docs
Importante Questo passaggio è opzionale.

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>
Questo test è solo a scopo informativo e non può garantire il 100% di disponibilità. Per informazioni dettagliate, controllare i log dell'applicazione.
11. Eseguire i Job in un cluster k8s privato
Importante Questo passaggio è opzionale. Puoi saltarlo completamente se il tuo cluster ha accesso a Internet senza restrizioni.

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.

Se è disponibile un Web Proxy, puoi lasciare privateCluster=false e impostare webProxy.enabled=true con i parametri proxy appropriati invece di creare manualmente i configmap.
12. Accesso alla pagina delle informazioni
Importante Questo passaggio è opzionale.

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

Importante Questa sezione è opzionale. Puoi saltarla completamente se non vuoi installare Grafana.
1. Distribuire Grafana
Si presume che il passaggio 6.2 (Installazione di Prometheus) sia già stato completato.
  1. 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
  2. Distribuire Grafana con dashboard preconfigurati
    1. Installare dashboard Grafana preconfigurati

      Impostare i parametri grafana.enabled e grafana.dashboard.enabled su true. Se ONLYOFFICE Docs è già installato, eseguire:

      helm upgrade documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.dashboard.enabled=true

      Questo 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).

    2. 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.json

      I 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.

2. Accesso a Grafana tramite Ingress
Si presume che il passaggio sull'installazione del controller Kubernetes Nginx Ingress sia già stato completato.

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.

Voci con l'etichetta tag:
Sfoglia tutti i tag