ONLYOFFICE Docs pour Kubernetes

Introduction

Important Ce guide est valable uniquement pour la solution de licence cluster payante.
  • Vous devez disposer d'un cluster Kubernetes ou OpenShift installé :
  • Vous devez également disposer d'une copie locale configurée de kubectl. See this guide pour savoir comment installer et configurer kubectl.
  • Vous devez installer Helm v3.7+. Veuillez suivre les instructions ici to install it.
  • Si vous utilisez OpenShift, vous pouvez utiliser oc and kubectl pour gérer le déploiement.
  • Si l'installation de composants externes à « Docs » est effectuée depuis Helm Chart dans un cluster OpenShift, il est recommandeé de les installer depuis un utilisateur ayant le rôle cluster-admin afin d'éviter d'éventuels problèmes de droits d'accès. Consultez this guide pour ajouter les rôles nécessaires à l'utilisateur.

Composants prérequis de déploiement

Il peut être nécessaire d'appliquer la politique SecurityContextConstraints lors de l'installation dans un cluster OpenShift, ce qui ajoute la permission d'exécuter des conteneurs depuis un utilisateur dont l'ID = 1001.

Pour ce faire, exécutez les commandees suivantes :

$ 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

Vous pouvez également spécifier la plage d'utilisateurs et de groupes autorisés à partir du namespace cible, voir les paramètres runAsUser and fsGroup lors de l'installation des dépendances, telles que RabbitMQ, Redis, PostgreSQL, etc.

1. Ajouter les référentiels 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. Installer Stockage persistant
Important If you want to use Amazon S3 as a cache, please skip cette étape.

Installer NFS Server Provisioner

Lors de l'installation de NFS Server Provisioner, des classes de stockage - NFS sont créées. Lors de l'installation dans un cluster OpenShift, l'utilisateur doit avoir un rôle lui permettant de créer des classes de stockage dans le cluster. En savoir plus ici.
$ 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 est une classe de stockage persistant disponible dans votre cluster Kubernetes.

    Classes de stockage persistant pour différents fournisseurs :

  • PERSISTENT_SIZE est la taille totale de tous les stockages persistants pour la classe de stockage persistant NFS. Vous pouvez exprimer la taille sous forme d'entier simple avec l'un de ces suffixes : T, G, M, Ti, Gi, Mi. Par exemple : 9Gi.

Consultez plus de détails sur l'installation de NFS Server Provisioner via Helm ici.

Configurer une demande de volume persistant

The default nfs Persistent Volume Claim is 8Gi. You can change it in the values.yaml dans la section persistence.storageClass and persistence.size Elle doit être inférieure à PERSISTENT_SIZE d'au moins 5 %. Il est recommandeé d'utiliser 8 Gi ou plus de stockage persistant pour chaque tranche de 100 utilisateurs actifs d'ONLYOFFICE Docs.

Important Le type PersistentVolume à utiliser pour le placement PVC doit prendre en charge le mode d'accès ReadWriteMany. De plus, le PersistentVolume doit avoir comme propriétaire l'utilisateur depuis lequel ONLYOFFICE Docs sera démarré. Par défaut, il s'agit de ds (101:101).

If you want to enable WOPI, please set the parameter wopi.enabled=true. Dans ce cas, le stockage persistant doit être connecté aux nœuds du cluster avec les attributs de mise en cache désactivés pour le répertoire monté pour les clients. Pour NFS Server Provisioner, cela peut être réalisé en ajoutant l'option noac au paramètre storageClass.mountOptions. Veuillez trouver plus d'informations ici.

3. Déployer RabbitMQ

Pour installer RabbitMQ dans votre cluster, exécutez la commandee suivante :

$ 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
Set the metrics.enabled=true pour activer l'exposition des métriques RabbitMQ à collecter par Prometheus.

Consultez plus de détails sur l'installation de RabbitMQ via Helm ici.

4. Déployer Redis

Pour installer Redis dans votre cluster, exécutez la commandee suivante :

$ 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
Set the metrics.enabled=true pour activer l'exposition des métriques Redis à collecter par Prometheus. Ajoutez également les paramètres suivants : metrics.image.repository=bitnamilegacy/redis-exporter and metrics.image.tag=1.76.0-debian-12-r0.

Consultez plus de détails sur l'installation de Redis via Helm ici.

5. Déployer une base de données

En tant que serveur de base de données, vous pouvez utiliser PostgreSQL, MySQL ou MariaDB.

Pour installer PostgreSQL dans votre cluster, exécutez la commandee suivante :

$ 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
Set the metrics.enabled=true pour activer l'exposition des métriques de base de données à collecter par Prometheus. Ajoutez également les paramètres suivants : metrics.image.repository=bitnamilegacy/postgres-exporter and metrics.image.tag=0.17.1-debian-12-r16.

Consultez plus de détails sur l'installation de PostgreSQL via Helm ici.

Pour installer MySQL dans votre cluster, exécutez la commandee suivante :

$ 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

Consultez plus de détails sur l'installation de MySQL via Helm ici.

Here PERSISTENT_SIZE est la taille du volume persistant de la base de données. Par exemple : 8Gi.

Il est recommandeé d'utiliser au moins 2 Gi de stockage persistant pour chaque tranche de 100 utilisateurs actifs d'ONLYOFFICE Docs.

Set the metrics.enabled=true pour activer l'exposition des métriques de base de données à collecter par Prometheus. Ajoutez également les paramètres suivants : metrics.image.repository=bitnamilegacy/mysqld-exporter and metrics.image.tag=0.17.2-debian-12-r16.
6. Deployer StatsD
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous ne souhaitez pas exécuter l'exportateur StatsD.
  1. Ajouter les dépôts 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. Installer Prometheus

    Pour installer Prometheus dans votre cluster, exécutez la commandee suivante :

    $ helm install prometheus -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/extraScrapeConfigs.yaml prometheus-community/prometheus \
      --set server.global.scrape_interval=1m

    Pour modifier l'intervalle de scrape, spécifiez le paramètre server.global.scrape_interval parameter.

    Consultez plus de détails sur l'installation de Prometheus via Helm ici.

  3. Installer StatsD

    Pour installer l'exportateur StatsD dans votre cluster, exécutez la commandee suivante :

    $ helm install statsd-exporter prometheus-community/prometheus-statsd-exporter \
      --set statsd.udpPort=8125 \
      --set statsd.tcpPort=8126 \
      --set statsd.eventFlushInterval=30000ms

    Consultez plus de détails sur l'installation de l'exportateur Prometheus StatsD via Helm ici.

    Pour autoriser les métriques StatsD dans ONLYOFFICE Docs, suivez cette étape.

7. Apporter des modifications au fichiers de configuration Node-config
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin de modifier les fichiers de configuration.
  1. Créer un ConfigMap contenant un fichier json

    Pour créer un ConfigMap à partir d'un fichier contenant la structure local.json vous devez exécuter la commandee suivante :

    $ kubectl create configmap local-config \
      --from-file=./local.json
    Tout nom peut être utilisé à la place de local-config.
  2. Spécifier les paramètres lors de l'installation d'ONLYOFFICE Docs

    Lors de l'installation d'ONLYOFFICE Docs, spécifiez les paramètres extraConf.configMap=local-config et extraConf.filename=local.json.

    Si vous devez ajouter un fichier de configuration après l'installation d'ONLYOFFICE Docs, vous devez exécuter step 7.1 puis exécuter la commandee
    helm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooks
    ou
    helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks
    si les paramètres sont spécifiés dans le fichier values.yaml fichier.
8. Ajouter des polices personnalisées
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin d'ajouter vos polices.

Pour ajouter des polices aux images, vous devez reconstruire les images. Référez-vous aux étapes pertinentes dans this ce manuel. Ensuite, spécifiez vos images lors de l'installation d'ONLYOFFICE Docs.

9. Ajouter des plugins
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin d'ajouter des plugins.

Pour ajouter des plugins aux images, vous devez reconstruire les images. Référez-vous aux étapes pertinentes dans this ce manuel. Ensuite, spécifiez vos images lors de l'installation d'ONLYOFFICE Docs.

10. Ajouter des dictionnaires personnalisés
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin d'ajouter vos dictionnaires.

Pour ajouter vos dictionnaires personnalisés aux images, vous devez reconstruire les images. Référez-vous aux étapes pertinentes dans this ce manuel. Ensuite, spécifiez vos images lors de l'installation d'ONLYOFFICE Docs.

11. Modifier les thèmes d'interface
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin de modifier les thèmes d'interface.
  1. Créer un ConfigMap contenant un fichier json

    Pour créer un ConfigMap avec un fichier json contenant les thèmes d'interface, vous devez exécuter la commandee suivante :

    $ kubectl create configmap custom-themes \
      --from-file=./custom-themes.json
    Au lieu de custom-themes and custom-themes.json vous pouvez utiliser d'autres noms.
  2. Spécifier les paramètres lors de l'installation d'ONLYOFFICE Docs

    Lors de l'installation d'ONLYOFFICE Docs, spécifiez les paramètres extraThemes.configMap=custom-themes et extraThemes.filename=custom-themes.json.

    If you need to add interface themes after the ONLYOFFICE Docs is already installed, you need to execute step 11.1 puis exécuter la commandee helm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooks ou helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks si les paramètres sont spécifiés dans le fichier values.yaml fichier.
12. Connecter un compartiment Amazon en tant que cache à ONLYOFFICE Helm Docs
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous ne souhaitez pas utiliser Amazon S3 comme stockage de cache.

Pour connecter un compartiment Amazon S3 comme cache, vous devez create un fichier de configuration ou modifier celui existant conformément à this guide and change the value of the parameter persistence.storageS3 to true.

