- Inicio
- Docs
- Instalación y configuración
- Empresa
- Cluster
- ONLYOFFICE Docs para Kubernetes
ONLYOFFICE Docs para Kubernetes
Introducción
-
Debe tener instalado un cluster de Kubernetes o OpenShift:
- Consulte la referencia para configurar Kubernetes.
- Consulte la referencia para configurar OpenShift.
- También debe tener una copia local configurada de
kubectl. Vea esta guía sobre cómo instalar y configurarkubectl. - Debe instalar Helm v3.7+. Siga las instrucciones aquí para instalarlo.
- Si utiliza OpenShift, puede usar tanto
occomokubectlpara gestionar el despliegue. - Si la instalación de componentes externos a 'Docs' se realiza desde Helm Chart en un cluster de OpenShift, se recomienda instalarlos desde un usuario que tenga el rol de
cluster-admin, para evitar posibles problemas con los derechos de acceso. Vea esta guía para añadir los roles necesarios al usuario.
Requisitos previos para el despliegue
ID = 1001.Para hacerlo, ejecute los siguientes comandos:
$ 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
Alternativamente, puede especificar el rango permitido de usuarios y grupos del namespace objetivo, vea los parámetros runAsUser y fsGroup al instalar dependencias, como RabbitMQ, Redis, PostgreSQL, etc.
1. Añadir repositorios de 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. Instalar Almacenamiento Persistente
Instalar NFS Server Provisioner
NFS. Al instalar en un cluster de OpenShift, el usuario debe tener un rol que permita crear clases de almacenamiento en el cluster. Lea más aquí.$ 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_CLASSes una Clase de Almacenamiento Persistente disponible en su cluster de Kubernetes.Clases de Almacenamiento Persistente para diferentes proveedores:
- Amazon EKS:
gp2 - Digital Ocean:
do-block-storage - IBM Cloud: Predeterminado
ibmc-file-bronze. Más clases de almacenamiento - Yandex Cloud:
yc-network-hddoyc-network-ssd. Más detalles - minikube:
standard
- Amazon EKS:
PERSISTENT_SIZEes el tamaño total de todos los Almacenamientos Persistentes para la clase de almacenamiento persistente nfs. Puede expresar el tamaño como un número entero simple con uno de estos sufijos:T,G,M,Ti,Gi,Mi. Por ejemplo:9Gi.
Vea más detalles sobre la instalación de NFS Server Provisioner a través de Helm aquí.
Configurar una Solicitud de Volumen Persistente
La Solicitud de Volumen Persistente nfs predeterminada es de 8Gi. Puede cambiarla en el archivo values.yaml en la sección persistence.storageClass y persistence.size. Debe ser al menos un 5% menor que PERSISTENT_SIZE. Se recomienda usar 8Gi o más para el almacenamiento persistente por cada 100 usuarios activos de ONLYOFFICE Docs.
ds (101:101).Si desea habilitar WOPI, por favor configure el parámetro wopi.enabled=true. En este caso, el Almacenamiento Persistente debe estar conectado a los nodos del cluster con los atributos de caché deshabilitados para el directorio montado para los clientes. Para NFS Server Provisioner, esto se puede lograr añadiendo la opción noac al parámetro storageClass.mountOptions. Encuentre más información aquí.
3. Desplegar RabbitMQ
Para instalar RabbitMQ en su cluster, ejecute el siguiente 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 para habilitar la exposición de métricas de RabbitMQ para ser recopiladas por Prometheus.Vea más detalles sobre la instalación de RabbitMQ a través de Helm aquí.
4. Desplegar Redis
Para instalar Redis en su cluster, ejecute el siguiente 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 para habilitar la exposición de métricas de Redis para ser recopiladas por Prometheus. También añada los siguientes parámetros: metrics.image.repository=bitnamilegacy/redis-exporter y metrics.image.tag=1.76.0-debian-12-r0.Vea más detalles sobre la instalación de Redis a través de Helm aquí.
5. Desplegar Base de Datos
Como servidor de base de datos, puede usar PostgreSQL, MySQL o MariaDB.
Para instalar PostgreSQL en su cluster, ejecute el siguiente 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 para habilitar la exposición de métricas de la Base de Datos para ser recopiladas por Prometheus. También añada los siguientes parámetros: metrics.image.repository=bitnamilegacy/postgres-exporter y metrics.image.tag=0.17.1-debian-12-r16.Vea más detalles sobre la instalación de PostgreSQL a través de Helm aquí.
Para instalar MySQL en su cluster, ejecute el siguiente 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
Vea más detalles sobre la instalación de MySQL a través de Helm aquí.
Aquí PERSISTENT_SIZE es un tamaño para el volumen persistente de la base de datos. Por ejemplo: 8Gi.
Se recomienda usar al menos 2Gi de almacenamiento persistente por cada 100 usuarios activos de ONLYOFFICE Docs.
metrics.enabled=true para habilitar la exposición de métricas de la base de datos que serán recopiladas por Prometheus. También agregue los siguientes parámetros: metrics.image.repository=bitnamilegacy/mysqld-exporter y metrics.image.tag=0.17.2-debian-12-r16.6. Implementar StatsD exporter
-
Agregar repositorios 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 -
Instalación de Prometheus
Para instalar Prometheus en su clúster, ejecute el siguiente comando:
$ helm install prometheus -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/extraScrapeConfigs.yaml prometheus-community/prometheus \ --set server.global.scrape_interval=1mPara cambiar el intervalo de sondeo, especifique el parámetro
server.global.scrape_interval.Vea más detalles sobre la instalación de Prometheus a través de Helm aquí.
-
Instalación de StatsD exporter
Para instalar StatsD exporter en su clúster, ejecute el siguiente comando:
$ helm install statsd-exporter prometheus-community/prometheus-statsd-exporter \ --set statsd.udpPort=8125 \ --set statsd.tcpPort=8126 \ --set statsd.eventFlushInterval=30000msVea más detalles sobre la instalación de Prometheus StatsD exporter a través de Helm aquí.
Para permitir las métricas de StatsD en ONLYOFFICE Docs, siga este paso.
7. Realizar cambios en los archivos de configuración de Node-config
-
Crear un ConfigMap que contenga un archivo json
Para crear un ConfigMap a partir de un archivo que contiene la estructura
local.json, debe ejecutar el siguiente comando:$ kubectl create configmap local-config \ --from-file=./local.jsonSe puede usar cualquier nombre en lugar delocal-config. -
Especificar parámetros al instalar ONLYOFFICE Docs
Al instalar ONLYOFFICE Docs, especifique los parámetros
extraConf.configMap=local-configyextraConf.filename=local.json.Si necesita agregar un archivo de configuración después de que ONLYOFFICE Docs ya esté instalado, debe ejecutar el paso 7.1 y luego ejecutar el
comando ohelm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooks
si los parámetros están especificados en el archivohelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksvalues.yaml.
8. Agregar fuentes personalizadas
Para agregar fuentes a las imágenes, necesita reconstruir las imágenes. Consulte los pasos relevantes en este manual. Luego especifique sus imágenes al instalar ONLYOFFICE Docs.
9. Agregar Plugins
Para agregar plugins a las imágenes, necesita reconstruir las imágenes. Consulte los pasos relevantes en este manual. Luego especifique sus imágenes al instalar ONLYOFFICE Docs.
10. Agregar diccionarios personalizados
Para agregar sus diccionarios personalizados a las imágenes, necesita reconstruir las imágenes. Consulte los pasos relevantes en este manual. Luego especifique sus imágenes al instalar ONLYOFFICE Docs.
11. Cambiar temas de la interfaz
-
Crear un ConfigMap que contenga un archivo json
Para crear un ConfigMap con un archivo json que contiene los temas de la interfaz, debe ejecutar el siguiente comando:
$ kubectl create configmap custom-themes \ --from-file=./custom-themes.jsonEn lugar decustom-themesycustom-themes.jsonpuede usar cualquier otro nombre. -
Especificar parámetros al instalar ONLYOFFICE Docs
Al instalar ONLYOFFICE Docs, especifique los parámetros
extraThemes.configMap=custom-themesyextraThemes.filename=custom-themes.json.Si necesita agregar temas de interfaz después de que ONLYOFFICE Docs ya esté instalado, debe ejecutar el paso 11.1 y luego ejecutar el comandohelm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooksohelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hookssi los parámetros están especificados en el archivovalues.yaml.
12. Conectar un bucket de Amazon S3 como caché a ONLYOFFICE Helm Docs
Para conectar un bucket de Amazon S3 como caché, necesita crear un archivo de configuración o editar el existente de acuerdo con esta guía y cambiar el valor del parámetro persistence.storageS3 a true.
Implementar ONLYOFFICE Docs
SecurityContextConstraints al instalar en un clúster de OpenShift, lo que agrega permiso para ejecutar contenedores desde un usuario cuyo ID = 101.Para hacer esto, ejecute los siguientes comandos:
$ 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
Alternativamente, puede aplicar la política nonroot-v2 SecurityContextConstraints (SCC) en el commonAnnotations o annotations para todos los recursos que describen el podTemplate. Asegúrese de que tanto el usuario como la cuenta de servicio tengan los permisos necesarios para usar este SCC. Para verificar quién tiene permiso para usar el nonroot-v2, ejecute el siguiente comando:
oc adm policy who-can use scc nonroot-v2
helm install documentserver onlyoffice/docs --set commonAnnotations."openshift\.io/required-scc"="nonroot-v2"
Si es necesario, configure podSecurityContext.enabled y <resources>.containerSecurityContext.enabled a true.
1. Implementar la licencia de ONLYOFFICE Docs
-
Crear secreto
Si tiene una licencia válida de ONLYOFFICE Docs, cree un secreto
licensea partir del archivo:$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.licDónde
SECRET_LICENSE_NAMEes el nombre de un futuro secreto con una licencia.El nombre del archivo de licencia de origen debe ser 'license.lic' porque este nombre se usará como un campo en el secreto creado.Si la instalación se realiza sin crear un secreto con el archivo de licencia existente, se creará automáticamente un secreto vacíolicense. Para obtener información sobre cómo actualizar un secreto existente con una licencia, consulte aquí. -
Especificar parámetros al instalar ONLYOFFICE Docs
Al instalar ONLYOFFICE Docs, especifique el parámetro
license.existingSecret=[SECRET_LICENSE_NAME].$ helm install documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME]Si necesita agregar una licencia después de que ONLYOFFICE Docs ya esté instalado, debe ejecutar el paso 1.1 y luego ejecutar el comandohelm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooksohelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hookssi los parámetros están especificados en el archivovalues.yaml.
2. Desplegar ONLYOFFICE Docs
Para desplegar ONLYOFFICE Docs con el nombre de lanzamiento documentserver:
$ helm install documentserver onlyoffice/docs
El comando despliega ONLYOFFICE Docs en el clúster de Kubernetes con la configuración predeterminada. La sección de Parámetros enumera los parámetros que se pueden configurar durante la instalación.
3. Desinstalar ONLYOFFICE Docs
Para desinstalar/eliminar el despliegue documentserver:
$ helm delete documentserver
Ejecutar el comando helm delete lanza hooks, que realizan algunas acciones preparatorias antes de eliminar completamente ONLYOFFICE Docs, lo que incluye detener el servidor, limpiar el PVC utilizado y las tablas de la base de datos. El tiempo de ejecución predeterminado de los hooks es de 300s. El tiempo de ejecución se puede cambiar utilizando --timeout [time], por ejemplo:
$ helm delete documentserver --timeout 25m
Si desea eliminar ONLYOFFICE Docs sin ninguna acción preparatoria, ejecute el siguiente comando:
$ helm delete documentserver --no-hooks
El comando helm delete elimina todos los componentes de Kubernetes asociados con el chart y elimina el lanzamiento.
4. Parámetros
Especifique cada parámetro utilizando el argumento --set key=value[,key=value] para helm install. Por ejemplo:
$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com
Este comando expone ONLYOFFICE Docs a través de HTTPS.
Alternativamente, se puede proporcionar un archivo YAML que especifique los valores para los parámetros durante la instalación del chart:
$ helm install documentserver -f values.yaml onlyoffice/docs
Mostrar todos los parámetros
connections.dbType | El tipo de base de datos. Los valores posibles son postgres, mariadb, mysql, oracle, mssql o dameng | postgres |
connections.dbHost | La dirección IP o el nombre del host de la base de datos | postgresql |
connections.dbUser | Usuario de la base de datos | postgres |
connections.dbPort | Número de puerto del servidor de base de datos | 5432 |
connections.dbName | Nombre de la base de datos a la que se conectará la aplicación | postgres |
connections.dbPassword | Contraseña del usuario de la base de datos. Si se establece, tiene prioridad sobre connections.dbExistingSecret | "" |
connections.dbSecretKeyName | El nombre de la clave que contiene la contraseña del usuario de la base de datos | postgres-password |
connections.dbExistingSecret | Nombre del secreto existente a utilizar para las contraseñas de la base de datos. Debe contener la clave especificada en connections.dbSecretKeyName | postgresql |
connections.redisConnectorName | Define qué conector usar para conectarse a Redis. Si necesita conectarse a Redis Sentinel, establezca el valor ioredis | redis |
connections.redistHost | La dirección IP o el nombre del host de Redis. No se utiliza si los valores están establecidos en connections.redisClusterNodes y connections.redisSentinelNodes | redis-master |
connections.redisPort | El número de puerto del servidor Redis. No se utiliza si los valores están establecidos en connections.redisClusterNodes y connections.redisSentinelNodes | 6379 |
connections.redisUser | El nombre del usuario de Redis. El valor en este parámetro sobrescribe el valor establecido en el objeto options en local.json si agrega un archivo de configuración personalizado | default |
connections.redisDBNum | Número de la base de datos lógica de redis a seleccionar. El valor en este parámetro sobrescribe el valor establecido en el objeto options en local.json si agrega un archivo de configuración personalizado | 0 |
connections.redisClusterNodes | Lista de nodos en el clúster de Redis. No es necesario especificar cada nodo en el clúster, 3 deberían ser suficientes. Puede especificar múltiples valores. Debe especificarse en el formato host:port | [] |
connections.redisPassword | La contraseña establecida para la cuenta de Redis. Si se establece, tiene prioridad sobre connections.redisExistingSecret. El valor en este parámetro sobrescribe el valor establecido en el objeto options en local.json si agrega un archivo de configuración personalizado | "" |
connections.redisSecretKeyName | El nombre de la clave que contiene la contraseña del usuario de Redis | redis-password |
connections.redisExistingSecret | Nombre del secreto existente a utilizar para las contraseñas de Redis. Debe contener la clave especificada en connections.redisSecretKeyName. La contraseña de este secreto sobrescribe la contraseña establecida en el objeto options en local.json | redis |
connections.redisNoPass | Define si se debe usar una autenticación de Redis sin contraseña. Si la conexión al servidor Redis no requiere una contraseña, establezca el valor en true | false |
connections.redisSentinelNodes | Lista de nodos de Redis Sentinel. No es necesario especificar cada nodo, 3 deberían ser suficientes. Puede especificar múltiples valores. Debe especificarse en el formato host:port. Se utiliza si connections.redisConnectorName está establecido en ioredis | [] |
connections.redisSentinelGroupName | Nombre de un grupo de instancias de Redis compuesto por un maestro y uno o más esclavos. Se utiliza si connections.redisConnectorName está establecido en ioredis | mymaster |
connections.redisSentinelExistingSecret | Nombre del secreto existente a utilizar para la contraseña de Redis Sentinel. Debe contener la clave especificada en connections.redisSentinelSecretKeyName. La contraseña de este secreto sobrescribe el valor de la contraseña establecida en el objeto iooptions en local.json | "" |
connections.redisSentinelSecretKeyName | El nombre de la clave que contiene la contraseña del usuario de Redis Sentinel. Si establece una contraseña en redisSentinelPassword, se creará automáticamente un secreto, cuyo nombre de clave será el valor establecido aquí | sentinel-password |
connections.redisSentinelPassword | La contraseña establecida para la cuenta de Redis Sentinel. Si se establece, tiene prioridad sobre connections.redisSentinelExistingSecret. El valor en este parámetro sobrescribe el valor establecido en el objeto iooptions en local.json | "" |
connections.redisSentinelNoPass | Define si se debe usar una autenticación de Redis Sentinel sin contraseña. Si la conexión a Redis Sentinel no requiere una contraseña, establezca el valor en true | true |
connections.amqpType | Define el tipo de servidor AMQP. Los valores posibles son rabbitmq o activemq | rabbitmq |
connections.amqpHost | La dirección IP o el nombre del servidor AMQP | rabbitmq |
connections.amqpPort | El puerto para la conexión al servidor AMQP | 5672 |
connections.amqpVhost | El host virtual para la conexión al servidor AMQP | / |
connections.amqpUser | El nombre de usuario para la cuenta del servidor AMQP | user |
connections.amqpProto | El protocolo para la conexión al servidor AMQP | amqp |
connections.amqpPassword
| Contraseña del usuario del servidor AMQP. Si se establece, tiene prioridad sobre connections.amqpExistingSecret | "" |
connections.amqpSecretKeyName | El nombre de la clave que contiene la contraseña del usuario del servidor AMQP | rabbitmq-password |
connections.amqpExistingSecret | El nombre del secreto existente a utilizar para las contraseñas del servidor AMQP. Debe contener la clave especificada en connections.amqpSecretKeyName | rabbitmq |
persistence.existingClaim | Nombre de un PVC existente a utilizar. Si no se especifica, se creará un PVC llamado "ds-files" | "" |
persistence.annotations | Define anotaciones que se añadirán adicionalmente al PVC "ds-files". Si se establece, tiene prioridad sobre commonAnnotations | {} |
persistence.storageClass | Clase de almacenamiento del PVC para los datos de ONLYOFFICE Docs y los volúmenes de configuración en tiempo de ejecución | nfs |
persistence.size | Solicitud de almacenamiento del PVC para el volumen de ONLYOFFICE Docs | 8Gi |
persistence.storageS3 | Define si S3 se utilizará como almacenamiento en caché. Establezca en true si va a usar S3 como almacenamiento en caché | false |
persistence.runtimeConfig.enabled | Define si se utilizará PVC y si se montará en los contenedores | true |
persistence.runtimeConfig.existingClaim | El nombre del PVC existente utilizado para almacenar la configuración en tiempo de ejecución. Si no se especifica, se creará un PVC llamado "ds-runtime-config" | "" |
persistence.runtimeConfig.annotations | Define anotaciones que se añadirán adicionalmente al PVC "ds-runtime-config". Si se establece, tiene prioridad sobre commonAnnotations | {} |
persistence.runtimeConfig.size | Solicitud de almacenamiento del PVC para el volumen de configuración en tiempo de ejecución | 1Gi |
commonNameSuffix | El nombre que se añadirá al nombre de todos los recursos creados como sufijo | "" |
namespaceOverride | El nombre del espacio de nombres en el que se desplegará ONLYOFFICE Docs. Si no se establece, el nombre se tomará de .Release.Namespace | "" |
commonLabels | Define etiquetas que se añadirán adicionalmente a todos los recursos desplegados. También puede usar tpl como valor para la clave | {} |
commonAnnotations | Define anotaciones que se añadirán adicionalmente a todos los recursos desplegados. También puede usar tpl como valor para la clave. Algunos recursos pueden sobrescribir los valores especificados aquí con los suyos propios | {} |
serviceAccount.create | Habilitar la creación de ServiceAccount | false |
serviceAccount.name | Nombre del ServiceAccount a utilizar. Si no se establece y serviceAccount.create es true, el nombre se tomará de .Release.Name o si serviceAccount.create es false, el nombre será "default" | "" |
serviceAccount.annotations | Mapa de anotaciones para añadir al ServiceAccount. Si se establece, tiene prioridad sobre commonAnnotations | {} |
serviceAccount.automountServiceAccountToken | Habilitar el montaje automático de ServiceAccountToken en el serviceAccount creado. Se utiliza solo si serviceAccount.create es true | true |
license.existingSecret | Nombre del secreto existente que contiene la licencia. Debe contener la clave license.lic | "" |
license.existingClaim | Nombre del PVC existente en el que se almacena la licencia. Debe contener el archivo license.lic | "" |
log.level | Define el tipo y la severidad de un evento registrado. Los valores posibles son ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFF | WARN |
log.type | Define el formato de un evento registrado. Los valores posibles son pattern, json, basic, coloured, messagePassThrough, dummy | pattern |
log.pattern | Define el patrón de registro si log.type=pattern | [%d] [%p] %c - %.10000m |
wopi.enabled | Define si WOPI está habilitado. Si el parámetro está habilitado, entonces los atributos de caché para el directorio montado (PVC) deben estar deshabilitados para el cliente | false |
wopi.keys.generation | Define si se generarán claves API. Se utiliza si establece wopi.enabled en true | true |
wopi.keys.newKeysExistingSecret | Nombre del secreto existente que contiene las claves WOPI. Debe contener las claves WOPI_PRIVATE_KEY, WOPI_PUBLIC_KEY, WOPI_MODULUS_KEY y WOPI_EXPONENT_KEY. Si no se establece, se generarán nuevas claves y se creará un secreto a partir de ellas | "" |
wopi.keys.oldKeysExistingSecret | Nombre del secreto existente que contiene las claves WOPI antiguas. Debe contener las claves WOPI_PRIVATE_KEY_OLD, WOPI_PUBLIC_KEY_OLD, WOPI_MODULUS_KEY_OLD y WOPI_EXPONENT_KEY_OLD. Si no se establece, se generarán nuevas claves y se creará un secreto a partir de ellas | "" |
metrics.enabled | Especifica si StatsD está habilitado para ONLYOFFICE Docs | false |
metrics.host | Define el host de escucha de StatsD | statsd-exporter-prometheus-statsd-exporter |
metrics.port | Define el puerto de escucha de StatsD | 8125 |
metrics.prefix | Define el prefijo de métricas de StatsD para los servicios de backend | ds. |
extraConf.configMap | El nombre del ConfigMap que contiene el archivo json que sobrescribe los valores predeterminados | "" |
extraConf.filename | El nombre del archivo json que contiene valores personalizados. Debe ser el mismo que el nombre de key en extraConf.ConfigMap | local.json |
extraThemes.configMap | El nombre del ConfigMap que contiene el archivo json que contiene los temas de la interfaz | "" |
extraThemes.filename | El nombre del archivo json que contiene temas de interfaz personalizados. Debe ser el mismo que el nombre de key en extraThemes.configMap | custom-themes.json |
podAntiAffinity.type | Tipos de antiafinidad de Pod. Valores permitidos: soft o hard | soft |
podAntiAffinity.topologyKey | Clave de etiqueta de nodo para coincidir | kubernetes.io/hostname |
podAntiAffinity.weight | Prioridad al seleccionar nodo. Está en el rango de 1 a 100 | 100 |
nodeSelector | Etiquetas de nodo para la asignación de pods. Cada servicio de ONLYOFFICE Docs puede sobrescribir los valores especificados aquí con los suyos propios | {} |
tolerations | Toleraciones para la asignación de pods. Cada servicio de ONLYOFFICE Docs puede sobrescribir los valores especificados aquí con los suyos propios | [] |
imagePullSecrets | Nombre del secreto del registro de imágenes de contenedor | "" |
requestFilteringAgent.allowPrivateIPAddress | Define si está permitido conectar una dirección IP privada o no. Los parámetros de requestFilteringAgent se utilizan si JWT está deshabilitado: jwt.enabled=false | false |
requestFilteringAgent.allowMetaIPAddress | Define si está permitido conectar una dirección meta o no | false |
requestFilteringAgent.allowIPAddressList | Define la lista de direcciones IP permitidas para conectar. Estos valores tienen preferencia sobre requestFilteringAgent.denyIPAddressList | [] |
requestFilteringAgent.denyIPAddressList | Define la lista de direcciones IP permitidas para conectar | [] |
docservice.annotations | Define anotaciones que se añadirán adicionalmente al despliegue de Docservice. Si se establece, tiene prioridad sobre commonAnnotations | {} |
docservice.podAnnotations | Mapa de anotaciones para añadir a los pods de despliegue de Docservice | rollme: "{{ randAlphaNum 5 | quote }}" |
docservice.replicas | Cantidad de réplicas de Docservice. Si el parámetro docservice.autoscaling.enabled está habilitado, se ignora | 2 |
docservice.updateStrategy.type | Tipo de estrategia de actualización del despliegue de Docservice | Recreate |
docservice.customPodAntiAffinity | Prohibición de la programación de Pods de Docservice en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
docservice.podAffinity | Define reglas de afinidad de Pod para la programación de Pods de Docservice por nodos en relación con otros Pods | {} |
docservice.nodeAffinity | Define reglas de afinidad de nodo para la programación de Pods de Docservice por nodos | {} |
docservice.nodeSelector | Etiquetas de nodo para la asignación de Pods de Docservice. Si se establece, tiene prioridad sobre nodeSelector | {} |
docservice.tolerations | Toleraciones para la asignación de Pods de Docservice. Si se establece, tiene prioridad sobre tolerations | [] |
docservice.terminationGracePeriodSeconds | El tiempo para terminar de manera elegante durante el cual el Pod de Docservice tendrá el estado Terminating | 30 |
docservice.hostAliases | Añade entradas adicionales al archivo hosts en los contenedores Docservice y Proxy | [] |
docservice.initContainers | Define contenedores que se ejecutan antes de los contenedores docservice y proxy en el pod de implementación de Docservice. Por ejemplo, un contenedor que cambia el propietario del PersistentVolume | [] |
docservice.image.repository | Repositorio de imágenes del contenedor Docservice* | onlyoffice/docs-docservice-de |
docservice.image.tag | Etiqueta de la imagen del contenedor Docservice | 9.0.4-1 |
docservice.image.pullPolicy | Política de extracción de la imagen del contenedor Docservice | IfNotPresent |
docservice.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor Docservice | false |
docservice.lifecycleHooks | Define los hooks del ciclo de vida del contenedor de Docservice. Se utiliza para desencadenar eventos que se ejecutan en ciertos puntos del ciclo de vida de un contenedor | {} |
docservice.resources.requests | Los recursos solicitados para el contenedor Docservice | {} |
docservice.resources.limits | Los límites de recursos para el contenedor Docservice | {} |
docservice.extraEnvVars | Un array con variables de entorno adicionales para el contenedor Docservice | [] |
docservice.extraVolumes | Un array con volúmenes adicionales para el Pod de Docservice | [] |
docservice.extraVolumeMounts | Un array con montajes de volúmenes adicionales para el contenedor Docservice | [] |
docservice.readinessProbe.enabled | Habilitar readinessProbe para el contenedor Docservice | true |
docservice.livenessProbe.enabled | Habilitar livenessProbe para el contenedor Docservice | true |
docservice.startupProbe.enabled | Habilitar startupProbe para el contenedor Docservice | true |
docservice.autoscaling.enabled | Habilitar el escalado automático de la implementación de Docservice | false |
docservice.autoscaling.annotations | Define anotaciones que se añadirán adicionalmente al HPA de la implementación de Docservice. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
docservice.autoscaling.minReplicas | Número mínimo de réplicas para el escalado automático de la implementación de Docservice | 2 |
docservice.autoscaling.maxReplicas | Número máximo de réplicas para el escalado automático de la implementación de Docservice | 4 |
docservice.autoscaling.targetCPU.enabled | Habilitar el escalado automático de la implementación de Docservice por porcentaje de uso de CPU | true |
docservice.autoscaling.targetCPU.utilizationPercentage | Porcentaje objetivo de CPU para el escalado automático de la implementación de Docservice | 70 |
docservice.autoscaling.targetMemory.enabled | Habilitar el escalado automático de la implementación de Docservice por porcentaje de uso de memoria | false |
docservice.autoscaling.targetMemory.utilizationPercentage | Porcentaje objetivo de memoria para el escalado automático de la implementación de Docservice | 70 |
docservice.autoscaling.customMetricsType | Métricas personalizadas, adicionales o externas para el escalado automático de la implementación de Docservice | [] |
docservice.autoscaling.behavior | Configuración de políticas de comportamiento de escalado para la implementación de Docservice en los campos scaleDown y scaleUp | {} |
proxy.accessLog | Define la directiva de formato access_log de la configuración de nginx | off |
proxy.logFormat | Define el formato de las entradas del registro utilizando texto y varias variables | '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' |
proxy.gzipProxied | Define la directiva gzip_proxied de la configuración de nginx | off |
proxy.clientMaxBodySize | Define la directiva client_max_body_size de la configuración de nginx | 100m |
proxy.workerConnections | Define la directiva worker_connections de la configuración de nginx | 4096 |
proxy.secureLinkSecret | Define el secreto para la directiva secure_link_md5 de la configuración de nginx. Si el valor está vacío, se generará uno aleatorio, que se utilizará más tarde en la actualización. Si se establece un valor, se utilizará | "" |
proxy.secureLinkExistingSecret | Nombre del secreto existente para usar con secure_link. Si se establece, tiene prioridad sobre el proxy.secureLinkSecret | "" |
proxy.infoAllowedIP | Define direcciones IP para acceder a la página de información | [] |
proxy.infoAllowedUser | Define el nombre de usuario para acceder a la página de información. Si no se establece, no se aplicará la Autenticación Básica de Nginx para acceder a la página de información. Para más detalles, consulte aquí | "" |
proxy.infoAllowedPassword | Define la contraseña del usuario para acceder a la página de información. Se utiliza si se establece proxy.infoAllowedUser. Si el valor está vacío, se generará una aleatoria, que se utilizará más tarde en la actualización. Si se establece un valor, se utilizará | "" |
proxy.infoAllowedSecretKeyName | El nombre de la clave que contiene la contraseña de autenticación del usuario de información. Se utiliza si se establece proxy.infoAllowedUser | info-auth-password |
proxy.infoAllowedExistingSecret | Nombre del secreto existente para usar con la contraseña de autenticación de información. Se utiliza si se establece proxy.infoAllowedUser. Debe contener la clave especificada en proxy.infoAllowedSecretKeyName. Si se establece, tiene prioridad sobre el proxy.infoAllowedPassword | "" |
proxy.welcomePage.enabled | Define si se mostrará la página de bienvenida | true |
proxy.image.repository | Repositorio de imágenes del contenedor Proxy de Docservice* | onlyoffice/docs-proxy-de |
proxy.image.tag | Etiqueta de la imagen del contenedor Proxy de Docservice | 9.0.4-1 |
proxy.image.pullPolicy | Política de extracción de la imagen del contenedor Proxy de Docservice | IfNotPresent |
proxy.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor Proxy | false |
proxy.lifecycleHooks | Define los hooks del ciclo de vida del contenedor del Proxy. Se utiliza para desencadenar eventos que se ejecutan en ciertos puntos del ciclo de vida de un contenedor | {} |
proxy.resources.requests | Los recursos solicitados para el contenedor Proxy | {} |
proxy.resources.limits | Los límites de recursos para el contenedor Proxy | {} |
proxy.extraEnvVars | Un array con variables de entorno adicionales para el contenedor Proxy | [] |
proxy.extraVolumeMounts | Un array con montajes de volúmenes adicionales para el contenedor Proxy | [] |
proxy.readinessProbe.enabled | Habilitar readinessProbe para el contenedor Proxy | true |
proxy.livenessProbe.enabled | Habilitar livenessProbe para el contenedor Proxy | true |
proxy.startupProbe.enabled | Habilitar startupProbe para el contenedor Proxy | true |
converter.annotations | Define anotaciones que se añadirán adicionalmente a la implementación del Convertidor. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
converter.podAnnotations | Mapa de anotaciones para añadir a los pods de implementación del Convertidor | rollme: "{{ randAlphaNum 5 | quote }}" |
converter.replicas | Cantidad de réplicas del Convertidor. Si el parámetro converter.autoscaling.enabled está habilitado, se ignora | 2 |
converter.updateStrategy.type | Tipo de estrategia de actualización de la implementación del Convertidor | Recreate |
converter.customPodAntiAffinity | Prohibición de la programación de Pods del Convertidor en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
converter.podAffinity | Define reglas de afinidad de Pods para la programación de Pods del Convertidor por nodos en relación con otros Pods | {} |
converter.nodeAffinity | Define reglas de afinidad de nodos para la programación de Pods del Convertidor por nodos | {} |
converter.nodeSelector | Etiquetas de nodo para la asignación de Pods del Convertidor. Si se establece, tiene prioridad sobre el nodeSelector | {} |
converter.tolerations | Tolerancias para la asignación de Pods del Convertidor. Si se establece, tiene prioridad sobre las tolerations | [] |
converter.terminationGracePeriodSeconds | El tiempo para terminar de manera ordenada durante el cual el Pod del Convertidor tendrá el estado Terminating | 30 |
converter.hostAliases | Añade entradas adicionales al archivo hosts en el contenedor Converter | [] |
converter.initContainers | Define contenedores que se ejecutan antes del contenedor Converter en el pod de implementación de Converter. Por ejemplo, un contenedor que cambia el propietario del PersistentVolume | [] |
converter.image.repository | Repositorio de la imagen del contenedor Converter* | onlyoffice/docs-converter-de |
converter.image.tag | Etiqueta de la imagen del contenedor Converter | 9.0.4-1 |
converter.image.pullPolicy | Política de extracción de la imagen del contenedor Converter | IfNotPresent |
converter.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor Converter | false |
converter.lifecycleHooks | Define los hooks del ciclo de vida del contenedor Converter. Se utiliza para desencadenar eventos que se ejecutan en ciertos puntos del ciclo de vida de un contenedor | {} |
converter.resources.requests | Los recursos solicitados para el contenedor Converter | {} |
converter.resources.limits | Los límites de recursos para el contenedor Converter | {} |
converter.extraEnvVars | Un array con variables de entorno adicionales para el contenedor Converter | [] |
converter.extraVolumes | Un array con volúmenes adicionales para el Pod Converter | [] |
converter.extraVolumeMounts | Un array con montajes de volúmenes adicionales para el contenedor Converter | [] |
converter.autoscaling.enabled | Habilitar el escalado automático de la implementación de Converter | false |
converter.autoscaling.annotations | Define anotaciones que se agregarán adicionalmente al HPA de la implementación de Converter. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
converter.autoscaling.minReplicas | Número mínimo de réplicas para el escalado automático de la implementación de Converter | 2 |
converter.autoscaling.maxReplicas | Número máximo de réplicas para el escalado automático de la implementación de Converter | 16 |
converter.autoscaling.targetCPU.enabled | Habilitar el escalado automático de la implementación de Converter por porcentaje de uso de CPU | true |
converter.autoscaling.targetCPU.utilizationPercentage | Porcentaje objetivo de CPU para el escalado automático de la implementación de Converter | 70 |
converter.autoscaling.targetMemory.enabled | Habilitar el escalado automático de la implementación de Converter por porcentaje de uso de memoria | false |
converter.autoscaling.targetMemory.utilizationPercentage | Porcentaje objetivo de memoria para el escalado automático de la implementación de Converter | 70 |
converter.autoscaling.customMetricsType | Métricas personalizadas, adicionales o externas para el escalado automático de la implementación de Converter | [] |
converter.autoscaling.behavior | Configuración de las políticas de comportamiento de escalado de la implementación de Converter para los campos scaleDown y scaleUp | {} |
example.enabled | Habilita la instalación de Example | false |
example.annotations | Define anotaciones que se agregarán adicionalmente a Example StatefulSet. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
example.podAnnotations | Mapa de anotaciones para agregar al pod de ejemplo | rollme: "{{ randAlphaNum 5 | quote }}" |
example.updateStrategy.type | Tipo de estrategia de actualización de Example StatefulSet | RollingUpdate |
example.customPodAntiAffinity | Prohibición de la programación del Pod de Example en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
example.podAffinity | Define reglas de afinidad de Pods para la programación del Pod de Example por nodos en relación con otros Pods | {} |
example.nodeAffinity | Define reglas de afinidad de nodos para la programación del Pod de Example por nodos | {} |
example.nodeSelector | Etiquetas de nodo para la asignación de Pods de Example. Si se establece, tiene prioridad sobre el nodeSelector | {} |
example.tolerations | Tolerancias para la asignación de Pods de Example. Si se establece, tiene prioridad sobre las tolerations | [] |
example.terminationGracePeriodSeconds | El tiempo para terminar de manera ordenada durante el cual el Pod de Example tendrá el estado Terminating | 30 |
example.hostAliases | Añade entradas adicionales al archivo hosts en el contenedor Example | [] |
example.initContainers | Define contenedores que se ejecutan antes del contenedor Example en el Pod | [] |
example.image.repository | Nombre de la imagen del contenedor Example | onlyoffice/docs-example |
example.image.tag | Etiqueta de la imagen del contenedor Example | 9.0.4-1 |
example.image.pullPolicy | Política de extracción de la imagen del contenedor Example | IfNotPresent |
example.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor Example | false |
example.dsUrl | Dirección externa de ONLYOFFICE Docs. Debe cambiarse solo si es necesario verificar el funcionamiento de la conversión en Example (por ejemplo, http://<documentserver-address>/) | / |
example.resources.requests | Los recursos solicitados para el contenedor Example | {} |
example.resources.limits | Los límites de recursos para el contenedor Example | {} |
example.extraEnvVars | Un array con variables de entorno adicionales para el contenedor Example | [] |
example.extraConf.configMap | El nombre del ConfigMap que contiene el archivo json que sobrescribe los valores predeterminados. Vea un ejemplo de creación aquí | "" |
example.extraConf.filename | El nombre del archivo json que contiene valores personalizados. Debe ser el mismo que el nombre de key en example.extraConf.ConfigMap | local.json |
example.extraVolumes | Un array con volúmenes adicionales para el Pod de Example | [] |
example.extraVolumeMounts | Un array con montajes de volúmenes adicionales para el contenedor Example | [] |
jwt.enabled | Especifica la habilitación de la validación del JSON Web Token por parte de ONLYOFFICE Docs. Común para solicitudes de entrada y salida | true |
jwt.secret | Define la clave secreta para validar el JSON Web Token en la solicitud a ONLYOFFICE Docs. Común para solicitudes de entrada y salida. Si el valor está vacío, se generará uno aleatorio, que se utilizará más tarde en la actualización. Si se establece un valor, se utilizará | "" |
jwt.header | Define el encabezado http que se utilizará para enviar el JSON Web Token. Común para solicitudes de entrada y salida | Authorization |
jwt.inBody | Especifica la habilitación de la validación del token en el cuerpo de la solicitud a ONLYOFFICE Docs | false |
jwt.inbox | Parámetros de validación del JSON Web Token solo para solicitudes de entrada. Si no se especifica, se utilizan los valores de los parámetros del jwt común | {} |
jwt.outbox | Parámetros de validación del JSON Web Token solo para solicitudes de salida. Si no se especifica, se utilizan los valores de los parámetros del jwt común | {} |
jwt.existingSecret | El nombre de un secreto existente que contiene variables para jwt. Si no se especifica, se creará un secreto llamado jwt | "" |
service.existing | El nombre de un servicio existente para ONLYOFFICE Docs. Si no se especifica, se creará un servicio llamado documentserver | "" |
service.annotations | Mapa de anotaciones para agregar al servicio de ONLYOFFICE Docs. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
service.type | Tipo de servicio de ONLYOFFICE Docs | ClusterIP |
service.port | Puerto del servicio de ONLYOFFICE Docs | 8888 |
service.sessionAffinity | Afinidad de sesión para el servicio de ONLYOFFICE Docs. Si no se establece, se establecerá None como valor predeterminado | "" |
service.sessionAffinityConfig | Configuración para la afinidad de sesión del servicio de ONLYOFFICE Docs. Se utiliza si se establece service.sessionAffinity | {} |
ingress.enabled | Habilitar la creación de un ingreso para ONLYOFFICE Docs | false |
ingress.annotations | Mapa de anotaciones para agregar al Ingress. Si se establece, tiene prioridad sobre las commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
ingress.ingressClassName | Se utiliza para referenciar la IngressClass que debe usarse para implementar este Ingress | nginx |
ingress.controllerName | Se utiliza para distinguir entre controladores con el mismo IngressClassName pero de diferentes proveedores | ingress-nginx |
ingress.host | Nombre de host de Ingress para el ingreso de ONLYOFFICE Docs | "" |
ingress.tenants | Nombres de host de Ingress si necesitas usar más de un nombre. Por ejemplo, para multitenencia. Si se establece, tiene prioridad sobre ingress.host. Si ingress.ssl.enabled está configurado en true, se asume que el certificado para todos los dominios especificados se mantiene en secreto por ingress.ssl.secret | [] |
ingress.ssl.enabled | Habilitar ssl para el ingreso de ONLYOFFICE Docs | false |
ingress.ssl.secret | Nombre del secreto para ssl para montar en el Ingress | tls |
ingress.path | Especifica la ruta donde estará disponible ONLYOFFICE Docs | / |
ingress.pathType | Especifica el tipo de ruta para el recurso de ingreso de ONLYOFFICE Docs. Los valores permitidos son Exact, Prefix o ImplementationSpecific | ImplementationSpecific |
ingress.letsencrypt.enabled | Habilitar la creación de solicitudes de certificados en Let's Encrypt. Se utiliza si ingress.enabled está configurado en true | false |
ingress.letsencrypt.clusterIssuerName | Nombre del ClusterIssuer | letsencrypt-prod |
ingress.letsencrypt.email | Tu dirección de correo electrónico utilizada para el registro ACME | "" |
ingress.letsencrypt.server | La dirección del servidor de Let's Encrypt al que se enviarán las solicitudes de certificados | https://acme-v02.api.letsencrypt.org/directory |
ingress.letsencrypt.secretName | Nombre de un secreto utilizado para almacenar la clave privada de la cuenta ACME | letsencrypt-prod-private-key |
openshift.route.enabled | Habilitar la creación de una Ruta de OpenShift para ONLYOFFICE Docs | false |
openshift.route.annotations | Mapa de anotaciones para agregar a la Ruta de OpenShift. Si se establece, tiene prioridad sobre commonAnnotations | {} |
openshift.route.host | Nombre de host de la Ruta de OpenShift para la ruta de ONLYOFFICE Docs | "" |
openshift.route.path | Especifica la ruta donde estará disponible ONLYOFFICE Docs | / |
openshift.route.wildcardPolicy | La política para manejar subdominios comodín en la Ruta de OpenShift. Los valores permitidos son None, Subdomain | None |
grafana.enabled | Habilitar la instalación de recursos necesarios para la visualización de métricas en Grafana | false |
grafana.namespace | El nombre del espacio de nombres en el que se desplegarán los componentes RBAC y los recursos de Grafana. Si no se establece, el nombre se tomará de namespaceOverride si está configurado, o .Release.Namespace | "" |
grafana.ingress.enabled | Habilitar la creación de un ingreso para Grafana. Se utiliza si configuras grafana.enabled en true y deseas usar Nginx Ingress para acceder a Grafana | false |
grafana.ingress.annotations | Mapa de anotaciones para agregar al Ingress de Grafana. Si se establece, tiene prioridad sobre commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
grafana.dashboard.enabled | Habilitar la instalación de paneles de Grafana preconfigurados. Se utiliza si configuras grafana.enabled en true | false |
podSecurityContext.enabled | Habilitar el contexto de seguridad para los pods | false |
podSecurityContext.converter.fsGroup | Define el ID de Grupo al que se cambian el propietario y los permisos de todos los archivos en los volúmenes cuando se montan en el Pod del Convertidor | 101 |
podSecurityContext.docservice.fsGroup | Define el ID de Grupo al que se cambian el propietario y los permisos de todos los archivos en los volúmenes cuando se montan en el Pod del Servicio de Documentos | 101 |
podSecurityContext.jobs.fsGroup | Define el ID de Grupo al que se cambian el propietario y los permisos de todos los archivos en los volúmenes cuando se montan en Pods creados por Trabajos | 101 |
podSecurityContext.example.fsGroup | Define el ID de Grupo al que se cambian el propietario y los permisos de todos los archivos en los volúmenes cuando se montan en el Pod de Ejemplo | 1001 |
podSecurityContext.tests.fsGroup | Define el ID de Grupo al que se cambian el propietario y los permisos de todos los archivos en los volúmenes cuando se montan en el Pod de Pruebas | 101 |
webProxy.enabled | Especifica si se utiliza un proxy web en tu red para acceder a los Pods del clúster k8s a Internet | false |
webProxy.http | Dirección del Proxy Web para tráfico HTTP | http://proxy.example.com |
webProxy.https | Dirección del Proxy Web para tráfico HTTPS | https://proxy.example.com |
webProxy.noProxy | Patrones para direcciones IP o nombres de servicios k8s o nombres de dominio que no deben usar el Proxy Web | localhost,127.0.0.1,docservice |
privateCluster | Especifica si el clúster k8s se utiliza en una red privada sin acceso a internet | false |
upgrade.job.enabled | Habilitar la ejecución del trabajo previo a la actualización antes de actualizar ONLYOFFICE Docs | true |
upgrade.job.annotations | Define anotaciones que se agregarán adicionalmente al Trabajo previo a la actualización. Si se establece, tiene prioridad sobre commonAnnotations | {} |
upgrade.job.podAnnotations | Mapa de anotaciones para agregar al Pod previo a la actualización | {} |
upgrade.job.customPodAntiAffinity | Prohibir la programación del Pod del Trabajo previo a la actualización en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
upgrade.job.podAffinity | Define reglas de afinidad de Pods para la programación del Pod del Trabajo previo a la actualización por nodos en relación con otros Pods | {} |
upgrade.job.nodeAffinity | Define reglas de afinidad de nodos para la programación del Pod del Trabajo previo a la actualización por nodos | {} |
upgrade.job.nodeSelector | Etiquetas de nodo para la asignación del Pod del Trabajo previo a la actualización. Si se establece, tiene prioridad sobre nodeSelector | {} |
upgrade.job.tolerations | Tolerancias para la asignación del Pod del Trabajo previo a la actualización. Si se establece, tiene prioridad sobre tolerations | [] |
upgrade.job.initContainers | Define contenedores que se ejecutan antes del contenedor previo a la actualización en el Pod | [] |
upgrade.job.image.repository | Repositorio de imágenes para el trabajo de actualización | onlyoffice/docs-utils |
upgrade.job.image.tag | Etiqueta de imagen para el trabajo de actualización | 9.0.4-1 |
upgrade.job.image.pullPolicy | Política de extracción de imagen para el trabajo de actualización | IfNotPresent |
upgrade.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor previo a la actualización | false |
upgrade.job.resources.requests | Los recursos solicitados para el contenedor previo a la actualización | {} |
upgrade.job.resources.limits | Los límites de recursos para el contenedor previo a la actualización | {} |
upgrade.existingConfigmap.tblRemove.name | El nombre del ConfigMap existente que contiene el archivo sql para eliminar tablas de la base de datos | remove-db-scripts |
upgrade.existingConfigmap.tblRemove.keyName | El nombre del archivo sql que contiene instrucciones para eliminar tablas de la base de datos. Debe ser el mismo que el nombre de key en upgrade.existingConfigmap.tblRemove.name | removetbl.sql |
upgrade.existingConfigmap.tblCreate.name | El nombre del ConfigMap existente que contiene el archivo sql para crear tablas de la base de datos | init-db-scripts |
upgrade.existingConfigmap.tblCreate.keyName | El nombre del archivo sql que contiene instrucciones para crear tablas de la base de datos. Debe ser el mismo que el nombre de key en upgrade.existingConfigmap.tblCreate.name | createdb.sql |
upgrade.existingConfigmap.dsStop | El nombre del ConfigMap existente que contiene el script de actualización de ONLYOFFICE Docs. Si se establece, se ignoran los cuatro parámetros anteriores. Debe contener una clave stop.sh | "" |
rollback.job.enabled | Habilitar la ejecución del trabajo previo a la reversión antes de revertir ONLYOFFICE Docs | true |
rollback.job.annotations | Define anotaciones que se agregarán adicionalmente al Trabajo previo a la reversión. Si se establece, tiene prioridad sobre commonAnnotations | {} |
rollback.job.podAnnotations | Mapa de anotaciones para agregar al Pod previo a la reversión | {} |
rollback.job.customPodAntiAffinity | Prohibir la programación del Pod del Trabajo previo a la reversión en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
rollback.job.podAffinity | Define reglas de afinidad de Pods para la programación del Pod del Trabajo previo a la reversión por nodos en relación con otros Pods | {} |
rollback.job.nodeAffinity | Define las reglas de afinidad de nodo para la programación del Job Pod previo al rollback por los nodos | {} |
rollback.job.nodeSelector | Etiquetas de nodo para la asignación del Job Pod previo al rollback. Si se establece, tiene prioridad sobre el nodeSelector | {} |
rollback.job.tolerations | Tolerancias para la asignación del Job Pod previo al rollback. Si se establece, tiene prioridad sobre las tolerations | [] |
rollback.job.initContainers | Define los contenedores que se ejecutan antes del contenedor previo al rollback en el Pod | [] |
rollback.job.image.repository | Repositorio de imágenes para el Job por rollback | onlyoffice/docs-utils |
rollback.job.image.tag | Etiqueta de imagen para el Job por rollback | 9.0.4-1 |
rollback.job.image.pullPolicy | Política de extracción de imagen para el Job por rollback | IfNotPresent |
rollback.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor previo al rollback | false |
rollback.job.resources.requests | Los recursos solicitados para el contenedor de rollback del Job | {} |
rollback.job.resources.limits | Los límites de recursos para el contenedor de rollback del Job | {} |
rollback.existingConfigmap.tblRemove.name | El nombre del ConfigMap existente que contiene el archivo sql para eliminar tablas de la base de datos | remove-db-scripts |
rollback.existingConfigmap.tblRemove.keyName | El nombre del archivo sql que contiene instrucciones para eliminar tablas de la base de datos. Debe ser el mismo que el nombre de key en rollback.existingConfigmap.tblRemove.name | removetbl.sql |
rollback.existingConfigmap.tblCreate.name | El nombre del ConfigMap existente que contiene el archivo sql para crear tablas de la base de datos | init-db-scripts |
rollback.existingConfigmap.tblCreate.keyName | El nombre del archivo sql que contiene instrucciones para crear tablas de la base de datos. Debe ser el mismo que el nombre de key en rollback.existingConfigmap.tblCreate.name | createdb.sql |
rollback.existingConfigmap.dsStop | El nombre del ConfigMap existente que contiene el script de rollback de ONLYOFFICE Docs. Si se establece, se ignoran los cuatro parámetros anteriores. Debe contener una clave stop.sh | "" |
delete.job.enabled | Habilitar la ejecución del trabajo previo a la eliminación antes de eliminar ONLYOFFICE Docs | true |
delete.job.annotations | Define anotaciones que se agregarán adicionalmente al Job previo a la eliminación. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
delete.job.podAnnotations | Mapa de anotaciones para agregar al Pod previo a la eliminación | {} |
delete.job.customPodAntiAffinity | Prohibir la programación del Job Pod previo a la eliminación en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
delete.job.podAffinity | Define las reglas de afinidad de Pod para la programación del Job Pod previo a la eliminación por los nodos en relación con otros Pods | {} |
delete.job.nodeAffinity | Define las reglas de afinidad de nodo para la programación del Job Pod previo a la eliminación por los nodos | {} |
delete.job.nodeSelector | Etiquetas de nodo para la asignación del Job Pod previo a la eliminación. Si se establece, tiene prioridad sobre el nodeSelector | {} |
delete.job.tolerations | Tolerancias para la asignación del Job Pod previo a la eliminación. Si se establece, tiene prioridad sobre las tolerations | [] |
delete.job.initContainers | Define los contenedores que se ejecutan antes del contenedor previo a la eliminación en el Pod | [] |
delete.job.image.repository | Repositorio de imágenes para el Job por eliminación | onlyoffice/docs-utils |
delete.job.image.tag | Etiqueta de imagen para el Job por eliminación | 9.0.4-1 |
delete.job.image.pullPolicy | Política de extracción de imagen para el Job por eliminación | IfNotPresent |
delete.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor previo a la eliminación | false |
delete.job.resources.requests | Los recursos solicitados para el contenedor de eliminación del Job | {} |
delete.job.resources.limits | Los límites de recursos para el contenedor de eliminación del Job | {} |
delete.existingConfigmap.tblRemove.name | El nombre del ConfigMap existente que contiene el archivo sql para eliminar tablas de la base de datos | remove-db-scripts |
delete.existingConfigmap.tblRemove.keyName | El nombre del archivo sql que contiene instrucciones para eliminar tablas de la base de datos. Debe ser el mismo que el nombre de key en delete.existingConfigmap.tblRemove.name | removetbl.sql |
delete.existingConfigmap.dsStop | El nombre del ConfigMap existente que contiene el script de eliminación de ONLYOFFICE Docs. Si se establece, se ignoran los dos parámetros anteriores. Debe contener una clave stop.sh | "" |
install.job.enabled | Habilitar la ejecución del trabajo previo a la instalación antes de instalar ONLYOFFICE Docs | true |
install.job.annotations | Define anotaciones que se agregarán adicionalmente al Job previo a la instalación. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
install.job.podAnnotations | Mapa de anotaciones para agregar al Pod previo a la instalación | {} |
install.job.customPodAntiAffinity | Prohibir la programación del Job Pod previo a la instalación en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
install.job.podAffinity | Define las reglas de afinidad de Pod para la programación del Job Pod previo a la instalación por los nodos en relación con otros Pods | {} |
install.job.nodeAffinity | Define las reglas de afinidad de nodo para la programación del Job Pod previo a la instalación por los nodos | {} |
install.job.nodeSelector | Etiquetas de nodo para la asignación del Job Pod previo a la instalación. Si se establece, tiene prioridad sobre el nodeSelector | {} |
install.job.tolerations | Tolerancias para la asignación del Job Pod previo a la instalación. Si se establece, tiene prioridad sobre las tolerations | [] |
install.job.initContainers | Define los contenedores que se ejecutan antes del contenedor previo a la instalación en el Pod | [] |
install.job.image.repository | Repositorio de imágenes para el Job previo a la instalación de ONLYOFFICE Docs | onlyoffice/docs-utils |
install.job.image.tag | Etiqueta de imagen para el Job previo a la instalación de ONLYOFFICE Docs | 9.0.4-1 |
install.job.image.pullPolicy | Política de extracción de imagen para el Job previo a la instalación de ONLYOFFICE Docs | IfNotPresent |
install.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor previo a la instalación | false |
install.job.resources.requests | Los recursos solicitados para el contenedor de instalación previa del Job | {} |
install.job.resources.limits | Los límites de recursos para el contenedor de instalación previa del Job | {} |
install.existingConfigmap.tblCreate.name | El nombre del ConfigMap existente que contiene el archivo sql para crear tablas de la base de datos | init-db-scripts |
install.existingConfigmap.tblCreate.keyName | El nombre del archivo sql que contiene instrucciones para crear tablas de la base de datos. Debe ser el mismo que el nombre de key en install.existingConfigmap.tblCreate.name | createdb.sql |
install.existingConfigmap.initdb | El nombre del ConfigMap existente que contiene el script initdb. Si se establece, se ignoran los dos parámetros anteriores. Debe contener una clave initdb.sh | "" |
clearCache.job.enabled | Habilitar la ejecución del trabajo Clear Cache después de actualizar ONLYOFFICE Docs. El trabajo Clear Cache tiene un hook post-upgrade que se ejecuta después de que se hayan actualizado los recursos en Kubernetes. Limpia el directorio Cache | true |
clearCache.job.annotations | Define anotaciones que se agregarán adicionalmente al Job Clear Cache. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
clearCache.job.podAnnotations | Mapa de anotaciones para agregar al Pod Clear Cache | {} |
clearCache.job.customPodAntiAffinity | Prohibir la programación del Job Pod Clear Cache en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
clearCache.job.podAffinity | Define las reglas de afinidad de Pod para la programación del Job Pod Clear Cache por los nodos en relación con otros Pods | {} |
clearCache.job.nodeAffinity | Define las reglas de afinidad de nodo para la programación del Job Pod Clear Cache por los nodos | {} |
clearCache.job.nodeSelector | Etiquetas de nodo para la asignación del Job Pod Clear Cache. Si se establece, tiene prioridad sobre el nodeSelector | {} |
clearCache.job.tolerations | Tolerancias para la asignación del Pod del trabajo de limpieza de caché. Si se establece, tiene prioridad sobre las tolerations | [] |
clearCache.job.initContainers | Define los contenedores que se ejecutan antes del contenedor de limpieza de caché en el Pod | [] |
clearCache.job.image.repository | Repositorio de imágenes del trabajo de limpieza de caché de ONLYOFFICE Docs | onlyoffice/docs-utils |
clearCache.job.image.tag | Etiqueta de imagen del trabajo de limpieza de caché de ONLYOFFICE Docs | 9.0.4-1 |
clearCache.job.image.pullPolicy | Política de extracción de imágenes del trabajo de limpieza de caché de ONLYOFFICE Docs | IfNotPresent |
clearCache.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor de limpieza de caché | false |
clearCache.job.resources.requests | Los recursos solicitados para el contenedor del trabajo de limpieza de caché | {} |
clearCache.job.resources.limits | Los límites de recursos para el contenedor del trabajo de limpieza de caché | {} |
clearCache.existingConfigmap.name | El nombre del ConfigMap existente que contiene el script personalizado para limpiar el directorio de caché. Si se establece, no se creará el ConfigMap predeterminado | "" |
clearCache.existingConfigmap.keyName | El nombre del script que contiene instrucciones para limpiar el directorio de caché. Debe ser el mismo que el nombre de key en clearCache.existingConfigmap.name si se utiliza un script personalizado | clearCache.sh |
grafanaDashboard.job.annotations | Define anotaciones que se añadirán adicionalmente al trabajo del Panel de Grafana. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
grafanaDashboard.job.podAnnotations | Mapa de anotaciones para añadir al Pod del Panel de Grafana | {} |
grafanaDashboard.job.customPodAntiAffinity | Prohibir la programación del Pod del trabajo del Panel de Grafana en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
grafanaDashboard.job.podAffinity | Define reglas de afinidad de Pods para la programación del Pod del trabajo del Panel de Grafana por nodos en relación con otros Pods | {} |
grafanaDashboard.job.nodeAffinity | Define reglas de afinidad de nodos para la programación del Pod del trabajo del Panel de Grafana por nodos | {} |
grafanaDashboard.job.nodeSelector | Etiquetas de nodo para la asignación del Pod del trabajo del Panel de Grafana. Si se establece, tiene prioridad sobre el nodeSelector | {} |
grafanaDashboard.job.tolerations | Tolerancias para la asignación del Pod del trabajo del Panel de Grafana. Si se establece, tiene prioridad sobre las tolerations | [] |
grafanaDashboard.job.initContainers | Define los contenedores que se ejecutan antes del contenedor del Panel de Grafana en el Pod | [] |
grafanaDashboard.job.image.repository | Repositorio de imágenes del trabajo del Panel de Grafana de ONLYOFFICE Docs | onlyoffice/docs-utils |
grafanaDashboard.job.image.tag | Etiqueta de imagen del trabajo del Panel de Grafana de ONLYOFFICE Docs | 9.0.4-1 |
grafanaDashboard.job.image.pullPolicy | Política de extracción de imágenes del trabajo del Panel de Grafana de ONLYOFFICE Docs | IfNotPresent |
grafanaDashboard.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor del Panel de Grafana | false |
grafanaDashboard.job.resources.requests | Los recursos solicitados para el contenedor del trabajo del Panel de Grafana | {} |
grafanaDashboard.job.resources.limits | Los límites de recursos para el contenedor del trabajo del Panel de Grafana | {} |
wopiKeysGeneration.job.annotations | Define anotaciones que se añadirán adicionalmente al trabajo de generación de claves Wopi. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
wopiKeysGeneration.job.podAnnotations | Mapa de anotaciones para añadir al Pod de generación de claves Wopi | {} |
wopiKeysGeneration.job.customPodAntiAffinity | Prohibir la programación del Pod del trabajo de generación de claves Wopi en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
wopiKeysGeneration.job.podAffinity | Define reglas de afinidad de Pods para la programación del Pod del trabajo de generación de claves Wopi por nodos en relación con otros Pods | {} |
wopiKeysGeneration.job.nodeAffinity | Define reglas de afinidad de nodos para la programación del Pod del trabajo de generación de claves Wopi por nodos | {} |
wopiKeysGeneration.job.nodeSelector | Etiquetas de nodo para la asignación del Pod del trabajo de generación de claves Wopi. Si se establece, tiene prioridad sobre el nodeSelector | {} |
wopiKeysGeneration.job.tolerations | Tolerancias para la asignación del Pod del trabajo de generación de claves Wopi. Si se establece, tiene prioridad sobre las tolerations | [] |
wopiKeysGeneration.job.initContainers | Define los contenedores que se ejecutan antes del contenedor de generación de claves Wopi en el Pod | [] |
wopiKeysGeneration.job.image.repository | Repositorio de imágenes del trabajo de generación de claves Wopi de ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysGeneration.job.image.tag | Etiqueta de imagen del trabajo de generación de claves Wopi de ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysGeneration.job.image.pullPolicy | Política de extracción de imágenes del trabajo de generación de claves Wopi de ONLYOFFICE Docs | IfNotPresent |
wopiKeysGeneration.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor de generación de claves Wopi | false |
wopiKeysGeneration.job.resources.requests | Los recursos solicitados para el contenedor del trabajo de generación de claves Wopi | {} |
wopiKeysGeneration.job.resources.limits | Los límites de recursos para el contenedor del trabajo de generación de claves Wopi | {} |
wopiKeysDeletion.job.enabled | Habilitar la ejecución del trabajo de eliminación de claves Wopi antes de eliminar ONLYOFFICE Docs. Elimina los secretos WOPI generados automáticamente. Se ejecuta si wopi.enabled, wopi.keys.generation y wopiKeysDeletion.job.enabled están configurados en true | true |
wopiKeysDeletion.job.annotations | Define anotaciones que se añadirán adicionalmente al trabajo de eliminación de claves Wopi. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
wopiKeysDeletion.job.podAnnotations | Mapa de anotaciones para añadir al Pod de eliminación de claves Wopi | {} |
wopiKeysDeletion.job.customPodAntiAffinity | Prohibir la programación del Pod del trabajo de eliminación de claves Wopi en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
wopiKeysDeletion.job.podAffinity | Define reglas de afinidad de Pods para la programación del Pod del trabajo de eliminación de claves Wopi por nodos en relación con otros Pods | {} |
wopiKeysDeletion.job.nodeAffinity | Define reglas de afinidad de nodos para la programación del Pod del trabajo de eliminación de claves Wopi por nodos | {} |
wopiKeysDeletion.job.nodeSelector | Etiquetas de nodo para la asignación del Pod del trabajo de eliminación de claves Wopi. Si se establece, tiene prioridad sobre el nodeSelector | {} |
wopiKeysDeletion.job.tolerations | Tolerancias para la asignación del Pod del trabajo de eliminación de claves Wopi. Si se establece, tiene prioridad sobre las tolerations | [] |
wopiKeysDeletion.job.initContainers | Define los contenedores que se ejecutan antes del contenedor de eliminación de claves Wopi en el Pod | [] |
wopiKeysDeletion.job.image.repository | Repositorio de imágenes del trabajo de eliminación de claves Wopi de ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysDeletion.job.image.tag | Etiqueta de imagen del trabajo de eliminación de claves Wopi de ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysDeletion.job.image.pullPolicy | Política de extracción de imágenes del trabajo de eliminación de claves Wopi de ONLYOFFICE Docs | IfNotPresent |
wopiKeysDeletion.job.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor de eliminación de claves Wopi | false |
wopiKeysDeletion.job.resources.requests | Los recursos solicitados para el contenedor del trabajo de eliminación de claves Wopi | {} |
wopiKeysDeletion.job.resources.limits | Los límites de recursos para el contenedor del trabajo de eliminación de claves Wopi | {} |
tests.enabled | Habilitar la creación de los recursos necesarios para las pruebas de lanzamiento de ONLYOFFICE Docs y las pruebas de disponibilidad de las dependencias conectadas. Estos recursos se utilizarán al ejecutar el comando helm test | true |
tests.annotations | Define anotaciones que se añadirán adicionalmente al Pod de prueba. Si se establece, tiene prioridad sobre las commonAnnotations | {} |
tests.customPodAntiAffinity | Prohibir la programación del Pod de prueba en relación con otros Pods que contengan las etiquetas especificadas en el mismo nodo | {} |
tests.podAffinity | Define reglas de afinidad de Pods para la programación del Pod de prueba por nodos en relación con otros Pods | {} |
tests.nodeAffinity | Define las reglas de afinidad de nodo para la programación del Pod de prueba por nodos | {} |
tests.nodeSelector | Etiquetas de nodo para la asignación del Pod de prueba. Si se establece, tiene prioridad sobre el nodeSelector | {} |
tests.tolerations | Tolerancias para la asignación del Pod de prueba. Si se establece, tiene prioridad sobre las tolerations | [] |
tests.initContainers | Define los contenedores que se ejecutan antes del contenedor de prueba en el Pod | [] |
tests.image.repository | Nombre de la imagen del contenedor de prueba | onlyoffice/docs-utils |
tests.image.tag | Etiqueta de la imagen del contenedor de prueba | 9.0.4-1 |
tests.image.pullPolicy | Política de obtención de la imagen del contenedor de prueba | IfNotPresent |
tests.containerSecurityContext.enabled | Habilitar el contexto de seguridad para el contenedor de prueba | false |
tests.resources.requests | Los recursos solicitados para el contenedor de prueba | {} |
tests.resources.limits | Los límites de recursos para el contenedor de prueba | {} |
-
*Nota: El prefijo -de está especificado en el valor del repositorio de imágenes, lo que indica el tipo de solución. Opciones posibles:
-de. Para la edición comercial Developer Edition-ee. Para la edición comercial Enterprise Edition
El valor predeterminado de este parámetro se refiere a la edición Developer Edition del Servidor de Documentos de ONLYOFFICE. Para obtener más información sobre esta edición y compararla con otras ediciones, consulte la tabla de comparación en esta página.
5. Detalles de configuración e instalación
-
Despliegue de ejemplo (opcional)
Importante Este paso es opcional. Puede omitirlo por completo si no necesita desplegar el ejemplo.
Para desplegar el ejemplo, establezca el parámetro
example.enableden true:$ helm install documentserver onlyoffice/docs --set example.enabled=true -
Despliegue de métricas (opcional)Importante Este paso es opcional. Puede omitirlo por completo si no necesita desplegar métricas.
Para desplegar métricas, establezca
metrics.enableden true:$ helm install documentserver onlyoffice/docs --set metrics.enabled=trueSi desea usar Grafana para visualizar métricas, establezca
grafana.enabledentrue. Si desea usar Nginx Ingress para acceder a Grafana, establezcagrafana.ingress.enabledentrue:$ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true -
Exponer ONLYOFFICE Docs
-
Exponer ONLYOFFICE Docs a través de Servicio (solo HTTP)
Debe omitir este paso si va a exponer ONLYOFFICE Docs a través de HTTPS.
Este tipo de exposición crea un balanceador de carga para acceder a ONLYOFFICE Docs. Use este tipo si utiliza terminación TLS externa y no tiene otra aplicación web en el clúster k8s.
Para exponer ONLYOFFICE Docs a través de servicio, establezca el parámetro
service.typeen LoadBalancer:$ helm install documentserver onlyoffice/docs --set service.type=LoadBalancer,service.port=80Ejecute el siguiente comando para obtener la IP del servicio
documentserver:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"Después de eso, ONLYOFFICE Docs estará disponible en
http://DOCUMENTSERVER-SERVICE-IP/.Si la IP del servicio está vacía, intente obtener el nombre de host del servicio
documentserver:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].hostname}"En este caso, ONLYOFFICE Docs estará disponible en
http://DOCUMENTSERVER-SERVICE-HOSTNAME/. -
Exponer ONLYOFFICE Docs a través de Ingress
Primero, instale el Controlador de Ingress Nginx de Kubernetes:
$ helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true,controller.replicaCount=2Para habilitar la exposición de métricas de ingress-nginx a Prometheus, ejecute:$ helm install nginx-ingress -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/ingress_values.yaml ingress-nginx/ingress-nginxVea más detalles sobre la instalación de Nginx Ingress a través de Helm aquí.
Luego elija su método de exposición:
-
A través de HTTPDebe omitir esto si va a exponer ONLYOFFICE Docs a través de HTTPS.
$ helm install documentserver onlyoffice/docs --set ingress.enabled=trueObtenga la IP de ingress:
$ kubectl get ingress documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"ONLYOFFICE Docs estará disponible en
http://DOCUMENTSERVER-INGRESS-IP/(o use el nombre de host si la IP está vacía). -
A través de HTTPS (terminación TLS)
Cree el secreto
tlscon su certificado 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.comAsocie la IP o el nombre de host de ingress con su nombre de dominio a través de su proveedor de DNS. Después de eso, ONLYOFFICE Docs estará disponible en
https://your-domain-name/. -
A través de 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=falseLuego instale o actualice ONLYOFFICE Docs estableciendo
ingress.enabled,ingress.ssl.enabled,ingress.letsencrypt.enabledentrue, y especificando sus valores paraingress.letsencrypt.emaileingress.host(oingress.tenantspara múltiples dominios). -
A través de una ruta virtual
Establezca los parámetros
ingress.enabled,ingress.hostyingress.path:$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docsControladores de ingress compatibles: Ingress NGINX por Kubernetes, NGINX Ingress por NGINX, HAProxy Ingress por HAProxy.
Para Ingress NGINX por Kubernetes, agregue el patrón
(/|$)(.*)aingress.path, por ejemplo,/docs(/|$)(.*).
-
-
Exponer ONLYOFFICE Docs a través de ruta en OpenShift
$ helm install documentserver onlyoffice/docs --set openshift.route.enabled=true,openshift.route.host=your-domain-name,openshift.route.path=/docsPara la terminación TLS, agregue manualmente los certificados a la ruta a través de la consola web de OpenShift.
-
Exponer ONLYOFFICE Docs a través de Servicio (solo HTTP)
6. Escalar ONLYOFFICE Docs
-
Autoscaling Horizontal de Pods
Puede habilitar el Autoscaling para que el número de réplicas de los despliegues
docserviceyconverterse calcule automáticamente en función de los valores y el tipo de métricas.Para las métricas de recursos, la API
metrics.k8s.iodebe estar registrada, lo cual generalmente es proporcionado por el metrics-server. Puede lanzarse como un complemento del clúster.Para habilitar HPA para el despliegue de
docservice, especifique el parámetrodocservice.autoscaling.enabled=true. De manera similar, para habilitar HPA para el despliegue deconverter, especifiqueconverter.autoscaling.enabled=true. En ambos casos, el parámetro correspondientereplicasse ignora y el número de réplicas es controlado por HPA.Para más información sobre el Escalado Horizontal de Pods, consulte aquí. Para otros parámetros configurables de Autoscaling, consulte la tabla de Parámetros.
-
Escalado manual
Los despliegues de
docserviceyconverterconstan de 2 pods cada uno por defecto.Para escalar el despliegue de
docservice:$ kubectl scale -n default deployment docservice --replicas=POD_COUNTPara escalar el despliegue de
converter:$ kubectl scale -n default deployment converter --replicas=POD_COUNT
7. Actualizar ONLYOFFICE Docs
Para actualizar, configure los parámetros para la actualización. Por ejemplo:
$ helm upgrade documentserver onlyoffice/docs \
--set docservice.image.tag=[version]
O modifique el archivo values.yaml y ejecute:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs
El comando helm upgrade ejecuta un hook que apaga ONLYOFFICE Docs y limpia la base de datos. El tiempo de ejecución del hook por defecto es de 300s. Para cambiarlo:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs --timeout 15m
Para actualizar cualquier parámetro que no sea la versión de ONLYOFFICE Docs, ejecute helm upgrade sin hooks:
$ helm upgrade documentserver onlyoffice/docs --set jwt.enabled=false --no-hooks
Para revertir actualizaciones:
$ helm rollback documentserver
8. Apagar ONLYOFFICE Docs
Para realizar el apagado, ejecute el siguiente comando:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n <NAMESPACE>
Dónde <NAMESPACE> es el espacio de nombres donde está instalado ONLYOFFICE Docs. Por defecto es default si no se especifica. Por ejemplo:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n onlyoffice
Después de que el Pod shutdown-ds se ejecute con éxito, elimine el Job:
$ kubectl delete job shutdown-ds -n <NAMESPACE>
Para reiniciar ONLYOFFICE Docs después del apagado, reinicie los pods de docservice y converter:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
9. Actualizar la licencia de ONLYOFFICE Docs
Desde la versión v5.1.1, puede actualizar la licencia recreando el secreto sin reiniciar los pods. Para actualizar la licencia:
- Coloque el nuevo archivo
license.licen un directorio. -
Ejecute los siguientes comandos:
$ kubectl delete secret [SECRET_LICENSE_NAME] -n <NAMESPACE> $ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic -n <NAMESPACE>Dónde SECRET_LICENSE_NAME es el nombre del secreto existente con una licencia.
El servidor de documentos releerá automáticamente la nueva licencia.
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Prueba de instalación de ONLYOFFICE Docs
Pruebe la disponibilidad de ONLYOFFICE Docs y el acceso a las dependencias conectadas:
$ helm test documentserver -n <NAMESPACE>
La salida debe contener:
Phase: Succeeded
Para ver el registro de la prueba:
$ kubectl logs -f test-ds -n <NAMESPACE>
Después de la prueba, elimine el Pod test-ds:
$ kubectl delete pod test-ds -n <NAMESPACE>
11. Ejecutar Jobs en un clúster k8s privado
Al ejecutar un Job para instalación, actualización, reversión o eliminación, el contenedor necesita acceso a internet para descargar los últimos scripts SQL. Si el acceso a la red externa está restringido en su clúster, configure privateCluster=true y cree manualmente un ConfigMap con los scripts SQL necesarios.
Si su clúster ya tiene los configmaps remove-db-scripts y init-db-scripts, elimínelos primero:
$ kubectl delete cm remove-db-scripts init-db-scripts
Descargue los scripts de la base de datos. Para 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
Para 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
Cree configmaps a partir de ellos:
$ kubectl create configmap remove-db-scripts --from-file=./removetbl.sql
$ kubectl create configmap init-db-scripts --from-file=./createdb.sql
Si utilizó nombres diferentes para ConfigMap o los archivos, configure los parámetros apropiados para los jobs correspondientes: existingConfigmap.tblRemove.name / existingConfigmap.tblRemove.keyName para scripts de limpieza, y existingConfigmap.tblCreate.name / existingConfigmap.tblCreate.keyName para scripts de creación.
Luego, al ejecutar helm install|upgrade|rollback|delete, configure el parámetro privateCluster=true.
privateCluster=false y configurar webProxy.enabled=true con los parámetros de proxy apropiados en lugar de crear configmaps manualmente.12. Acceso a la página de información
El acceso a la página /info está limitado por defecto. Para permitir el acceso, especifique las direcciones IP o subredes usando el parámetro proxy.infoAllowedIP. Tenga en cuenta que debido a las especificidades de la red de Kubernetes, los clientes reales suelen ser direcciones de Pod, Nodo o Balanceador de Carga en lugar de la IP original del usuario.
Puede restringir aún más el acceso utilizando la Autenticación Básica de Nginx configurando el parámetro proxy.infoAllowedUser y una contraseña a través de proxy.infoAllowedPassword. Alternativamente, use un secreto existente configurando proxy.infoAllowedExistingSecret.
Uso de Grafana para visualizar métricas
1. Desplegar Grafana
-
Desplegar Grafana sin tableros predefinidos
Omita este paso si desea desplegar Grafana con tableros predefinidos.
$ 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 -
Desplegar Grafana con paneles preconfigurados
-
Instalar paneles preconfigurados de Grafana
Establezca los parámetros
grafana.enabledygrafana.dashboard.enabledentrue. Si ONLYOFFICE Docs ya está instalado, ejecute:helm upgrade documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.dashboard.enabled=trueEsto descarga paneles preconfigurados en formato JSON desde el sitio web de Grafana, aplica las ediciones necesarias y crea un configmap a partir de ellos. También se añade un panel para las métricas de ONLYOFFICE Docs (se asume que el paso 6 (Desplegar StatsD exporter) ya se ha completado).
-
Instalar 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.jsonLos siguientes paneles serán importados a Grafana: Node Exporter, Deployment Statefulset Daemonset, Redis Dashboard para Prometheus Redis Exporter, RabbitMQ-Overview, Base de datos PostgreSQL, controlador NGINX Ingress, ONLYOFFICE Docs y Uso de recursos por Pods y Contenedores.
Puede ver la descripción de las métricas de ONLYOFFICE Docs visualizadas en Grafana aquí.Vea más detalles sobre la instalación de Grafana a través de Helm aquí.
-
Instalar paneles preconfigurados de Grafana
2. Acceso a Grafana a través de Ingress
Si ONLYOFFICE Docs se instaló con el parámetro grafana.ingress.enabled (Despliegue de métricas), Grafana estará disponible en: http://INGRESS-ADDRESS/grafana/
Si Ingress se instaló con una conexión segura (Exponer ONLYOFFICE Docs a través de HTTPS), Grafana estará disponible en: https://your-domain-name/grafana/
3. Ver métricas recopiladas en Grafana
Vaya a http(s)://your-domain-name/grafana/ e inicie sesión con:
Login - admin
Para obtener la contraseña, ejecute:
$ kubectl get secret grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode
En la sección de paneles, verá los paneles añadidos que muestran las métricas recibidas de Prometheus.