- Accueil
- Docs
- Installation et réglage
- Enterprise
- Cluster
- ONLYOFFICE Docs pour Kubernetes
ONLYOFFICE Docs pour Kubernetes
Introduction
-
Vous devez disposer d'un cluster Kubernetes ou OpenShift installé :
- Veuillez consulter la référence pour configurer Kubernetes.
- Veuillez consulter la référence pour configurer OpenShift.
- Vous devez également disposer d'une copie locale configurée de
kubectl. See this guide pour savoir comment installer et configurerkubectl. - Vous devez installer Helm v3.7+. Veuillez suivre les instructions ici to install it.
- Si vous utilisez OpenShift, vous pouvez utiliser
ocandkubectlpour 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-adminafin 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
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
Installer NFS Server Provisioner
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_CLASSest une classe de stockage persistant disponible dans votre cluster Kubernetes.Classes de stockage persistant pour différents fournisseurs :
- Amazon EKS:
gp2 - Digital Ocean:
do-block-storage - IBM Cloud: Default
ibmc-file-bronze. Plus de classes de stockage - Yandex Cloud:
yc-network-hddoryc-network-ssd. Plus de détails - minikube:
standard
- Amazon EKS:
PERSISTENT_SIZEest 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.
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
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
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
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.
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
-
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 -
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=1mPour modifier l'intervalle de scrape, spécifiez le paramètre
server.global.scrape_intervalparameter.Consultez plus de détails sur l'installation de Prometheus via Helm ici.
-
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=30000msConsultez 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
-
Créer un ConfigMap contenant un fichier json
Pour créer un ConfigMap à partir d'un fichier contenant la structure
local.jsonvous devez exécuter la commandee suivante :$ kubectl create configmap local-config \ --from-file=./local.jsonTout nom peut être utilisé à la place delocal-config. -
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-configetextraConf.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
ouhelm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooks
si les paramètres sont spécifiés dans le fichierhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksvalues.yamlfichier.
8. Ajouter des polices personnalisées
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
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
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
-
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.jsonAu lieu decustom-themesandcustom-themes.jsonvous pouvez utiliser d'autres noms. -
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-themesetextraThemes.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 commandeehelm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooksouhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hookssi les paramètres sont spécifiés dans le fichiervalues.yamlfichier.
12. Connecter un compartiment Amazon en tant que cache à ONLYOFFICE Helm Docs
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
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
-
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.licWici
SECRET_LICENSE_NAMEest 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 videlicensesera automatiquement créé. Pour savoir comment mettre à jour un secret existant avec une licence, voir ici. -
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 commandeehelm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooksouhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hookssi les paramètres sont spécifiés dans le fichiervalues.yamlfichier.
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.
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
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
Afficher tous les paramètres
connections.dbType | Le type de base de données. Les valeurs possibles sont postgres, mariadb, mysql, oracle, mssql or dameng | postgres |
connections.dbHost | L'adresse IP ou le nom de l'hôte de la base de données | postgresql |
connections.dbUser | Utilisateur de la base de données | postgres |
connections.dbPort | Numéro de port du serveur de base de données | 5432 |
connections.dbName | Nom de la base de données à laquelle l'application sera connectée | postgres |
connections.dbPassword | Mot de passe de l'utilisateur de la base de données. S'il est défini, il a priorité sur connections.dbExistingSecret | "" |
connections.dbSecretKeyName | Le nom de la clé contenant le mot de passe de l'utilisateur de la base de données | postgres-password |
connections.dbExistingSecret | Nom du secret existant à utiliser pour les mots de passe de la base de données. Doit contenir la clé spécifiée dans connections.dbSecretKeyName | postgresql |
connections.redisConnectorName | Définit le connecteur à utiliser pour se connecter à Redis. Si vous devez vous connecter à Redis Sentinel, définissez la valeur ioredis | redis |
connections.redistHost | L'adresse IP ou le nom de l'hôte Redis. Non utilisé si les valeurs sont définies dans connections.redisClusterNodes and connections.redisSentinelNodes | redis-master |
connections.redisPort | Le numéro de port du serveur Redis. Non utilisé si les valeurs sont définies dans connections.redisClusterNodes and connections.redisSentinelNodes | 6379 |
connections.redisUser | The 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 file | default |
connections.redisDBNum | Numé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 file | 0 |
connections.redisClusterNodes | Liste 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.redisPassword | Le 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.redisSecretKeyName | Le nom de la clé contenant le mot de passe de l'utilisateur Redis | redis-password |
connections.redisExistingSecret | Nom 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.json | redis |
connections.redisNoPass | Dé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 à true | false |
connections.redisSentinelNodes | Liste 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.redisSentinelGroupName | Nom d'un groupe d'instances Redis composé d'un maître et d'un ou plusieurs esclaves. Utilisé si connections.redisConnectorName is set to ioredis | mymaster |
connections.redisSentinelExistingSecret | Nom 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.redisSentinelSecretKeyName | Le 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 ici | sentinel-password |
connections.redisSentinelPassword | Le 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.redisSentinelNoPass | Dé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 à true | true |
connections.amqpType | Définit le type de serveur AMQP. Les valeurs possibles sont rabbitmq or activemq | rabbitmq |
connections.amqpHost | L'adresse IP ou le nom du serveur AMQP | rabbitmq |
connections.amqpPort | Le port de connexion au serveur AMQP | 5672 |
connections.amqpVhost | L'hôte virtuel pour la connexion au serveur AMQP | / |
connections.amqpUser | Le nom d'utilisateur du compte serveur AMQP | user |
connections.amqpProto | Le protocole de connexion au serveur AMQP | amqp |
connections.amqpPassword | Mot de passe de l'utilisateur du serveur AMQP. S'il est défini, il a priorité sur connections.amqpExistingSecret | "" |
connections.amqpSecretKeyName | Le nom de la clé contenant le mot de passe de l'utilisateur du serveur AMQP | rabbitmq-password |
connections.amqpExistingSecret | Le nom du secret existant à utiliser pour les mots de passe du serveur AMQP. Doit contenir la clé spécifiée dans connections.amqpSecretKeyName | rabbitmq |
persistence.existingClaim | Nom d'un PVC existant à utiliser. Si non spécifié, un PVC nommé "ds-files" sera créé | "" |
persistence.annotations | Dé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.storageClass | Classe de stockage PVC pour les données ONLYOFFICE Docs et les volumes de configuration d'exécution | nfs |
persistence.size | Demande de stockage PVC pour le volume ONLYOFFICE Docs | 8Gi |
persistence.storageS3 | Définit si S3 sera utilisé comme stockage de cache. Définir à true si vous utilisez S3 comme stockage de cache | false |
persistence.runtimeConfig.enabled | Définit si le PVC doit être utilisé et s'il doit être monté dans les conteneurs | true |
persistence.runtimeConfig.existingClaim | Le 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.annotations | Dé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.size | Demande de stockage PVC pour le volume de configuration d'exécution | 1Gi |
commonNameSuffix | Le nom qui sera ajouté comme suffixe au nom de toutes les ressources créées | "" |
namespaceOverride | Le nom du namespace dans lequel ONLYOFFICE Docs sera déployé. S'il n'est pas défini, le nom sera pris depuis .Release.Namespace | "" |
commonLabels | Dé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é | {} |
commonAnnotations | Dé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.create | Activer la création du ServiceAccount | false |
serviceAccount.name | Nom 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.annotations | Map d'annotations à ajouter au ServiceAccount. S'il est défini, il a priorité sur commonAnnotations | {} |
serviceAccount.automountServiceAccountToken | Activer le montage automatique du ServiceAccountToken sur le serviceAccount créé. Utilisé uniquement si serviceAccount.create is true | true |
license.existingSecret | Nom du secret existant contenant la licence. Doit contenir la clé license.lic | "" |
license.existingClaim | Nom du PVC existant dans lequel la licence est stockée. Doit contenir le fichier license.lic | "" |
log.level | Définit le type et la gravité d'un événement journalisé. Les valeurs possibles sont ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFF | WARN |
log.type | Définit le format d'un événement journalisé. Les valeurs possibles sont pattern, json, basic, coloured, messagePassThrough, dummy | pattern |
log.pattern | Defines the log pattern if log.type=pattern | [%d] [%p] %c - %.10000m |
wopi.enabled | Dé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 client | false |
wopi.clés.generation | Définit si des clés API doivent être générées. Utilisé si vous définissez wopi.enabled to true | true |
wopi.clés.newKeysExistingSecret | Nom 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.oldKeysExistingSecret | Nom 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.enabled | Spécifie si StatsD est activé pour ONLYOFFICE Docs | false |
metrics.host | Définit l'hôte d'écoute StatsD | statsd-exporter-prometheus-statsd-exporter |
metrics.port | Définit le port d'écoute StatsD | 8125 |
metrics.prefix | Définit le préfixe des métriques StatsD pour les services backend | ds. |
extraConf.configMap | Le nom du ConfigMap contenant le fichier json qui remplace les valeurs par défaut | "" |
extraConf.filename | Le nom du fichier json contenant les valeurs personnalisées. Doit être identique à clé nom dans extraConf.ConfigMap | local.json |
extraThemes.configMap | Le nom du ConfigMap contenant le fichier json contenant les thèmes d'interface | "" |
extraThemes.filename | Le nom du fichier json contenant les thèmes d'interface personnalisés. Doit être identique à clé nom dans extraThemes.configMap | custom-themes.json |
podAntiAffinity.type | Types d'anti-affinité de Pod. Valeurs autorisées : soft ou hard | soft |
podAntiAffinity.topologyKey | Clé d'étiquette de nœud à correspondre | kubernetes.io/hostname |
podAntiAffinity.weight | Priorité lors de la sélection du nœud. Elle est comprise entre 1 et 100 | 100 |
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 | {} |
tolerations | Tolérances pour l'attribution des pods. Chaque service ONLYOFFICE Docs peut remplacer les valeurs spécifiées ici par les siennes | [] |
imagePullSecrets | Nom du secret du registre d'images de conteneur | "" |
requestFilteringAgent.allowPrivateIPAddress | Dé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=false | false |
requestFilteringAgent.allowMetaIPAddress | Définit si la connexion à une adresse méta est autorisée ou non | false |
requestFilteringAgent.allowIPAddressList | Définit la liste des adresses IP autorisées à se connecter. Ces valeurs sont préférées à requestFilteringAgent.denyIPAddressList | [] |
requestFilteringAgent.denyIPAddressList | Définit la liste des adresses IP autorisées à se connecter | [] |
docservice.annotations | Dé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.podAnnotations | Map d'annotations à ajouter aux pods du déploiement Docservice | rollme: "{{ randAlphaNum 5 | quote }}" |
docservice.replicas | Quantité de réplicas Docservice. Si le paramètre docservice.autoscaling.enabled est activé, il est ignoré | 2 |
docservice.updateStrategy.type | Type de stratégie de mise à jour du déploiement Docservice | Recreate |
docservice.customPodAntiAffinity | Interdiction de la planification des pods Docservice par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud | {} |
docservice.podAffinity | Définit les règles d\'affinité de Pod pour la planification des pods Docservice par nœuds par rapport aux autres pods | {} |
docservice.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution des pods Docservice. S'il est défini, il a priorité sur tolerations | [] |
docservice.terminationGracePeriodSeconds | Le délai d'arrêt progressif pendant lequel le pod Docservice aura le statut Terminating status | 30 |
docservice.hostAliases | Adds additional entries to the hosts dans la section Docservice and Proxy containers | [] |
docservice.initContainers | Dé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.repository | Dépôt d'images de conteneur Docservice* | onlyoffice/docs-docservice-de |
docservice.image.tag | Tag d'image de conteneur Docservice | 9.0.4-1 |
docservice.image.pullPolicy | Politique de téléchargement d'image de conteneur Docservice | IfNotPresent |
docservice.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Docservice | false |
docservice.lifecycleHooks | Defines 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.requests | Les ressources demandées pour le conteneur Docservice | {} |
docservice.resources.limits | Les limites de ressources pour le conteneur Docservice | {} |
docservice.extraEnvVars | Un tableau avec des variables d'environnement supplémentaires pour le conteneur Docservice | [] |
docservice.extraVolumes | Un tableau avec des volumes supplémentaires pour le pod Docservice | [] |
docservice.extraVolumeMounts | Un tableau avec des montages de volumes supplémentaires pour le conteneur Docservice | [] |
docservice.readinessProbe.enabled | Activer readinessProbe pour le conteneur Docservice | true |
docservice.livenessProbe.enabled | Activer livenessProbe pour le conteneur Docservice | true |
docservice.startupProbe.enabled | Activer startupProbe pour le conteneur Docservice | true |
docservice.autoscaling.enabled | Activer la mise à l'échelle automatique du déploiement Docservice | false |
docservice.autoscaling.annotations | Dé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.minReplicas | Nombre minimum de réplicas pour la mise à l'échelle automatique du déploiement Docservice | 2 |
docservice.autoscaling.maxReplicas | Nombre maximum de réplicas pour la mise à l'échelle automatique du déploiement Docservice | 4 |
docservice.autoscaling.targetCPU.enabled | Activer la mise à l'échelle automatique du déploiement Docservice par pourcentage d'utilisation CPU | true |
docservice.autoscaling.targetCPU.utilizationPercentage | Pourcentage CPU cible pour la mise à l'échelle automatique du déploiement Docservice | 70 |
docservice.autoscaling.targetMemory.enabled | Activer la mise à l'échelle automatique du déploiement Docservice par pourcentage d'utilisation mémoire | false |
docservice.autoscaling.targetMemory.utilizationPercentage | Pourcentage mémoire cible pour la mise à l'échelle automatique du déploiement Docservice | 70 |
docservice.autoscaling.customMetricsType | Métriques de mise à l'échelle automatique personnalisées, supplémentaires ou externes pour le déploiement Docservice | [] |
docservice.autoscaling.behavior | Configuration des politiques de comportement de mise à l'échelle du déploiement Docservice pour les champs scaleDown and scaleUp champs | {} |
proxy.accessLog | Defines the nginx config access_log format directive | off |
proxy.logFormat | Defines 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.gzipProxied | Définit la directive de configuration nginx gzip_proxied | off |
proxy.clientMaxBodySize | Définit la directive de configuration nginx client_max_body_size | 100m |
proxy.workerConnections | Définit la directive de configuration nginx worker_connections | 4096 |
proxy.secureLinkSecret | Dé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.secureLinkExistingSecret | Nom du secret existant à utiliser pour secure_link. S'il est défini, il a priorité sur proxy.secureLinkSecret | "" |
proxy.infoAllowedIP | Définit les adresses IP pour accéder à la page d'informations | [] |
proxy.infoAllowedUser | Dé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.infoAllowedPassword | Dé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.infoAllowedSecretKeyName | Le nom de la clé contenant le mot de passe de l'utilisateur d'authentification info. Utilisé si proxy.infoAllowedUser is set | info-auth-password |
proxy.infoAllowedExistingSecret | Nom 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.enabled | Définit si la page d'accueil sera affichée | true |
proxy.image.repository | Dépôt d'images de conteneur du proxy Docservice* | onlyoffice/docs-proxy-de |
proxy.image.tag | Tag d'image de conteneur du proxy Docservice | 9.0.4-1 |
proxy.image.pullPolicy | Politique de téléchargement d'image du proxy Docservice | IfNotPresent |
proxy.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Proxy | false |
proxy.lifecycleHooks | Defines 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.requests | Les ressources demandées pour le conteneur Proxy | {} |
proxy.resources.limits | Les limites de ressources pour le conteneur Proxy | {} |
proxy.extraEnvVars | Un tableau avec des variables d'environnement supplémentaires pour le conteneur Proxy | [] |
proxy.extraVolumeMounts | Un tableau avec des montages de volumes supplémentaires pour le conteneur Proxy | [] |
proxy.readinessProbe.enabled | Activer readinessProbe pour le conteneur Proxy | true |
proxy.livenessProbe.enabled | Activer livenessProbe pour le conteneur Proxy | true |
proxy.startupProbe.enabled | Activer startupProbe pour le conteneur Proxy | true |
converter.annotations | Dé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.podAnnotations | Map d'annotations à ajouter aux pods du déploiement Converter | rollme: "{{ randAlphaNum 5 | quote }}" |
converter.replicas | Quantité de réplicas Converter. Si le paramètre converter.autoscaling.enabled est activé, il est ignoré | 2 |
converter.updateStrategy.type | Type de stratégie de mise à jour du déploiement Converter | Recreate |
converter.customPodAntiAffinity | Interdiction de la planification des pods Converter par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud | {} |
converter.podAffinity | Définit les règles d\'affinité de Pod pour la planification des pods Converter par nœuds par rapport aux autres pods | {} |
converter.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution des pods Converter. S'il est défini, il a priorité sur tolerations | [] |
converter.terminationGracePeriodSeconds | Le délai d'arrêt progressif pendant lequel le pod Converter aura le statut Terminating status | 30 |
converter.hostAliases | Adds additional entries to the hosts dans la section Converter container | [] |
converter.initContainers | Dé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.repository | Dépôt d'images de conteneur Converter* | onlyoffice/docs-converter-de |
converter.image.tag | Tag d'image de conteneur Converter | 9.0.4-1 |
converter.image.pullPolicy | Politique de téléchargement d'image de conteneur Converter | IfNotPresent |
converter.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Converter | false |
converter.lifecycleHooks | Dé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.requests | Les ressources demandées pour le conteneur Converter | {} |
converter.resources.limits | Les limites de ressources pour le conteneur Converter | {} |
converter.extraEnvVars | Un tableau avec des variables d'environnement supplémentaires pour le conteneur Converter | [] |
converter.extraVolumes | Un tableau avec des volumes supplémentaires pour le pod Converter | [] |
converter.extraVolumeMounts | Un tableau avec des montages de volumes supplémentaires pour le conteneur Converter | [] |
converter.autoscaling.enabled | Activer la mise à l'échelle automatique du déploiement Converter | false |
converter.autoscaling.annotations | Dé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.minReplicas | Nombre minimum de réplicas pour la mise à l'échelle automatique du déploiement Converter | 2 |
converter.autoscaling.maxReplicas | Nombre maximum de réplicas pour la mise à l'échelle automatique du déploiement Converter | 16 |
converter.autoscaling.targetCPU.enabled | Activer la mise à l'échelle automatique du déploiement Converter par pourcentage d'utilisation CPU | true |
converter.autoscaling.targetCPU.utilizationPercentage | Pourcentage CPU cible pour la mise à l'échelle automatique du déploiement Converter | 70 |
converter.autoscaling.targetMemory.enabled | Activer la mise à l'échelle automatique du déploiement Converter par pourcentage d'utilisation mémoire | false |
converter.autoscaling.targetMemory.utilizationPercentage | Pourcentage mémoire cible pour la mise à l'échelle automatique du déploiement Converter | 70 |
converter.autoscaling.customMetricsType | Métriques de mise à l'échelle automatique personnalisées, supplémentaires ou externes pour le déploiement Converter | [] |
converter.autoscaling.behavior | Configuration des politiques de comportement de mise à l'échelle du déploiement Converter pour les champs scaleDown and scaleUp champs | {} |
example.enabled | Active l'installation de l'exemple | false |
example.annotations | Définit les annotations qui seront ajoutées en supplément au StatefulSet Example. S'il est défini, il a priorité sur commonAnnotations | {} |
example.podAnnotations | Map d'annotations à ajouter au pod exemple | rollme: "{{ randAlphaNum 5 | quote }}" |
example.updateStrategy.type | Type de stratégie de mise à jour du StatefulSet Example | RollingUpdate |
example.customPodAntiAffinity | Interdiction de la planification du pod Example par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud | {} |
example.podAffinity | Définit les règles d\'affinité de Pod pour la planification du pod Example par nœuds par rapport aux autres pods | {} |
example.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution des pods Example. S'il est défini, il a priorité sur tolerations | [] |
example.terminationGracePeriodSeconds | Le délai d'arrêt progressif pendant lequel le pod Example aura le statut Terminating status | 30 |
example.hostAliases | Ajoute des entrées supplémentaires dans le fichier hosts du conteneur Example | [] |
example.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Example dans le pod | [] |
example.image.repository | Nom d'image de conteneur Example | onlyoffice/docs-example |
example.image.tag | Tag d'image de conteneur Example | 9.0.4-1 |
example.image.pullPolicy | Politique de téléchargement d'image de conteneur Example | IfNotPresent |
example.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Example | false |
example.dsUrl | Adresse 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.requests | Les ressources demandées pour le conteneur Example | {} |
example.resources.limits | Les limites de ressources pour le conteneur Example | {} |
example.extraEnvVars | Un tableau avec des variables d'environnement supplémentaires pour le conteneur Example | [] |
example.extraConf.configMap | Le nom du ConfigMap contenant le fichier json qui remplace les valeurs par défaut. See an example of creation ici | "" |
example.extraConf.filename | Le nom du fichier json contenant les valeurs personnalisées. Doit être identique à clé nom dans example.extraConf.ConfigMap | local.json |
example.extraVolumes | Un tableau avec des volumes supplémentaires pour le pod Example | [] |
example.extraVolumeMounts | Un tableau avec des montages de volumes supplémentaires pour le conteneur Example | [] |
jwt.enabled | Spécifie l'activation de la validation du jeton JSON Web par ONLYOFFICE Docs. Commun aux requêtes entrantes et sortantes | true |
jwt.secret | Dé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.header | Définit l'en-tête HTTP qui sera utilisé pour envoyer le jeton JSON Web. Commun aux requêtes entrantes et sortantes | Authorization |
jwt.inBody | Spécifie l'activation de la validation du jeton dans le corps de la requête à ONLYOFFICE Docs | false |
jwt.inbox | Paramè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.outbox | Paramè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.existingSecret | Le nom d'un secret existant contenant des variables pour jwt. Si non spécifié, un secret nommé jwt sera créé | "" |
service.existing | Le nom d'un service existant pour ONLYOFFICE Docs. Si non spécifié, un service nommé documentserver sera créé | "" |
service.annotations | Map d'annotations à ajouter au service ONLYOFFICE Docs. S'il est défini, il a priorité sur commonAnnotations | {} |
service.type | Type de service ONLYOFFICE Docs | ClusterIP |
service.port | Port de service ONLYOFFICE Docs | 8888 |
service.sessionAffinity | Affinité de session pour le service ONLYOFFICE Docs. S'il n'est pas défini, None sera défini comme valeur par défaut | "" |
service.sessionAffinityConfig | Configuration de l'affinité de session du service ONLYOFFICE Docs. Utilisé si service.sessionAffinity est défini | {} |
ingress.enabled | Activer la création d'un ingress pour ONLYOFFICE Docs | false |
ingress.annotations | Map d'annotations à ajouter à l'Ingress. S'il est défini, il a priorité sur commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
ingress.ingressClassName | Utilisé pour référencer l'IngressClass à utiliser pour implémenter cet Ingress | nginx |
ingress.controllerName | Utilisé pour distinguer les contrôleurs avec le même IngressClassName mais de différents fournisseurs | ingress-nginx |
ingress.host | Nom d'hôte Ingress pour l'ingress ONLYOFFICE Docs | "" |
ingress.tenants | Noms 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.enabled | Activer SSL pour l'ingress ONLYOFFICE Docs | false |
ingress.ssl.secret | Nom du secret SSL à monter dans l'Ingress | tls |
ingress.path | Spécifie le chemin où ONLYOFFICE Docs sera disponible | / |
ingress.pathType | Spécifie le type de chemin pour la ressource ingress ONLYOFFICE Docs. Les valeurs autorisées sont Exact, Prefix or ImplementationSpecific | ImplementationSpecific |
ingress.letsencrypt.enabled | Activation de la création de demande de certificat dans Let's Encrypt. Utilisé si ingress.enabled is set to true | false |
ingress.letsencrypt.clusterIssuerName | Nom du ClusterIssuer | letsencrypt-prod |
ingress.letsencrypt.email | Votre adresse e-mail utilisée pour l'enregistrement ACME | "" |
ingress.letsencrypt.server | L'adresse du serveur Let's Encrypt auquel les demandes de certificats seront envoyées | https://acme-v02.api.letsencrypt.org/directory |
ingress.letsencrypt.secretName | Nom d'un secret utilisé pour stocker la clé privée du compte ACME | letsencrypt-prod-private-clé |
openshift.route.enabled | Activer la création d'une Route OpenShift pour ONLYOFFICE Docs | false |
openshift.route.annotations | Map d'annotations à ajouter à la Route OpenShift. S'il est défini, il a priorité sur commonAnnotations | {} |
openshift.route.host | Nom d'hôte de la Route OpenShift pour la route ONLYOFFICE Docs | "" |
openshift.route.path | Spécifie le chemin où ONLYOFFICE Docs sera disponible | / |
openshift.route.wildcardPolicy | La politique de gestion des sous-domaines génériques dans la Route OpenShift. Les valeurs autorisées sont None, Subdomain | None |
grafana.enabled | Activer l'installation des ressources requises pour la visualisation des métriques dans Grafana | false |
grafana.namespace | Le 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.enabled | Activer 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 à Grafana | false |
grafana.ingress.annotations | Map d'annotations à ajouter à l'Ingress Grafana. S'il est défini, il a priorité sur commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
grafana.dashboard.enabled | Activer l'installation de tableaux de bord Grafana prêts à l'emploi. Utilisé si vous définissez grafana.enabled to true | false |
podSecurityContext.enabled | Activer le contexte de sécurité pour les pods | false |
podSecurityContext.converter.fsGroup | Dé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 Converter | 101 |
podSecurityContext.docservice.fsGroup | Dé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 Docservice | 101 |
podSecurityContext.jobs.fsGroup | Dé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 Jobs | 101 |
podSecurityContext.example.fsGroup | Dé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 Example | 1001 |
podSecurityContext.tests.fsGroup | Dé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 Test | 101 |
webProxy.enabled | Spécifie si un proxy Web est utilisé dans votre réseau pour accéder aux pods du cluster k8s vers Internet | false |
webProxy.http | Adresse du proxy Web pour le trafic HTTP | http://proxy.example.com |
webProxy.https | Adresse du proxy Web pour le trafic HTTPS | https://proxy.example.com |
webProxy.noProxy | Patterns for IP addresses or k8s services name or domain names that shouldn’t use the Web Proxy | localhost,127.0.0.1,docservice |
privateCluster | Spécifie si le cluster k8s est utilisé dans un réseau privé sans accès Internet | false |
upgrade.job.enabled | Activer l'exécution du job pré-mise à jour avant la mise à jour d'ONLYOFFICE Docs | true |
upgrade.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod pré-mise à jour | {} |
upgrade.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job pré-mise à jour. S'il est défini, il a priorité sur tolerations | [] |
upgrade.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur pré-mise à jour dans le pod | [] |
upgrade.job.image.repository | Dépôt d'images du job de mise à jour | onlyoffice/docs-utils |
upgrade.job.image.tag | Tag d'image du job de mise à jour | 9.0.4-1 |
upgrade.job.image.pullPolicy | Politique de téléchargement d'image du job de mise à jour | IfNotPresent |
upgrade.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur pré-mise à jour | false |
upgrade.job.resources.requests | Les ressources demandées pour le conteneur du job pré-mise à jour | {} |
upgrade.job.resources.limits | Les limites de ressources pour le conteneur du job pré-mise à jour | {} |
upgrade.existingConfigmap.tblRemove.name | Le nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de données | remove-db-scripts |
upgrade.existingConfigmap.tblRemove.cléName | Le 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.name | removetbl.sql |
upgrade.existingConfigmap.tblCreate.name | Le nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de données | init-db-scripts |
upgrade.existingConfigmap.tblCreate.cléName | Le 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.name | createdb.sql |
upgrade.existingConfigmap.dsStop | Le 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.enabled | Activer l'exécution du job pré-rollback avant le rollback d'ONLYOFFICE Docs | true |
rollback.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod pré-rollback | {} |
rollback.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job pré-rollback. S'il est défini, il a priorité sur tolerations | [] |
rollback.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur pré-rollback dans le pod | [] |
rollback.job.image.repository | Dépôt d'images du job de rollback | onlyoffice/docs-utils |
rollback.job.image.tag | Tag d'image du job de rollback | 9.0.4-1 |
rollback.job.image.pullPolicy | Politique de téléchargement d'image du job de rollback | IfNotPresent |
rollback.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur pré-rollback | false |
rollback.job.resources.requests | Les ressources demandées pour le conteneur du job de rollback | {} |
rollback.job.resources.limits | Les limites de ressources pour le conteneur du job de rollback | {} |
rollback.existingConfigmap.tblRemove.name | Le nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de données | remove-db-scripts |
rollback.existingConfigmap.tblRemove.cléName | Le 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.name | removetbl.sql |
rollback.existingConfigmap.tblCreate.name | Le nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de données | init-db-scripts |
rollback.existingConfigmap.tblCreate.cléName | Le 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.name | createdb.sql |
rollback.existingConfigmap.dsStop | Le 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.enabled | Activer l'exécution du job pré-suppression avant la suppression d'ONLYOFFICE Docs | true |
delete.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod pré-suppression | {} |
delete.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job pré-suppression. S'il est défini, il a priorité sur tolerations | [] |
delete.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur pré-suppression dans le pod | [] |
delete.job.image.repository | Dépôt d'images du job de suppression | onlyoffice/docs-utils |
delete.job.image.tag | Tag d'image du job de suppression | 9.0.4-1 |
delete.job.image.pullPolicy | Politique de téléchargement d'image du job de suppression | IfNotPresent |
delete.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur pré-suppression | false |
delete.job.resources.requests | Les ressources demandées pour le conteneur du job de suppression | {} |
delete.job.resources.limits | Les limites de ressources pour le conteneur du job de suppression | {} |
delete.existingConfigmap.tblRemove.name | Le nom du ConfigMap existant contenant le fichier SQL pour supprimer les tables de la base de données | remove-db-scripts |
delete.existingConfigmap.tblRemove.cléName | Le 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.name | removetbl.sql |
delete.existingConfigmap.dsStop | Le 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.enabled | Activer l'exécution du job pré-installation avant l'installation d'ONLYOFFICE Docs | true |
install.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod pré-installation | {} |
install.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job pré-installation. S'il est défini, il a priorité sur tolerations | [] |
install.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur pré-installation dans le pod | [] |
install.job.image.repository | Dépôt d'images du job pré-installation ONLYOFFICE Docs | onlyoffice/docs-utils |
install.job.image.tag | Tag d'image du job pré-installation ONLYOFFICE Docs | 9.0.4-1 |
install.job.image.pullPolicy | Politique de téléchargement d'image du job pré-installation ONLYOFFICE Docs | IfNotPresent |
install.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur pré-installation | false |
install.job.resources.requests | Les ressources demandées pour le conteneur du job pré-installation | {} |
install.job.resources.limits | Les limites de ressources pour le conteneur du job pré-installation | {} |
install.existingConfigmap.tblCreate.name | Le nom du ConfigMap existant contenant le fichier SQL pour créer les tables de la base de données | init-db-scripts |
install.existingConfigmap.tblCreate.cléName | Le 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.name | createdb.sql |
install.existingConfigmap.initdb | Le 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.enabled | Activer 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 cache | true |
clearCache.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod Clear Cache | {} |
clearCache.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job Clear Cache. S'il est défini, il a priorité sur tolerations | [] |
clearCache.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Clear Cache dans le pod | [] |
clearCache.job.image.repository | Dépôt d'images du job Clear Cache ONLYOFFICE Docs | onlyoffice/docs-utils |
clearCache.job.image.tag | Tag d'image du job Clear Cache ONLYOFFICE Docs | 9.0.4-1 |
clearCache.job.image.pullPolicy | Politique de téléchargement d'image du job Clear Cache ONLYOFFICE Docs | IfNotPresent |
clearCache.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Clear Cache | false |
clearCache.job.resources.requests | Les ressources demandées pour le conteneur du job Clear Cache | {} |
clearCache.job.resources.limits | Les limites de ressources pour le conteneur du job Clear Cache | {} |
clearCache.existingConfigmap.name | Le 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éName | Le 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 used | clearCache.sh |
grafanaDashboard.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod Grafana Dashboard | {} |
grafanaDashboard.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job Grafana Dashboard. S'il est défini, il a priorité sur tolerations | [] |
grafanaDashboard.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Grafana Dashboard dans le pod | [] |
grafanaDashboard.job.image.repository | Dépôt d'images du job Grafana Dashboard ONLYOFFICE Docs | onlyoffice/docs-utils |
grafanaDashboard.job.image.tag | Tag d'image du job Grafana Dashboard ONLYOFFICE Docs | 9.0.4-1 |
grafanaDashboard.job.image.pullPolicy | Politique de téléchargement d'image du job Grafana Dashboard ONLYOFFICE Docs | IfNotPresent |
grafanaDashboard.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Grafana Dashboard | false |
grafanaDashboard.job.resources.requests | Les ressources demandées pour le conteneur du job Grafana Dashboard | {} |
grafanaDashboard.job.resources.limits | Les limites de ressources pour le conteneur du job Grafana Dashboard | {} |
wopiKeysGeneration.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod Wopi Keys Generation | {} |
wopiKeysGeneration.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job Wopi Keys Generation. S'il est défini, il a priorité sur tolerations | [] |
wopiKeysGeneration.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Wopi Keys Generation dans le pod | [] |
wopiKeysGeneration.job.image.repository | Dépôt d'images du job Wopi Keys Generation ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysGeneration.job.image.tag | Tag d'image du job Wopi Keys Generation ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysGeneration.job.image.pullPolicy | Politique de téléchargement d'image du job Wopi Keys Generation ONLYOFFICE Docs | IfNotPresent |
wopiKeysGeneration.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Wopi Keys Generation | false |
wopiKeysGeneration.job.resources.requests | Les ressources demandées pour le conteneur du job Wopi Keys Generation | {} |
wopiKeysGeneration.job.resources.limits | Les 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 true | true |
wopiKeysDeletion.job.annotations | Dé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.podAnnotations | Map d'annotations à ajouter au pod Wopi Keys Deletion | {} |
wopiKeysDeletion.job.customPodAntiAffinity | Interdiction 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.podAffinity | Dé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.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod du job Wopi Keys Deletion. S'il est défini, il a priorité sur tolerations | [] |
wopiKeysDeletion.job.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Wopi Keys Deletion dans le pod | [] |
wopiKeysDeletion.job.image.repository | Dépôt d'images du job Wopi Keys Deletion ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysDeletion.job.image.tag | Tag d'image du job Wopi Keys Deletion ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysDeletion.job.image.pullPolicy | Politique de téléchargement d'image du job Wopi Keys Deletion ONLYOFFICE Docs | IfNotPresent |
wopiKeysDeletion.job.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Wopi Keys Deletion | false |
wopiKeysDeletion.job.resources.requests | Les ressources demandées pour le conteneur du job Wopi Keys Deletion | {} |
wopiKeysDeletion.job.resources.limits | Les limites de ressources pour le conteneur du job Wopi Keys Deletion | {} |
tests.enabled | Activer 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 commande | true |
tests.annotations | Définit les annotations qui seront ajoutées en supplément au pod Test. S'il est défini, il a priorité sur commonAnnotations | {} |
tests.customPodAntiAffinity | Interdiction de la planification du pod Test par rapport aux autres pods contenant les étiquettes spécifiées sur le même nœud | {} |
tests.podAffinity | Définit les règles d\'affinité de Pod pour la planification du pod Test par nœuds par rapport aux autres pods | {} |
tests.nodeAffinity | Dé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.tolerations | Tolérances pour l'attribution du pod Test. S'il est défini, il a priorité sur tolerations | [] |
tests.initContainers | Définit les conteneurs qui s'exécutent avant le conteneur Test dans le pod | [] |
tests.image.repository | Nom d'image de conteneur Test | onlyoffice/docs-utils |
tests.image.tag | Tag d'image de conteneur Test | 9.0.4-1 |
tests.image.pullPolicy | Politique de téléchargement d'image de conteneur Test | IfNotPresent |
tests.containerSecurityContext.enabled | Activer le contexte de sécurité pour le conteneur Test | false |
tests.resources.requests | Les ressources demandées pour le conteneur Test | {} |
tests.resources.limits | Les 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
-
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 -
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=trueSi 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éfinissezgrafana.ingress.enabledàtrue:$ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true -
Exposer ONLYOFFICE Docs
-
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=80Exé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/. -
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=2Pour 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-nginxConsultez plus de détails sur l'installation de Nginx Ingress via Helm ici.
Choisissez ensuite votre méthode d'exposition :
-
Via HTTPVous devez ignorer ceci si vous allez exposer ONLYOFFICE Docs via HTTPS.
$ helm install documentserver onlyoffice/docs --set ingress.enabled=trueObtenez 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
tlsavec 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.comAssociez 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=falseInstallez ou mettez à niveau ONLYOFFICE Docs en définissant
ingress.enabled,ingress.ssl.enabled,ingress.letsencrypt.enabledàtrue, et en spécifiant vos valeurs pouringress.letsencrypt.emailetingress.host(ouingress.tenantspour plusieurs domaines). -
Via un chemin virtuel
Définissez les paramètres
ingress.enabled,ingress.hostetingress.path:$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docsContrô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(/|$)(.*).
-
-
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=/docsPour la terminaison TLS, ajoutez manuellement des certificats à la route via la console web OpenShift.
-
Exposer ONLYOFFICE Docs via Service (HTTP uniquement)
6. Mettre à l'échelle ONLYOFFICE Docs
-
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
docserviceandconvertersoit calculé automatiquement en fonction des valeurs et du type de métriques.Pour les métriques de ressources, l'API
metrics.k8s.iodoit ê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ètredocservice.autoscaling.enabled=true. De même, pour activer HPA pour le déploiementconverter, spécifiezconverter.autoscaling.enabled=true. Dans les deux cas, le paramètrereplicascorrespondant 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.
-
Mise à l'échelle manuelle
Les déploiements
docserviceetconvertersont 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_COUNTPour 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]
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
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
8. Arrêter ONLYOFFICE Docs
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
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.licdans 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.
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Test de fonctionnement ONLYOFFICE Docs
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>
11. Exécuter des Jobs dans le cluster privé k8s
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.
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
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
1. Deployer Grafana
-
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 -
Déployer Grafana avec des tableaux de bord prêts à l'emploi
-
Installer des tableaux de bord Grafana prêts à l'emploi
Définissez les paramètres
grafana.enabledetgrafana.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=trueCela 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).
-
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.jsonLes 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.
-
Installer des tableaux de bord Grafana prêts à l'emploi
2. Accéder à Grafana via Ingress
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.