Déployer ONLYOFFICE Docs

Il peut être nécessaire d'appliquer la politique SecurityContextConstraints lors de l'installation dans un cluster OpenShift, ce qui ajoute la permission d'exécuter des conteneurs depuis un utilisateur dont l'ID = 101.

Pour ce faire, exécutez les commandees suivantes :

$ 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

Vous pouvez également appliquer la politique nonroot-v2 SecurityContextConstraints (SCC) dans les commonAnnotations ou annotations pour toutes les ressources décrivant le podTemplate. Assurez-vous que l'utilisateur et le compte de service disposent des autorisations nécessaires pour utiliser cette SCC. Pour vérifier qui a la permission d'utiliser nonroot-v2, exécutez la commandee suivante :

oc adm policy who-can use scc nonroot-v2
helm install documentserver onlyoffice/docs --set commonAnnotations."openshift\.io/required-scc"="nonroot-v2"

Si nécessaire, définissez podSecurityContext.enabled et <resources>.containerSecurityContext.enabled à true.

1. Deployer la licence ONLYOFFICE Docs
  1. Créer un secret

    Si vous disposez d'une licence ONLYOFFICE Docs valide, créez un secret license à partir du fichier :

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

    Wici SECRET_LICENSE_NAME est le nom d'un futur secret contenant une licence.

    Le nom du fichier de licence source doit être 'license.lic' car ce nom sera utilisé comme champ dans le secret créé.
    Si l'installation est effectuée sans créer de secret avec le fichier de licence existant, un secret vide license sera automatiquement créé. Pour savoir comment mettre à jour un secret existant avec une licence, voir ici.
  2. Spécifier les paramètres lors de l'installation d'ONLYOFFICE Docs

    Lors de l'installation d'ONLYOFFICE Docs, spécifiez le paramètre license.existingSecret=[SECRET_LICENSE_NAME].

    $ helm install documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME]
    If you need to add license after the ONLYOFFICE Docs is already installed, you need to execute step 1.1 puis exécuter la commandee helm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooks ou helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooks si les paramètres sont spécifiés dans le fichier values.yaml fichier.
2. Deployer ONLYOFFICE Docs

Pour déployer ONLYOFFICE Docs avec le nom de version documentserver:

$ helm install documentserver onlyoffice/docs

La commandee déploie ONLYOFFICE Docs sur le cluster Kubernetes dans la configuration par défaut. La section Paramètres répertorie les paramètres pouvant être configurés lors de l'installation.

Lors de l'installation d'ONLYOFFICE Docs dans un cluster k8s privé derrière un proxy Web ou sans accès Internet, consultez les notes ci-dessous.
3. Désinstaller ONLYOFFICE Docs

Pour désinstaller/supprimer le déploiement documentserver :

$ helm delete documentserver

Executing the helm delete La commandee lance des hooks qui effectuent des actions préparatoires avant de supprimer complètement ONLYOFFICE Docs, notamment l'arrêt du serveur, le nettoyage des PVC utilisés et des tables de base de données. Le temps d'exécution des hooks par défaut est de 300 s. Le temps d'exécution peut être modifié avec --timeout [time], par exemple :

$ helm delete documentserver --timeout 25m
Lors de la suppression d'ONLYOFFICE Docs dans un cluster k8s privé derrière un proxy Web ou sans accès Internet, consultez les notes ci-dessous.

Si vous souhaitez supprimer ONLYOFFICE Docs sans actions préparatoires, exécutez la commandee suivante :

$ helm delete documentserver --no-hooks

The helm delete supprime tous les composants Kubernetes associés au chart et supprime la version.

4. Paramèters

Spécifiez chaque paramètre en utilisant l'argument --set key=value[,key=value] pour helm install. Par exemple :

$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com

Cette commandee expose ONLYOFFICE Docs via HTTPS.

Vous pouvez également fournir un fichier YAML spécifiant les valeurs des paramètres lors de l'installation du chart :

$ helm install documentserver -f values.yaml onlyoffice/docs
Vous pouvez utiliser le fichier values.yaml.
Afficher tous les paramètres
connections.dbTypeLe type de base de données. Les valeurs possibles sont postgres, mariadb, mysql, oracle, mssql or damengpostgres
connections.dbHostL'adresse IP ou le nom de l'hôte de la base de donnéespostgresql
connections.dbUserUtilisateur de la base de donnéespostgres
connections.dbPortNuméro de port du serveur de base de données5432
connections.dbNameNom de la base de données à laquelle l'application sera connectéepostgres
connections.dbPasswordMot de passe de l'utilisateur de la base de données. S'il est défini, il a priorité sur connections.dbExistingSecret""
connections.dbSecretKeyNameLe nom de la clé contenant le mot de passe de l'utilisateur de la base de donnéespostgres-password
connections.dbExistingSecretNom du secret existant à utiliser pour les mots de passe de la base de données. Doit contenir la clé spécifiée dans connections.dbSecretKeyNamepostgresql
connections.redisConnectorNameDéfinit le connecteur à utiliser pour se connecter à Redis. Si vous devez vous connecter à Redis Sentinel, définissez la valeur ioredisredis
connections.redistHostL'adresse IP ou le nom de l'hôte Redis. Non utilisé si les valeurs sont définies dans connections.redisClusterNodes and connections.redisSentinelNodesredis-master
connections.redisPortLe numéro de port du serveur Redis. Non utilisé si les valeurs sont définies dans connections.redisClusterNodes and connections.redisSentinelNodes6379
connections.redisUserThe Redis user name. La valeur de ce paramètre remplace la valeur définie dans l'objet options de local.json if you add custom configuration filedefault
connections.redisDBNumNuméro de la base de données logique Redis à selected. La valeur de ce paramètre remplace la valeur définie dans l'objet options de local.json if you add custom configuration file0
connections.redisClusterNodesListe des nœuds du cluster Redis. Il n'est pas nécessaire de spécifier chaque nœud du cluster, 3 suffisent. Vous pouvez spécifier plusieurs valeurs. Il doit être spécifié au format host:port format[]
connections.redisPasswordLe mot de passe défini pour le compte Redis. S'il est défini, il a priorité sur connections.redisExistingSecret. La valeur de ce paramètre remplace la valeur définie dans l'objet options de local.json if you add custom configuration file""
connections.redisSecretKeyNameLe nom de la clé contenant le mot de passe de l'utilisateur Redisredis-password
connections.redisExistingSecretNom du secret existant à utiliser pour les mots de passe Redis. Doit contenir la clé spécifiée dans connections.redisSecretKeyName. The password from this secret overrides password set in the options object in local.jsonredis
connections.redisNoPassDéfinit si l'authentification Redis sans mot de passe doit être utilisée. Si la connexion au serveur Redis ne nécessite pas de mot de passe, définissez la valeur à truefalse
connections.redisSentinelNodesListe des nœuds Redis Sentinel. Il n'est pas nécessaire de spécifier chaque nœud, 3 suffisent. Vous pouvez spécifier plusieurs valeurs. Il doit être spécifié au format host:port format. Used if connections.redisConnectorName is set to ioredis[]
connections.redisSentinelGroupNameNom d'un groupe d'instances Redis composé d'un maître et d'un ou plusieurs esclaves. Utilisé si connections.redisConnectorName is set to ioredismymaster
connections.redisSentinelExistingSecretNom du secret existant à utiliser pour le mot de passe Redis Sentinel. Doit contenir la clé spécifiée dans connections.redisSentinelSecretKeyName. Le mot de passe de ce secret remplace la valeur du mot de passe défini dans l'objet iooptions de local.json""
connections.redisSentinelSecretKeyNameLe nom de la clé contenant le mot de passe de l'utilisateur Redis Sentinel. Si vous définissez un mot de passe dans redisSentinelPassword, un secret sera automatiquement créé dont le nom de clé sera la valeur définie icisentinel-password
connections.redisSentinelPasswordLe mot de passe défini pour le compte Redis Sentinel. S'il est défini, il a priorité sur connections.redisSentinelExistingSecret. La valeur de ce paramètre remplace la valeur définie dans l'objet iooptions de local.json""
connections.redisSentinelNoPassDéfinit si l'authentification Redis Sentinel sans mot de passe doit être utilisée. Si la connexion à Redis Sentinel ne nécessite pas de mot de passe, définissez la valeur à truetrue
connections.amqpTypeDéfinit le type de serveur AMQP. Les valeurs possibles sont rabbitmq or activemqrabbitmq
connections.amqpHostL'adresse IP ou le nom du serveur AMQPrabbitmq
connections.amqpPortLe port de connexion au serveur AMQP5672
connections.amqpVhostL'hôte virtuel pour la connexion au serveur AMQP/
connections.amqpUserLe nom d'utilisateur du compte serveur AMQPuser
connections.amqpProtoLe protocole de connexion au serveur AMQPamqp
connections.amqpPasswordMot de passe de l'utilisateur du serveur AMQP. S'il est défini, il a priorité sur connections.amqpExistingSecret""
connections.amqpSecretKeyNameLe nom de la clé contenant le mot de passe de l'utilisateur du serveur AMQPrabbitmq-password
connections.amqpExistingSecretLe nom du secret existant à utiliser pour les mots de passe du serveur AMQP. Doit contenir la clé spécifiée dans connections.amqpSecretKeyNamerabbitmq
persistence.existingClaimNom d'un PVC existant à utiliser. Si non spécifié, un PVC nommé "ds-files" sera créé""
persistence.annotationsDéfinit les annotations qui seront ajoutées en supplément au PVC "ds-files". S'il est défini, il a priorité sur commonAnnotations{}
persistence.storageClassClasse de stockage PVC pour les données ONLYOFFICE Docs et les volumes de configuration d'exécutionnfs
persistence.sizeDemande de stockage PVC pour le volume ONLYOFFICE Docs8Gi
persistence.storageS3Définit si S3 sera utilisé comme stockage de cache. Définir à true si vous utilisez S3 comme stockage de cachefalse
persistence.runtimeConfig.enabledDéfinit si le PVC doit être utilisé et s'il doit être monté dans les conteneurstrue
persistence.runtimeConfig.existingClaimLe nom du PVC existant utilisé pour stocker la configuration d'exécution. Si non spécifié, un PVC nommé "ds-runtime-config" sera créé""
persistence.runtimeConfig.annotationsDéfinit les annotations qui seront ajoutées en supplément au PVC "ds-runtime-config". S'il est défini, il a priorité sur commonAnnotations{}
persistence.runtimeConfig.sizeDemande de stockage PVC pour le volume de configuration d'exécution1Gi
commonNameSuffixLe nom qui sera ajouté comme suffixe au nom de toutes les ressources créées""
namespaceOverrideLe nom du namespace dans lequel ONLYOFFICE Docs sera déployé. S'il n'est pas défini, le nom sera pris depuis .Release.Namespace""
commonLabelsDéfinit les étiquettes qui seront ajoutées en supplément à toutes les ressources déployées. Vous pouvez également utiliser tpl comme valeur pour la clé{}
commonAnnotationsDéfinit les annotations qui seront ajoutées en supplément à toutes les ressources déployées. Vous pouvez également utiliser tpl comme valeur pour la clé. Some resources may override the values specified ici with their own{}
serviceAccount.createActiver la création du ServiceAccountfalse
serviceAccount.nameNom du ServiceAccount à utiliser. S'il n'est pas défini et que serviceAccount.create est true, le nom sera pris depuis .Release.Name ; si serviceAccount.create est false, le nom sera "default"""
serviceAccount.annotationsMap d'annotations à ajouter au ServiceAccount. S'il est défini, il a priorité sur commonAnnotations{}
serviceAccount.automountServiceAccountTokenActiver le montage automatique du ServiceAccountToken sur le serviceAccount créé. Utilisé uniquement si serviceAccount.create is truetrue
license.existingSecretNom du secret existant contenant la licence. Doit contenir la clé license.lic""
license.existingClaimNom du PVC existant dans lequel la licence est stockée. Doit contenir le fichier license.lic""
log.levelDéfinit le type et la gravité d'un événement journalisé. Les valeurs possibles sont ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFFWARN
log.typeDéfinit le format d'un événement journalisé. Les valeurs possibles sont pattern, json, basic, coloured, messagePassThrough, dummypattern
log.patternDefines the log pattern if log.type=pattern[%d] [%p] %c - %.10000m
wopi.enabledDéfinit si WOPI est activé. Si ce paramètre est activé, les attributs de mise en cache pour le répertoire monté (PVC) doivent être désactivés pour le clientfalse
wopi.clés.generationDéfinit si des clés API doivent être générées. Utilisé si vous définissez wopi.enabled to truetrue
wopi.clés.newKeysExistingSecretNom du secret existant contenant les clés WOPI. Doit contenir les clés WOPI_PRIVATE_KEY, WOPI_PUBLIC_KEY, WOPI_MODULUS_KEY and WOPI_EXPONENT_KEY. Si non défini, de nouvelles clés seront générées et un secret sera créé à partir d'elles""
wopi.clés.oldKeysExistingSecretNom du secret existant contenant les anciennes clés WOPI. Doit contenir les clés WOPI_PRIVATE_KEY_OLD, WOPI_PUBLIC_KEY_OLD, WOPI_MODULUS_KEY_OLD and WOPI_EXPONENT_KEY_OLD. Si non défini, de nouvelles clés seront générées et un secret sera créé à partir d'elles""
metrics.enabledSpécifie si StatsD est activé pour ONLYOFFICE Docsfalse
metrics.hostDéfinit l'hôte d'écoute StatsDstatsd-exporter-prometheus-statsd-exporter
metrics.portDéfinit le port d'écoute StatsD8125
metrics.prefixDéfinit le préfixe des métriques StatsD pour les services backendds.
extraConf.configMapLe nom du ConfigMap contenant le fichier json qui remplace les valeurs par défaut""
extraConf.filenameLe nom du fichier json contenant les valeurs personnalisées. Doit être identique à clé nom dans extraConf.ConfigMaplocal.json
extraThemes.configMapLe nom du ConfigMap contenant le fichier json contenant les thèmes d'interface""
extraThemes.filenameLe nom du fichier json contenant les thèmes d'interface personnalisés. Doit être identique à clé nom dans extraThemes.configMapcustom-themes.json
podAntiAffinity.typeTypes d'anti-affinité de Pod. Valeurs autorisées : soft ou hardsoft
podAntiAffinity.topologyKeyClé d'étiquette de nœud à correspondrekubernetes.io/hostname
podAntiAffinity.weightPriorité lors de la sélection du nœud. Elle est comprise entre 1 et 100100
nodeSelectorÉtiquettes de nœuds pour l'attribution des pods. Chaque service ONLYOFFICE Docs peut remplacer les valeurs spécifiées ici par les siennes{}
tolerationsTolérances pour l'attribution des pods. Chaque service ONLYOFFICE Docs peut remplacer les valeurs spécifiées ici par les siennes[]
imagePullSecretsNom du secret du registre d'images de conteneur""
requestFilteringAgent.allowPrivateIPAddressDéfinit si la connexion à une adresse IP privée est autorisée ou non. requestFilteringAgent les paramètres sont utilisés si JWT est désactivé : jwt.enabled=falsefalse
requestFilteringAgent.allowMetaIPAddressDéfinit si la connexion à une adresse méta est autorisée ou nonfalse
requestFilteringAgent.allowIPAddressListDéfinit la liste des adresses IP autorisées à se connecter. Ces valeurs sont préférées à requestFilteringAgent.denyIPAddressList[]
requestFilteringAgent.denyIPAddressListDéfinit la liste des adresses IP autorisées à se connecter[]
docservice.annotationsDéfinit les annotations qui seront ajoutées en supplément au déploiement Docservice. S'il est défini, il a priorité sur commonAnnotations{}
docservice.podAnnotationsMap d'annotations à ajouter aux pods du déploiement Docservicerollme: "{{ randAlphaNum 5 | quote }}"
docservice.replicasQuantité de réplicas Docservice. Si le paramètre docservice.autoscaling.enabled est activé, il est ignoré2
docservice.updateStrategy.typeType de stratégie de mise à jour du déploiement DocserviceRecreate
docservice.customPodAntiAffinityInterdiction de la planification des pods Docservice par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
docservice.podAffinityDéfinit les règles d\'affinité de Pod pour la planification des pods Docservice par nœuds par rapport aux autres pods{}
docservice.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification des pods Docservice par nœuds{}
docservice.nodeSelectorÉtiquettes de nœuds pour l'attribution des pods Docservice. S'il est défini, il a priorité sur nodeSelector{}
docservice.tolerationsTolérances pour l'attribution des pods Docservice. S'il est défini, il a priorité sur tolerations[]
docservice.terminationGracePeriodSecondsLe délai d'arrêt progressif pendant lequel le pod Docservice aura le statut Terminating status30
docservice.hostAliasesAdds additional entries to the hosts dans la section Docservice and Proxy containers[]
docservice.initContainersDéfinit les conteneurs qui s'exécutent avant les conteneurs docservice et proxy dans le pod de déploiement Docservice. Par exemple, un conteneur qui change le propriétaire du PersistentVolume[]
docservice.image.repositoryDépôt d'images de conteneur Docservice*onlyoffice/docs-docservice-de
docservice.image.tagTag d'image de conteneur Docservice9.0.4-1
docservice.image.pullPolicyPolitique de téléchargement d'image de conteneur DocserviceIfNotPresent
docservice.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Docservicefalse
docservice.lifecycleHooksDefines the Docservice container lifecycle hooks. Il est utilisé pour déclencher des événements à des moments spécifiques du cycle de vie d'un conteneur{}
docservice.resources.requestsLes ressources demandées pour le conteneur Docservice{}
docservice.resources.limitsLes limites de ressources pour le conteneur Docservice{}
docservice.extraEnvVarsUn tableau avec des variables d'environnement supplémentaires pour le conteneur Docservice[]
docservice.extraVolumesUn tableau avec des volumes supplémentaires pour le pod Docservice[]
docservice.extraVolumeMountsUn tableau avec des montages de volumes supplémentaires pour le conteneur Docservice[]
docservice.readinessProbe.enabledActiver readinessProbe pour le conteneur Docservicetrue
docservice.livenessProbe.enabledActiver livenessProbe pour le conteneur Docservicetrue
docservice.startupProbe.enabledActiver startupProbe pour le conteneur Docservicetrue
docservice.autoscaling.enabledActiver la mise à l'échelle automatique du déploiement Docservicefalse
docservice.autoscaling.annotationsDéfinit les annotations qui seront ajoutées en supplément au HPA du déploiement Docservice. S'il est défini, il a priorité sur commonAnnotations{}
docservice.autoscaling.minReplicasNombre minimum de réplicas pour la mise à l'échelle automatique du déploiement Docservice2
docservice.autoscaling.maxReplicasNombre maximum de réplicas pour la mise à l'échelle automatique du déploiement Docservice4
docservice.autoscaling.targetCPU.enabledActiver la mise à l'échelle automatique du déploiement Docservice par pourcentage d'utilisation CPUtrue
docservice.autoscaling.targetCPU.utilizationPercentagePourcentage CPU cible pour la mise à l'échelle automatique du déploiement Docservice70
docservice.autoscaling.targetMemory.enabledActiver la mise à l'échelle automatique du déploiement Docservice par pourcentage d'utilisation mémoirefalse
docservice.autoscaling.targetMemory.utilizationPercentagePourcentage mémoire cible pour la mise à l'échelle automatique du déploiement Docservice70
docservice.autoscaling.customMetricsTypeMétriques de mise à l'échelle automatique personnalisées, supplémentaires ou externes pour le déploiement Docservice[]
docservice.autoscaling.behaviorConfiguration des politiques de comportement de mise à l'échelle du déploiement Docservice pour les champs scaleDown and scaleUp champs{}
proxy.accessLogDefines the nginx config access_log format directiveoff
proxy.logFormatDefines the format of log entries using text and various variables'$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'
proxy.gzipProxiedDéfinit la directive de configuration nginx gzip_proxiedoff
proxy.clientMaxBodySizeDéfinit la directive de configuration nginx client_max_body_size100m
proxy.workerConnectionsDéfinit la directive de configuration nginx worker_connections4096
proxy.secureLinkSecretDéfinit le secret pour la directive de configuration nginx secure_link_md5. Si la valeur est vide, une valeur aléatoire sera générée pour les mises à jour ultérieures. Si une valeur est définie, elle sera utilisée""
proxy.secureLinkExistingSecretNom du secret existant à utiliser pour secure_link. S'il est défini, il a priorité sur proxy.secureLinkSecret""
proxy.infoAllowedIPDéfinit les adresses IP pour accéder à la page d'informations[]
proxy.infoAllowedUserDéfinit le nom d'utilisateur pour accéder à la page d'informations. Si non défini, l' Basic Authentication ne sera pas appliquée pour accéder à la page d'informations. Pour plus de détails, voir ici""
proxy.infoAllowedPasswordDéfinit le mot de passe utilisateur pour accéder à la page d'informations. Utilisé si proxy.infoAllowedUser est défini. Si la valeur est vide, une valeur aléatoire sera générée pour les mises à jour ultérieures. Si une valeur est définie, elle sera utilisée""
proxy.infoAllowedSecretKeyNameLe nom de la clé contenant le mot de passe de l'utilisateur d'authentification info. Utilisé si proxy.infoAllowedUser is setinfo-auth-password
proxy.infoAllowedExistingSecretNom du secret existant à utiliser pour le mot de passe d'authentification info. Utilisé si proxy.infoAllowedUser est défini. Doit contenir la clé spécifiée dans proxy.infoAllowedSecretKeyName. S'il est défini, il a priorité sur proxy.infoAllowedPassword""
proxy.welcomePage.enabledDéfinit si la page d'accueil sera affichéetrue
proxy.image.repositoryDépôt d'images de conteneur du proxy Docservice*onlyoffice/docs-proxy-de
proxy.image.tagTag d'image de conteneur du proxy Docservice9.0.4-1
proxy.image.pullPolicyPolitique de téléchargement d'image du proxy DocserviceIfNotPresent
proxy.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Proxyfalse
proxy.lifecycleHooksDefines the Proxy container lifecycle hooks. Il est utilisé pour déclencher des événements à des moments spécifiques du cycle de vie d'un conteneur{}
proxy.resources.requestsLes ressources demandées pour le conteneur Proxy{}
proxy.resources.limitsLes limites de ressources pour le conteneur Proxy{}
proxy.extraEnvVarsUn tableau avec des variables d'environnement supplémentaires pour le conteneur Proxy[]
proxy.extraVolumeMountsUn tableau avec des montages de volumes supplémentaires pour le conteneur Proxy[]
proxy.readinessProbe.enabledActiver readinessProbe pour le conteneur Proxytrue
proxy.livenessProbe.enabledActiver livenessProbe pour le conteneur Proxytrue
proxy.startupProbe.enabledActiver startupProbe pour le conteneur Proxytrue
converter.annotationsDéfinit les annotations qui seront ajoutées en supplément au déploiement Converter. S'il est défini, il a priorité sur commonAnnotations{}
converter.podAnnotationsMap d'annotations à ajouter aux pods du déploiement Converterrollme: "{{ randAlphaNum 5 | quote }}"
converter.replicasQuantité de réplicas Converter. Si le paramètre converter.autoscaling.enabled est activé, il est ignoré2
converter.updateStrategy.typeType de stratégie de mise à jour du déploiement ConverterRecreate
converter.customPodAntiAffinityInterdiction de la planification des pods Converter par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
converter.podAffinityDéfinit les règles d\'affinité de Pod pour la planification des pods Converter par nœuds par rapport aux autres pods{}
converter.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification des pods Converter par nœuds{}
converter.nodeSelectorÉtiquettes de nœuds pour l'attribution des pods Converter. S'il est défini, il a priorité sur nodeSelector{}
converter.tolerationsTolérances pour l'attribution des pods Converter. S'il est défini, il a priorité sur tolerations[]
converter.terminationGracePeriodSecondsLe délai d'arrêt progressif pendant lequel le pod Converter aura le statut Terminating status30
converter.hostAliasesAdds additional entries to the hosts dans la section Converter container[]
converter.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Converter dans le pod de déploiement Converter. Par exemple, un conteneur qui change le propriétaire du PersistentVolume[]
converter.image.repositoryDépôt d'images de conteneur Converter*onlyoffice/docs-converter-de
converter.image.tagTag d'image de conteneur Converter9.0.4-1
converter.image.pullPolicyPolitique de téléchargement d'image de conteneur ConverterIfNotPresent
converter.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Converterfalse
converter.lifecycleHooksDéfinit les hooks du cycle de vie du conteneur Converter. Il est utilisé pour déclencher des événements à des moments spécifiques du cycle de vie d'un conteneur{}
converter.resources.requestsLes ressources demandées pour le conteneur Converter{}
converter.resources.limitsLes limites de ressources pour le conteneur Converter{}
converter.extraEnvVarsUn tableau avec des variables d'environnement supplémentaires pour le conteneur Converter[]
converter.extraVolumesUn tableau avec des volumes supplémentaires pour le pod Converter[]
converter.extraVolumeMountsUn tableau avec des montages de volumes supplémentaires pour le conteneur Converter[]
converter.autoscaling.enabledActiver la mise à l'échelle automatique du déploiement Converterfalse
converter.autoscaling.annotationsDéfinit les annotations qui seront ajoutées en supplément au HPA du déploiement Converter. S'il est défini, il a priorité sur commonAnnotations{}
converter.autoscaling.minReplicasNombre minimum de réplicas pour la mise à l'échelle automatique du déploiement Converter2
converter.autoscaling.maxReplicasNombre maximum de réplicas pour la mise à l'échelle automatique du déploiement Converter16
converter.autoscaling.targetCPU.enabledActiver la mise à l'échelle automatique du déploiement Converter par pourcentage d'utilisation CPUtrue
converter.autoscaling.targetCPU.utilizationPercentagePourcentage CPU cible pour la mise à l'échelle automatique du déploiement Converter70
converter.autoscaling.targetMemory.enabledActiver la mise à l'échelle automatique du déploiement Converter par pourcentage d'utilisation mémoirefalse
converter.autoscaling.targetMemory.utilizationPercentagePourcentage mémoire cible pour la mise à l'échelle automatique du déploiement Converter70
converter.autoscaling.customMetricsTypeMétriques de mise à l'échelle automatique personnalisées, supplémentaires ou externes pour le déploiement Converter[]
converter.autoscaling.behaviorConfiguration des politiques de comportement de mise à l'échelle du déploiement Converter pour les champs scaleDown and scaleUp champs{}
example.enabledActive l'installation de l'exemplefalse
example.annotationsDéfinit les annotations qui seront ajoutées en supplément au StatefulSet Example. S'il est défini, il a priorité sur commonAnnotations{}
example.podAnnotationsMap d'annotations à ajouter au pod exemplerollme: "{{ randAlphaNum 5 | quote }}"
example.updateStrategy.typeType de stratégie de mise à jour du StatefulSet ExampleRollingUpdate
example.customPodAntiAffinityInterdiction de la planification du pod Example par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
example.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod Example par nœuds par rapport aux autres pods{}
example.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod Example par nœuds{}
example.nodeSelectorÉtiquettes de nœuds pour l'attribution des pods Example. S'il est défini, il a priorité sur nodeSelector{}
example.tolerationsTolérances pour l'attribution des pods Example. S'il est défini, il a priorité sur tolerations[]
example.terminationGracePeriodSecondsLe délai d'arrêt progressif pendant lequel le pod Example aura le statut Terminating status30
example.hostAliasesAjoute des entrées supplémentaires dans le fichier hosts du conteneur Example[]
example.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Example dans le pod[]
example.image.repositoryNom d'image de conteneur Exampleonlyoffice/docs-example
example.image.tagTag d'image de conteneur Example9.0.4-1
example.image.pullPolicyPolitique de téléchargement d'image de conteneur ExampleIfNotPresent
example.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Examplefalse
example.dsUrlAdresse externe d'ONLYOFFICE Docs. Elle ne doit être modifiée que s'il est nécessaire de vérifier le fonctionnement de la conversion dans l'exemple (ex. : http://<documentserver-address>/)/
example.resources.requestsLes ressources demandées pour le conteneur Example{}
example.resources.limitsLes limites de ressources pour le conteneur Example{}
example.extraEnvVarsUn tableau avec des variables d'environnement supplémentaires pour le conteneur Example[]
example.extraConf.configMapLe nom du ConfigMap contenant le fichier json qui remplace les valeurs par défaut. See an example of creation ici""
example.extraConf.filenameLe nom du fichier json contenant les valeurs personnalisées. Doit être identique à clé nom dans example.extraConf.ConfigMaplocal.json
example.extraVolumesUn tableau avec des volumes supplémentaires pour le pod Example[]
example.extraVolumeMountsUn tableau avec des montages de volumes supplémentaires pour le conteneur Example[]
jwt.enabledSpécifie l'activation de la validation du jeton JSON Web par ONLYOFFICE Docs. Commun aux requêtes entrantes et sortantestrue
jwt.secretDéfinit la clé secrète pour valider le jeton JSON Web dans la requête à ONLYOFFICE Docs. Commune aux requêtes entrantes et sortantes. Si la valeur est vide, une valeur aléatoire sera générée pour les mises à jour ultérieures. Si une valeur est définie, elle sera utilisée""
jwt.headerDéfinit l'en-tête HTTP qui sera utilisé pour envoyer le jeton JSON Web. Commun aux requêtes entrantes et sortantesAuthorization
jwt.inBodySpécifie l'activation de la validation du jeton dans le corps de la requête à ONLYOFFICE Docsfalse
jwt.inboxParamètres de validation du jeton JSON Web pour les requêtes entrantes uniquement. Si non spécifié, les valeurs des paramètres communs jwt sont utilisés{}
jwt.outboxParamètres de validation du jeton JSON Web pour les requêtes sortantes uniquement. Si non spécifié, les valeurs des paramètres communs jwt sont utilisés{}
jwt.existingSecretLe nom d'un secret existant contenant des variables pour jwt. Si non spécifié, un secret nommé jwt sera créé""
service.existingLe nom d'un service existant pour ONLYOFFICE Docs. Si non spécifié, un service nommé documentserver sera créé""
service.annotationsMap d'annotations à ajouter au service ONLYOFFICE Docs. S'il est défini, il a priorité sur commonAnnotations{}
service.typeType de service ONLYOFFICE DocsClusterIP
service.portPort de service ONLYOFFICE Docs8888
service.sessionAffinityAffinité de session pour le service ONLYOFFICE Docs. S'il n'est pas défini, None sera défini comme valeur par défaut""
service.sessionAffinityConfigConfiguration de l'affinité de session du service ONLYOFFICE Docs. Utilisé si service.sessionAffinity est défini{}
ingress.enabledActiver la création d'un ingress pour ONLYOFFICE Docsfalse
ingress.annotationsMap d'annotations à ajouter à l'Ingress. S'il est défini, il a priorité sur commonAnnotationsnginx.ingress.kubernetes.io/proxy-body-size: 100m
ingress.ingressClassNameUtilisé pour référencer l'IngressClass à utiliser pour implémenter cet Ingressnginx
ingress.controllerNameUtilisé pour distinguer les contrôleurs avec le même IngressClassName mais de différents fournisseursingress-nginx
ingress.hostNom d'hôte Ingress pour l'ingress ONLYOFFICE Docs""
ingress.tenantsNoms d'hôte Ingress si vous devez utiliser plusieurs noms. Par exemple, pour la multilocation. S'il est défini, il a priorité sur ingress.host. Si ingress.ssl.enabled est défini à true, il est supposé que le certificat pour tous les domaines spécifiés est conservé dans le secret ingress.ssl.secret[]
ingress.ssl.enabledActiver SSL pour l'ingress ONLYOFFICE Docsfalse
ingress.ssl.secretNom du secret SSL à monter dans l'Ingresstls
ingress.pathSpécifie le chemin où ONLYOFFICE Docs sera disponible/
ingress.pathTypeSpécifie le type de chemin pour la ressource ingress ONLYOFFICE Docs. Les valeurs autorisées sont Exact, Prefix or ImplementationSpecificImplementationSpecific
ingress.letsencrypt.enabledActivation de la création de demande de certificat dans Let's Encrypt. Utilisé si ingress.enabled is set to truefalse
ingress.letsencrypt.clusterIssuerNameNom du ClusterIssuerletsencrypt-prod
ingress.letsencrypt.emailVotre adresse e-mail utilisée pour l'enregistrement ACME""
ingress.letsencrypt.serverL'adresse du serveur Let's Encrypt auquel les demandes de certificats seront envoyéeshttps://acme-v02.api.letsencrypt.org/directory
ingress.letsencrypt.secretNameNom d'un secret utilisé pour stocker la clé privée du compte ACMEletsencrypt-prod-private-clé
openshift.route.enabledActiver la création d'une Route OpenShift pour ONLYOFFICE Docsfalse
openshift.route.annotationsMap d'annotations à ajouter à la Route OpenShift. S'il est défini, il a priorité sur commonAnnotations{}
openshift.route.hostNom d'hôte de la Route OpenShift pour la route ONLYOFFICE Docs""
openshift.route.pathSpécifie le chemin où ONLYOFFICE Docs sera disponible/
openshift.route.wildcardPolicyLa politique de gestion des sous-domaines génériques dans la Route OpenShift. Les valeurs autorisées sont None, SubdomainNone
grafana.enabledActiver l'installation des ressources requises pour la visualisation des métriques dans Grafanafalse
grafana.namespaceLe nom du namespace dans lequel les composants RBAC et les ressources Grafana seront déployés. S'il n'est pas défini, le nom sera pris depuis namespaceOverride si défini, ou .Release.Namespace""
grafana.ingress.enabledActiver la création d'un ingress pour Grafana. Utilisé si vous définissez grafana.enabled to true et souhaitez utiliser Nginx Ingress pour accéder à Grafanafalse
grafana.ingress.annotationsMap d'annotations à ajouter à l'Ingress Grafana. S'il est défini, il a priorité sur commonAnnotationsnginx.ingress.kubernetes.io/proxy-body-size: 100m
grafana.dashboard.enabledActiver l'installation de tableaux de bord Grafana prêts à l'emploi. Utilisé si vous définissez grafana.enabled to truefalse
podSecurityContext.enabledActiver le contexte de sécurité pour les podsfalse
podSecurityContext.converter.fsGroupDéfinit l'ID de groupe auquel le propriétaire et les permissions de tous les fichiers dans les volumes sont modifiés lors du montage dans le pod Converter101
podSecurityContext.docservice.fsGroupDéfinit l'ID de groupe auquel le propriétaire et les permissions de tous les fichiers dans les volumes sont modifiés lors du montage dans le pod Docservice101
podSecurityContext.jobs.fsGroupDéfinit l'ID de groupe auquel le propriétaire et les permissions de tous les fichiers dans les volumes sont modifiés lors du montage dans les pods créés par des Jobs101
podSecurityContext.example.fsGroupDéfinit l'ID de groupe auquel le propriétaire et les permissions de tous les fichiers dans les volumes sont modifiés lors du montage dans le pod Example1001
podSecurityContext.tests.fsGroupDéfinit l'ID de groupe auquel le propriétaire et les permissions de tous les fichiers dans les volumes sont modifiés lors du montage dans le pod Test101
webProxy.enabledSpécifie si un proxy Web est utilisé dans votre réseau pour accéder aux pods du cluster k8s vers Internetfalse
webProxy.httpAdresse du proxy Web pour le trafic HTTPhttp://proxy.example.com
webProxy.httpsAdresse du proxy Web pour le trafic HTTPShttps://proxy.example.com
webProxy.noProxyPatterns for IP addresses or k8s services name or domain names that shouldnt use the Web Proxylocalhost,127.0.0.1,docservice
privateClusterSpécifie si le cluster k8s est utilisé dans un réseau privé sans accès Internetfalse
upgrade.job.enabledActiver l'exécution du job pré-mise à jour avant la mise à jour d'ONLYOFFICE Docstrue
upgrade.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job pré-mise à jour. S'il est défini, il a priorité sur commonAnnotations{}
upgrade.job.podAnnotationsMap d'annotations à ajouter au pod pré-mise à jour{}
upgrade.job.customPodAntiAffinityInterdiction de la planification du pod du job pré-mise à jour par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
upgrade.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job pré-mise à jour par nœuds par rapport aux autres pods{}
upgrade.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job pré-mise à jour par nœuds{}
upgrade.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job pré-mise à jour. S'il est défini, il a priorité sur nodeSelector{}
upgrade.job.tolerationsTolérances pour l'attribution du pod du job pré-mise à jour. S'il est défini, il a priorité sur tolerations[]
upgrade.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur pré-mise à jour dans le pod[]
upgrade.job.image.repositoryDépôt d'images du job de mise à jouronlyoffice/docs-utils
upgrade.job.image.tagTag d'image du job de mise à jour9.0.4-1
upgrade.job.image.pullPolicyPolitique de téléchargement d'image du job de mise à jourIfNotPresent
upgrade.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur pré-mise à jourfalse
upgrade.job.resources.requestsLes ressources demandées pour le conteneur du job pré-mise à jour{}
upgrade.job.resources.limitsLes limites de ressources pour le conteneur du job pré-mise à jour{}
upgrade.existingConfigmap.tblRemove.nameLe nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de donnéesremove-db-scripts
upgrade.existingConfigmap.tblRemove.cléNameLe nom du fichier SQL contenant les instructions pour supprimer les tables de la base de données. Doit être identique à clé nom dans upgrade.existingConfigmap.tblRemove.nameremovetbl.sql
upgrade.existingConfigmap.tblCreate.nameLe nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de donnéesinit-db-scripts
upgrade.existingConfigmap.tblCreate.cléNameLe nom du fichier SQL contenant les instructions pour créer les tables de la base de données. Doit être identique à clé nom dans upgrade.existingConfigmap.tblCreate.namecreatedb.sql
upgrade.existingConfigmap.dsStopLe nom du ConfigMap existant contenant le script de mise à jour d'ONLYOFFICE Docs. S'il est défini, les quatre paramètres précédents sont ignorés. Doit contenir une clé stop.sh""
rollback.job.enabledActiver l'exécution du job pré-rollback avant le rollback d'ONLYOFFICE Docstrue
rollback.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job pré-rollback. S'il est défini, il a priorité sur commonAnnotations{}
rollback.job.podAnnotationsMap d'annotations à ajouter au pod pré-rollback{}
rollback.job.customPodAntiAffinityInterdiction de la planification du pod du job pré-rollback par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
rollback.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job pré-rollback par nœuds par rapport aux autres pods{}
rollback.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job pré-rollback par nœuds{}
rollback.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job pré-rollback. S'il est défini, il a priorité sur nodeSelector{}
rollback.job.tolerationsTolérances pour l'attribution du pod du job pré-rollback. S'il est défini, il a priorité sur tolerations[]
rollback.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur pré-rollback dans le pod[]
rollback.job.image.repositoryDépôt d'images du job de rollbackonlyoffice/docs-utils
rollback.job.image.tagTag d'image du job de rollback9.0.4-1
rollback.job.image.pullPolicyPolitique de téléchargement d'image du job de rollbackIfNotPresent
rollback.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur pré-rollbackfalse
rollback.job.resources.requestsLes ressources demandées pour le conteneur du job de rollback{}
rollback.job.resources.limitsLes limites de ressources pour le conteneur du job de rollback{}
rollback.existingConfigmap.tblRemove.nameLe nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de donnéesremove-db-scripts
rollback.existingConfigmap.tblRemove.cléNameLe nom du fichier SQL contenant les instructions pour supprimer les tables de la base de données. Doit être identique à clé nom dans rollback.existingConfigmap.tblRemove.nameremovetbl.sql
rollback.existingConfigmap.tblCreate.nameLe nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de donnéesinit-db-scripts
rollback.existingConfigmap.tblCreate.cléNameLe nom du fichier SQL contenant les instructions pour créer les tables de la base de données. Doit être identique à clé nom dans rollback.existingConfigmap.tblCreate.namecreatedb.sql
rollback.existingConfigmap.dsStopLe nom du ConfigMap existant contenant le script de rollback d'ONLYOFFICE Docs. S'il est défini, les quatre paramètres précédents sont ignorés. Doit contenir une clé stop.sh""
delete.job.enabledActiver l'exécution du job pré-suppression avant la suppression d'ONLYOFFICE Docstrue
delete.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job pré-suppression. S'il est défini, il a priorité sur commonAnnotations{}
delete.job.podAnnotationsMap d'annotations à ajouter au pod pré-suppression{}
delete.job.customPodAntiAffinityInterdiction de la planification du pod du job pré-suppression par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
delete.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job pré-suppression par nœuds par rapport aux autres pods{}
delete.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job pré-suppression par nœuds{}
delete.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job pré-suppression. S'il est défini, il a priorité sur nodeSelector{}
delete.job.tolerationsTolérances pour l'attribution du pod du job pré-suppression. S'il est défini, il a priorité sur tolerations[]
delete.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur pré-suppression dans le pod[]
delete.job.image.repositoryDépôt d'images du job de suppressiononlyoffice/docs-utils
delete.job.image.tagTag d'image du job de suppression9.0.4-1
delete.job.image.pullPolicyPolitique de téléchargement d'image du job de suppressionIfNotPresent
delete.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur pré-suppressionfalse
delete.job.resources.requestsLes ressources demandées pour le conteneur du job de suppression{}
delete.job.resources.limitsLes limites de ressources pour le conteneur du job de suppression{}
delete.existingConfigmap.tblRemove.nameLe nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de donnéesremove-db-scripts
delete.existingConfigmap.tblRemove.cléNameLe nom du fichier SQL contenant les instructions pour supprimer les tables de la base de données. Doit être identique à clé nom dans delete.existingConfigmap.tblRemove.nameremovetbl.sql
delete.existingConfigmap.dsStopLe nom du ConfigMap existant contenant le script de suppression d'ONLYOFFICE Docs. S'il est défini, les deux paramètres précédents sont ignorés. Doit contenir une clé stop.sh""
install.job.enabledActiver l'exécution du job pré-installation avant l'installation d'ONLYOFFICE Docstrue
install.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job pré-installation. S'il est défini, il a priorité sur commonAnnotations{}
install.job.podAnnotationsMap d'annotations à ajouter au pod pré-installation{}
install.job.customPodAntiAffinityInterdiction de la planification du pod du job pré-installation par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
install.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job pré-installation par nœuds par rapport aux autres pods{}
install.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job pré-installation par nœuds{}
install.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job pré-installation. S'il est défini, il a priorité sur nodeSelector{}
install.job.tolerationsTolérances pour l'attribution du pod du job pré-installation. S'il est défini, il a priorité sur tolerations[]
install.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur pré-installation dans le pod[]
install.job.image.repositoryDépôt d'images du job pré-installation ONLYOFFICE Docsonlyoffice/docs-utils
install.job.image.tagTag d'image du job pré-installation ONLYOFFICE Docs9.0.4-1
install.job.image.pullPolicyPolitique de téléchargement d'image du job pré-installation ONLYOFFICE DocsIfNotPresent
install.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur pré-installationfalse
install.job.resources.requestsLes ressources demandées pour le conteneur du job pré-installation{}
install.job.resources.limitsLes limites de ressources pour le conteneur du job pré-installation{}
install.existingConfigmap.tblCreate.nameLe nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de donnéesinit-db-scripts
install.existingConfigmap.tblCreate.cléNameLe nom du fichier SQL contenant les instructions pour créer les tables de la base de données. Doit être identique à clé nom dans install.existingConfigmap.tblCreate.namecreatedb.sql
install.existingConfigmap.initdbLe nom du ConfigMap existant contenant le script initdb. S'il est défini, les deux paramètres précédents sont ignorés. Doit contenir une clé initdb.sh""
clearCache.job.enabledActiver l'exécution du job Clear Cache après la mise à jour d'ONLYOFFICE Docs. Le job Clear Cache dispose d'un hook post-upgrade qui s'exécute après la mise à niveau de toutes les ressources dans Kubernetes. Il vide le répertoire de cachetrue
clearCache.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job Clear Cache. S'il est défini, il a priorité sur commonAnnotations{}
clearCache.job.podAnnotationsMap d'annotations à ajouter au pod Clear Cache{}
clearCache.job.customPodAntiAffinityInterdiction de la planification du pod du job Clear Cache par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
clearCache.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job Clear Cache par nœuds par rapport aux autres pods{}
clearCache.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job Clear Cache par nœuds{}
clearCache.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job Clear Cache. S'il est défini, il a priorité sur nodeSelector{}
clearCache.job.tolerationsTolérances pour l'attribution du pod du job Clear Cache. S'il est défini, il a priorité sur tolerations[]
clearCache.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Clear Cache dans le pod[]
clearCache.job.image.repositoryDépôt d'images du job Clear Cache ONLYOFFICE Docsonlyoffice/docs-utils
clearCache.job.image.tagTag d'image du job Clear Cache ONLYOFFICE Docs9.0.4-1
clearCache.job.image.pullPolicyPolitique de téléchargement d'image du job Clear Cache ONLYOFFICE DocsIfNotPresent
clearCache.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Clear Cachefalse
clearCache.job.resources.requestsLes ressources demandées pour le conteneur du job Clear Cache{}
clearCache.job.resources.limitsLes limites de ressources pour le conteneur du job Clear Cache{}
clearCache.existingConfigmap.nameLe nom du ConfigMap existant contenant le script personnalisé de vidage du répertoire de cache. S'il est défini, le configmap par défaut ne sera pas créé""
clearCache.existingConfigmap.cléNameLe nom du script contenant les instructions pour vider le répertoire de cache. Doit être identique à clé nom dans clearCache.existingConfigmap.name if a custom script is usedclearCache.sh
grafanaDashboard.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job Grafana Dashboard. S'il est défini, il a priorité sur commonAnnotations{}
grafanaDashboard.job.podAnnotationsMap d'annotations à ajouter au pod Grafana Dashboard{}
grafanaDashboard.job.customPodAntiAffinityInterdiction de la planification du pod du job Grafana Dashboard par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
grafanaDashboard.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job Grafana Dashboard par nœuds par rapport aux autres pods{}
grafanaDashboard.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job Grafana Dashboard par nœuds{}
grafanaDashboard.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job Grafana Dashboard. S'il est défini, il a priorité sur nodeSelector{}
grafanaDashboard.job.tolerationsTolérances pour l'attribution du pod du job Grafana Dashboard. S'il est défini, il a priorité sur tolerations[]
grafanaDashboard.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Grafana Dashboard dans le pod[]
grafanaDashboard.job.image.repositoryDépôt d'images du job Grafana Dashboard ONLYOFFICE Docsonlyoffice/docs-utils
grafanaDashboard.job.image.tagTag d'image du job Grafana Dashboard ONLYOFFICE Docs9.0.4-1
grafanaDashboard.job.image.pullPolicyPolitique de téléchargement d'image du job Grafana Dashboard ONLYOFFICE DocsIfNotPresent
grafanaDashboard.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Grafana Dashboardfalse
grafanaDashboard.job.resources.requestsLes ressources demandées pour le conteneur du job Grafana Dashboard{}
grafanaDashboard.job.resources.limitsLes limites de ressources pour le conteneur du job Grafana Dashboard{}
wopiKeysGeneration.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job Wopi Keys Generation. S'il est défini, il a priorité sur commonAnnotations{}
wopiKeysGeneration.job.podAnnotationsMap d'annotations à ajouter au pod Wopi Keys Generation{}
wopiKeysGeneration.job.customPodAntiAffinityInterdiction de la planification du pod du job Wopi Keys Generation par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
wopiKeysGeneration.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job Wopi Keys Generation par nœuds par rapport aux autres pods{}
wopiKeysGeneration.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job Wopi Keys Generation par nœuds{}
wopiKeysGeneration.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job Wopi Keys Generation. S'il est défini, il a priorité sur nodeSelector{}
wopiKeysGeneration.job.tolerationsTolérances pour l'attribution du pod du job Wopi Keys Generation. S'il est défini, il a priorité sur tolerations[]
wopiKeysGeneration.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Wopi Keys Generation dans le pod[]
wopiKeysGeneration.job.image.repositoryDépôt d'images du job Wopi Keys Generation ONLYOFFICE Docsonlyoffice/docs-utils
wopiKeysGeneration.job.image.tagTag d'image du job Wopi Keys Generation ONLYOFFICE Docs9.0.4-1
wopiKeysGeneration.job.image.pullPolicyPolitique de téléchargement d'image du job Wopi Keys Generation ONLYOFFICE DocsIfNotPresent
wopiKeysGeneration.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Wopi Keys Generationfalse
wopiKeysGeneration.job.resources.requestsLes ressources demandées pour le conteneur du job Wopi Keys Generation{}
wopiKeysGeneration.job.resources.limitsLes limites de ressources pour le conteneur du job Wopi Keys Generation{}
wopiKeysDeletion.job.enabled Activer l'exécution du job Wopi Keys Deletion avant la suppression d'ONLYOFFICE Docs. Il supprime les secrets WOPI générés automatiquement. Il est exécuté si wopi.enabled, wopi.clés.generation and wopiKeysDeletion.job.enabled are set to truetrue
wopiKeysDeletion.job.annotationsDéfinit les annotations qui seront ajoutées en supplément au job Wopi Keys Deletion. S'il est défini, il a priorité sur commonAnnotations{}
wopiKeysDeletion.job.podAnnotationsMap d'annotations à ajouter au pod Wopi Keys Deletion{}
wopiKeysDeletion.job.customPodAntiAffinityInterdiction de la planification du pod du job Wopi Keys Deletion par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
wopiKeysDeletion.job.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod du job Wopi Keys Deletion par nœuds par rapport aux autres pods{}
wopiKeysDeletion.job.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod du job Wopi Keys Deletion par nœuds{}
wopiKeysDeletion.job.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod du job Wopi Keys Deletion. S'il est défini, il a priorité sur nodeSelector{}
wopiKeysDeletion.job.tolerationsTolérances pour l'attribution du pod du job Wopi Keys Deletion. S'il est défini, il a priorité sur tolerations[]
wopiKeysDeletion.job.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Wopi Keys Deletion dans le pod[]
wopiKeysDeletion.job.image.repositoryDépôt d'images du job Wopi Keys Deletion ONLYOFFICE Docsonlyoffice/docs-utils
wopiKeysDeletion.job.image.tagTag d'image du job Wopi Keys Deletion ONLYOFFICE Docs9.0.4-1
wopiKeysDeletion.job.image.pullPolicyPolitique de téléchargement d'image du job Wopi Keys Deletion ONLYOFFICE DocsIfNotPresent
wopiKeysDeletion.job.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Wopi Keys Deletionfalse
wopiKeysDeletion.job.resources.requestsLes ressources demandées pour le conteneur du job Wopi Keys Deletion{}
wopiKeysDeletion.job.resources.limitsLes limites de ressources pour le conteneur du job Wopi Keys Deletion{}
tests.enabledActiver la création des ressources nécessaires pour les tests de lancement d'ONLYOFFICE Docs et les tests de disponibilité des dépendances connectées. Ces ressources seront utilisées lors de l'exécution de la commandee helm test commandetrue
tests.annotationsDéfinit les annotations qui seront ajoutées en supplément au pod Test. S'il est défini, il a priorité sur commonAnnotations{}
tests.customPodAntiAffinityInterdiction de la planification du pod Test par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud{}
tests.podAffinityDéfinit les règles d\'affinité de Pod pour la planification du pod Test par nœuds par rapport aux autres pods{}
tests.nodeAffinityDéfinit les règles d\'affinité de nœud pour la planification du pod Test par nœuds{}
tests.nodeSelectorÉtiquettes de nœuds pour l'attribution du pod Test. S'il est défini, il a priorité sur nodeSelector{}
tests.tolerationsTolérances pour l'attribution du pod Test. S'il est défini, il a priorité sur tolerations[]
tests.initContainersDéfinit les conteneurs qui s'exécutent avant le conteneur Test dans le pod[]
tests.image.repositoryNom d'image de conteneur Testonlyoffice/docs-utils
tests.image.tagTag d'image de conteneur Test9.0.4-1
tests.image.pullPolicyPolitique de téléchargement d'image de conteneur TestIfNotPresent
tests.containerSecurityContext.enabledActiver le contexte de sécurité pour le conteneur Testfalse
tests.resources.requestsLes ressources demandées pour le conteneur Test{}
tests.resources.limitsLes limites de ressources pour le conteneur Test{}
  • *Remarque : Le préfixe -de est spécifié dans la valeur du dépôt d'images, ce qui indique le type de solution. Options possibles :
    • -de. Pour la Developer Edition commerciale
    • -ee. Pour l'Enterprise Edition commerciale

    La valeur par défaut de ce paramètre fait référence à la ONLYOFFICE Document Server Developer Edition. Pour en savoir plus sur cette édition et la comparer avec d'autres éditions, veuillez consulter le tableau comparatif sur this page.

5. Détails de configuration et installation
  1. Déploiement de l'exemple (optionnel)
    Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin de déployer l'exemple.

    Pour déployer l'exemple, définissez le paramètre example.enabled à true :

    $ helm install documentserver onlyoffice/docs --set example.enabled=true
  2. Déploiement des métriques (optionnel)
    Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous n'avez pas besoin de déployer les métriques.

    Pour déployer les métriques, définissez metrics.enabled à true :

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

    Si vous souhaitez utiliser Grafana pour visualiser les métriques, définissez grafana.enabled à true. Si vous souhaitez utiliser Nginx Ingress pour accéder à Grafana, définissez grafana.ingress.enabled à true :

    $ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true
  3. Exposer ONLYOFFICE Docs
    1. Exposer ONLYOFFICE Docs via Service (HTTP uniquement)
      Vous devez ignorer cette étape si vous allez exposer ONLYOFFICE Docs via HTTPS.

      Ce type d'exposition crée un équilibreur de charge pour accéder à ONLYOFFICE Docs. Utilisez ce type si vous utilisez la terminaison TLS externe et n'avez pas d'autre application web dans le cluster k8s.

      Pour exposer ONLYOFFICE Docs via service, définissez le paramètre service.type à LoadBalancer :

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

      Exécutez la commande suivante pour obtenir l'IP du service documentserver :

      $ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"

      Ensuite, ONLYOFFICE Docs sera disponible sur http://DOCUMENTSERVER-SERVICE-IP/.

      Si l'IP du service est vide, essayez d'obtenir le nom d'hôte du service documentserver :

      $ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].hostname}"

      Dans ce cas, ONLYOFFICE Docs sera disponible sur http://DOCUMENTSERVER-SERVICE-HOSTNAME/.

    2. Exposer ONLYOFFICE Docs via Ingress

      Premièrement, installez le contrôleur Kubernetes Nginx Ingress :

      $ helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true,controller.replicaCount=2
      Pour activer l'exposition des métriques ingress-nginx à Prometheus, exécutez :
      $ helm install nginx-ingress -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/ingress_values.yaml ingress-nginx/ingress-nginx

      Consultez plus de détails sur l'installation de Nginx Ingress via Helm ici.

      Choisissez ensuite votre méthode d'exposition :

      • Via HTTP
        Vous devez ignorer ceci si vous allez exposer ONLYOFFICE Docs via HTTPS.
        $ helm install documentserver onlyoffice/docs --set ingress.enabled=true

        Obtenez l'IP de l'ingress :

        $ kubectl get ingress documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"

        ONLYOFFICE Docs sera disponible sur http://DOCUMENTSERVER-INGRESS-IP/ (ou utilisez le nom d'hôte si l'IP est vide).

      • Via HTTPS (terminaison TLS)

        Créez le secret tls avec votre certificat SSL :

        $ kubectl create secret generic tls \
          --from-file=./tls.crt \
          --from-file=./tls.clé
        $ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com

        Associez l'IP ou le nom d'hôte de l'ingress à votre nom de domaine via votre fournisseur DNS. Ensuite, ONLYOFFICE Docs sera disponible à https://your-domain-name/.

      • Via HTTPS avec 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

        Installez ou mettez à niveau ONLYOFFICE Docs en définissant ingress.enabled, ingress.ssl.enabled, ingress.letsencrypt.enabled à true, et en spécifiant vos valeurs pour ingress.letsencrypt.email et ingress.host (ou ingress.tenants pour plusieurs domaines).

      • Via un chemin virtuel

        Définissez les paramètres ingress.enabled, ingress.host et ingress.path :

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

        Contrôleurs d'ingress pris en charge : Ingress NGINX by Kubernetes, NGINX Ingress by NGINX, HAProxy Ingress by HAProxy.

        Pour Ingress NGINX by Kubernetes, ajoutez le modèle (/|$)(.*) à ingress.path, par ex. /docs(/|$)(.*).

    3. Exposer ONLYOFFICE Docs via une route dans OpenShift
      $ helm install documentserver onlyoffice/docs --set openshift.route.enabled=true,openshift.route.host=your-domain-name,openshift.route.path=/docs

      Pour la terminaison TLS, ajoutez manuellement des certificats à la route via la console web OpenShift.

6. Mettre à l'échelle ONLYOFFICE Docs
Important Cette étape est optionnelle. Vous pouvez l'ignorer entièrement si vous souhaitez utiliser les paramètres de déploiement par défaut.
  1. Mise à l'échelle automatique horizontale des pods

    Vous pouvez activer la mise à l'échelle automatique afin que le nombre de réplicas des déploiements docservice and converter soit calculé automatiquement en fonction des valeurs et du type de métriques.

    Pour les métriques de ressources, l'API metrics.k8s.io doit être enregistrée, ce qui est généralement fourni par metrics-server. Elle peut être lancée en tant qu'add-on de cluster.

    Pour activer HPA pour le déploiement docservice, spécifiez le paramètre docservice.autoscaling.enabled=true. De même, pour activer HPA pour le déploiement converter, spécifiez converter.autoscaling.enabled=true. Dans les deux cas, le paramètre replicas correspondant est ignoré et le nombre de réplicas est contrôlé par HPA.

    Pour plus d'informations sur la mise à l'échelle automatique horizontale des pods, voir ici. For other configurable Autoscaling parameters, see the Paramètres table.

  2. Mise à l'échelle manuelle

    Les déploiements docservice et converter sont composés de 2 pods chacun par défaut.

    Pour mettre à l'échelle le déploiement docservice :

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

    Pour mettre à l'échelle le déploiement converter :

    $ kubectl scale -n default deployment converter --replicas=POD_COUNT
7. Mettre à jour ONLYOFFICE Docs

Pour mettre à jour, définissez les paramètres de mise à niveau. Par exemple :

$ helm upgrade documentserver onlyoffice/docs \
  --set docservice.image.tag=[version]
Vous devez également spécifier les paramètres qui ont été spécifiés lors de l'installation.

Ou modifiez le fichier values.yaml et exécutez :

$ helm upgrade documentserver -f values.yaml onlyoffice/docs

La commande helm upgrade exécute un hook qui arrête ONLYOFFICE Docs et nettoie la base de données. Le temps d'exécution par défaut du hook est de 300 s. Pour le modifier :

$ helm upgrade documentserver -f values.yaml onlyoffice/docs --timeout 15m
Lors de la mise à niveau dans un cluster k8s privé derrière un proxy Web ou sans accès Internet, consultez les notes ci-dessous.

Pour mettre à jour tout paramètre autre que la version d'ONLYOFFICE Docs, exécutez helm upgrade sans hooks :

$ helm upgrade documentserver onlyoffice/docs --set jwt.enabled=false --no-hooks

Pour annuler les mises à jour :

$ helm rollback documentserver
Lors du rollback dans un cluster k8s privé, consultez les notes ci-dessous.
8. Arrêter ONLYOFFICE Docs
Important Cette étape est optionnelle.

Pour effectuer l'arrêt, exécutez la commandee suivante :

$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n <NAMESPACE>

Wici <NAMESPACE> est le namespace dans lequel ONLYOFFICE Docs est installé. La valeur par défaut est default if not specified. Par exemple :

$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n onlyoffice

Après que le pod shutdown-ds s'est exécuté avec succès, supprimez le Job :

$ kubectl delete job shutdown-ds -n <NAMESPACE>

Pour redémarrer ONLYOFFICE Docs après l'arrêt, redémarrez les pods docservice et converter :

$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
9. Mettre à jour votre licence ONLYOFFICE Docs
Important Cette étape est optionnelle.

Depuis la version v5.1.1, vous pouvez mettre à jour la licence en recréant le secret sans redémarrer les pods. Pour mettre à jour la licence :

  • Placez le nouveau fichier license.lic dans un répertoire.
  • Exécutez les commandees suivantes :
    $ kubectl delete secret [SECRET_LICENSE_NAME] -n <NAMESPACE>
    $ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic -n <NAMESPACE>

    Wici SECRET_LICENSE_NAME est le nom du secret existant contenant une licence.

Le serveur de documents relira automatiquement la nouvelle licence.

[MÉTHODE OBSOLÈTE] Redémarrer les pods docservice et converter :
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Test de fonctionnement ONLYOFFICE Docs
Important Cette étape est optionnelle.

Tester la disponibilité d'ONLYOFFICE Docs et l'accès aux dépendances connectées :

$ helm test documentserver -n <NAMESPACE>

La sortie doit contenir :

Phase: Succeeded

Pour afficher le journal de test :

$ kubectl logs -f test-ds -n <NAMESPACE>

Après les tests, supprimez le pod test-ds :

$ kubectl delete pod test-ds -n <NAMESPACE>
Ces tests sont fournis à titre informatif uniquement et ne peuvent pas garantir une disponibilité à 100 %. Pour des informations détaillées, consultez les journaux de l'application.
11. Exécuter des Jobs dans le cluster privé k8s
Important Cette étape est optionnelle. You can skip it entirely if your cluster has unrestricted internet access.

Lors de l'exécution d'un job pour l'installation, la mise à jour, le rollback ou la suppression, le conteneur a besoin d'un accès Internet pour télécharger les derniers scripts SQL. Si l'accès au réseau externe est restreint dans votre cluster, définissez privateCluster=true and manually create a ConfigMap avec les scripts SQL nécessaires.

Si votre cluster dispose déjà de remove-db-scripts and init-db-scripts configmaps, supprimez-les d'abord :

$ kubectl delete cm remove-db-scripts init-db-scripts

Téléchargez les scripts de base de données. Pour 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

Pour 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

Créez des configmaps à partir d'eux :

$ kubectl create configmap remove-db-scripts --from-file=./removetbl.sql
$ kubectl create configmap init-db-scripts --from-file=./createdb.sql

Si vous avez utilisé des noms différents pour ConfigMap ou les fichiers, définissez les paramètres appropriés pour les jobs correspondants : existingConfigmap.tblRemove.name / existingConfigmap.tblRemove.cléName pour les scripts de nettoyage, et existingConfigmap.tblCreate.name / existingConfigmap.tblCreate.cléName pour les scripts de création.

Ensuite, lors de l'exécution de helm install|upgrade|rollback|delete, définissez le paramètre privateCluster=true.

Si un proxy Web est disponible, vous pouvez laisser privateCluster=false et définir webProxy.enabled=true avec les paramètres de proxy appropriés au lieu de créer des configmaps manuellement.
12. Accéder à la page d'informations
Important Cette étape est optionnelle.

L'accès à la page /info est limité par défaut. Pour autoriser l'accès, spécifiez les adresses IP ou les sous-réseaux à l'aide du paramètre proxy.infoAllowedIP Notez qu'en raison des spécificités du réseau Kubernetes, les clients réels sont généralement des adresses de Pod, de nœud ou d'équilibreur de charge plutôt que l'IP utilisateur d'origine.

Vous pouvez restreindre davantage l'accès à l'aide de l'authentification HTTP de base Nginx en définissant le paramètre proxy.infoAllowedUser et un mot de passe via proxy.infoAllowedPassword. Vous pouvez également utiliser un secret existant en définissant proxy.infoAllowedExistingSecret.

Utiliser Grafana pour visualiser les métriques

Important Cette section est optionnelle. Vous pouvez l'ignorer entièrement si vous ne souhaitez pas installer Grafana.
1. Deployer Grafana
Il est supposé que step 6.2 (Installing Prometheus) a déjà été complétée.
  1. Déployer Grafana sans tableaux de bord prêts à l'emploi
    Ignorez cette étape si vous souhaitez déployer Grafana avec des tableaux de bord prêts à l'emploi.
    $ 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. Déployer Grafana avec des tableaux de bord prêts à l'emploi
    1. Installer des tableaux de bord Grafana prêts à l'emploi

      Définissez les paramètres grafana.enabled et grafana.dashboard.enabled à true. Si ONLYOFFICE Docs est déjà installé, exécutez :

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

      Cela télécharge des tableaux de bord prêts à l'emploi au format JSON depuis le site web de Grafana, applique les modifications nécessaires et crée un configmap à partir d'eux. Un tableau de bord pour les métriques ONLYOFFICE Docs est également ajouté (il est supposé que step 6 (Deploy StatsD exporter) a déjà été complétée).

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

      Les tableaux de bord suivants seront importés dans Grafana : Node Exporter, Deployment Statefulset Daemonset, Redis Dashboard for Prometheus Redis Exporter, RabbitMQ-Overview, PostgreSQL Database, contrôleur NGINX Ingress, ONLYOFFICE Docs et utilisation des ressources par les pods et conteneurs.

      Vous pouvez consulter la description des métriques ONLYOFFICE Docs visualisées dans Grafana ici.

      Consultez plus de détails sur l'installation de Grafana via Helm ici.

2. Accéder à Grafana via Ingress
Il est supposé que l'étape d'installation du contrôleur Kubernetes Nginx Ingress a déjà été complétée.

Si ONLYOFFICE Docs a été installé avec le paramètre grafana.ingress.enabled (Metrics deployment), Grafana sera disponible à : http://INGRESS-ADDRESS/grafana/

Si l'Ingress a été installé avec une connexion sécurisée (Expose ONLYOFFICE Docs via HTTPS), Grafana sera disponible à : https://your-domain-name/grafana/

3. Afficher les métriques de Gaticid dans Grafana

Accédez à http(s)://your-domain-name/grafana/ et connectez-vous avec :

Login - admin

Pour obtenir le mot de passe, exécutez :

$ kubectl get secret grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode

Dans la section des tableaux de bord, vous verrez les tableaux de bord ajoutés affichant les métriques reçues de Prometheus.

Articles avec le tag :
Parcourir tous les tags