ONLYOFFICE Docs auf Kubernetes
Einführung
Die folgende Anleitung gilt nur für die kostenpflichtige Cluster-Lizenzlösung.
- Sie müssen einen Kubernetes- oder OpenShift-Cluster installiert haben:
- Lesen Sie die Referenz, um Kubernetes einzurichten.
- Lesen Sie die Referenz, um OpenShift einzurichten.
- Sie sollten außerdem eine lokal konfigurierte Kopie von
kubectlhaben. In dieser Anleitung erfahren Sie, wie Siekubectlinstallieren und konfigurieren. - Sie sollten Helm v3.7+ installieren. Folgen Sie hier der Anleitung, um es zu installieren.
- Wenn Sie OpenShift verwenden, können Sie sowohl
ocals auchkubectlzur Verwaltung der Bereitstellung verwenden. - Wenn die Installation von Komponenten außerhalb von 'Docs' über ein Helm Chart in einem OpenShift-Cluster erfolgt, wird empfohlen, sie von einem Benutzer mit der Rolle
cluster-admininstallieren zu lassen, um mögliche Probleme mit Zugriffsrechten zu vermeiden. In dieser Anleitung erfahren Sie, wie Sie dem Benutzer die erforderlichen Rollen hinzufügen.
Voraussetzungen für die Bereitstellung
Bei der Installation in einem OpenShift-Cluster kann es erforderlich sein, die Richtlinie SecurityContextConstraints anzuwenden, die die Berechtigung hinzufügt, Container von einem Benutzer mit der ID = 1001 auszuführen.
Führen Sie dazu die folgenden Befehle aus:
$ 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
Alternativ können Sie den zulässigen Bereich von Benutzern und Gruppen aus dem Ziel-Namespace angeben, siehe die Parameter runAsUser und fsGroup bei der Installation von Abhängigkeiten wie RabbitMQ, Redis, PostgreSQL usw.
1. Helm-Repositorys hinzufügen
$ 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. Persistenten Speicher installieren
Wenn Sie Amazon S3 als Cache verwenden möchten, überspringen Sie bitte diesen Schritt.
NFS Server Provisioner installieren
Bei der Installation von NFS Server Provisioner wird die Storage Class NFS erstellt. Bei der Installation in einem OpenShift-Cluster muss der Benutzer eine Rolle haben, die das Erstellen von Storage Classes im Cluster erlaubt. Weitere Informationen finden Sie hier.
$ 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_CLASSist eine Persistent Storage Class, die in Ihrem Kubernetes-Cluster verfügbar ist.Persistent Storage Classes für verschiedene Anbieter:
- Amazon EKS:
gp2 - Digital Ocean:
do-block-storage - IBM Cloud: Standard
ibmc-file-bronze. Weitere Storage Classes - Yandex Cloud:
yc-network-hddoderyc-network-ssd. Weitere Details - minikube:
standard
- Amazon EKS:
-
PERSISTENT_SIZEist die Gesamtgröße aller persistenten Speicher für die nfs Persistent Storage Class. Sie können die Größe als einfache Ganzzahl mit einem dieser Suffixe angeben:T,G,M,Ti,Gi,Mi. Zum Beispiel:9Gi.
Weitere Details zur Installation von NFS Server Provisioner über Helm finden Sie hier.
Persistent Volume Claim konfigurieren
Der Standard-Persistent Volume Claim nfs beträgt 8Gi. Sie können ihn in der Datei values.yaml im Abschnitt persistence.storageClass und persistence.size ändern. Er sollte mindestens etwa 5 % kleiner als PERSISTENT_SIZE sein. Es wird empfohlen, für je 100 aktive Benutzer von ONLYOFFICE Docs 8Gi oder mehr persistenten Speicher zu verwenden.
Der PersistentVolume-Typ, der für die PVC-Platzierung verwendet wird, muss den Zugriffsmodus ReadWriteMany unterstützen. Außerdem muss das PersistentVolume den Benutzer als Eigentümer haben, unter dem ONLYOFFICE Docs gestartet wird. Standardmäßig ist das ds (101:101).
Wenn Sie WOPI aktivieren möchten, setzen Sie bitte den Parameter wopi.enabled=true. In diesem Fall muss der persistente Speicher mit den Cluster-Knoten verbunden sein, wobei die Caching-Attribute für das eingehängte Verzeichnis für die Clients deaktiviert sind. Für NFS Server Provisioner erreichen Sie dies, indem Sie dem Parameter storageClass.mountOptions die Option noac hinzufügen. Weitere Informationen finden Sie hier.
3. RabbitMQ bereitstellen
Um RabbitMQ in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ 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
Setzen Sie metrics.enabled=true, um RabbitMQ-Metriken für die Erfassung durch Prometheus bereitzustellen.
Weitere Details zur Installation von RabbitMQ über Helm finden Sie hier.
4. Redis bereitstellen
Um Redis in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ 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
Setzen Sie metrics.enabled=true, um Redis-Metriken für die Erfassung durch Prometheus bereitzustellen. Fügen Sie außerdem die folgenden Parameter hinzu: metrics.image.repository=bitnamilegacy/redis-exporter und metrics.image.tag=1.76.0-debian-12-r0.
Weitere Details zur Installation von Redis über Helm finden Sie hier.
5. Datenbank bereitstellen
Als Datenbankserver können Sie PostgreSQL, MySQL oder MariaDB verwenden.
- PostgreSQL
- MySQL
Um PostgreSQL in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ 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
Setzen Sie metrics.enabled=true, um Datenbankmetriken für die Erfassung durch Prometheus bereitzustellen. Fügen Sie außerdem die folgenden Parameter hinzu: metrics.image.repository=bitnamilegacy/postgres-exporter und metrics.image.tag=0.17.1-debian-12-r16.
Weitere Details zur Installation von PostgreSQL über Helm finden Sie hier.
Um MySQL in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ 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
Weitere Details zur Installation von MySQL über Helm finden Sie hier.
Dabei ist PERSISTENT_SIZE die Größe des persistenten Volumes für die Datenbank. Zum Beispiel: 8Gi.
Es wird empfohlen, für je 100 aktive Benutzer von ONLYOFFICE Docs mindestens 2Gi persistenten Speicher zu verwenden.
Setzen Sie metrics.enabled=true, um Datenbankmetriken für die Erfassung durch Prometheus bereitzustellen. Fügen Sie außerdem die folgenden Parameter hinzu: metrics.image.repository=bitnamilegacy/mysqld-exporter und metrics.image.tag=0.17.2-debian-12-r16.
6. StatsD Exporter bereitstellen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie StatsD Exporter nicht ausführen möchten.
-
Helm-Repositorys hinzufügen
$ 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 -
Prometheus installieren
Um Prometheus in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ helm install prometheus -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/extraScrapeConfigs.yaml prometheus-community/prometheus \--set server.global.scrape_interval=1mUm das Scrape-Intervall zu ändern, geben Sie den Parameter
server.global.scrape_intervalan.Weitere Details zur Installation von Prometheus über Helm finden Sie hier.
-
StatsD Exporter installieren
Um StatsD Exporter in Ihrem Cluster zu installieren, führen Sie den folgenden Befehl aus:
$ helm install statsd-exporter prometheus-community/prometheus-statsd-exporter \--set statsd.udpPort=8125 \--set statsd.tcpPort=8126 \--set statsd.eventFlushInterval=30000msWeitere Details zur Installation von Prometheus StatsD Exporter über Helm finden Sie hier.
Um die StatsD-Metriken in ONLYOFFICE Docs zu erlauben, folgen Sie diesem Schritt.
7. Änderungen an den Node-config-Konfigurationsdateien vornehmen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie keine Änderungen an den Konfigurationsdateien vornehmen müssen.
-
Eine ConfigMap mit einer JSON-Datei erstellen
Um eine ConfigMap aus einer Datei mit der Struktur
local.jsonzu erstellen, müssen Sie den folgenden Befehl ausführen:$ kubectl create configmap local-config \--from-file=./local.jsonhinweisAnstelle von
local-configkann ein beliebiger Name verwendet werden. -
Parameter bei der Installation von ONLYOFFICE Docs angeben
Geben Sie bei der Installation von ONLYOFFICE Docs die Parameter
extraConf.configMap=local-configundextraConf.filename=local.jsonan.hinweisWenn Sie eine Konfigurationsdatei hinzufügen müssen, nachdem ONLYOFFICE Docs bereits installiert ist, müssen Sie Schritt 7.1 ausführen und anschließend den Befehl
helm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooksoder
helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksausführen, wenn die Parameter in der Datei
values.yamlangegeben sind.
8. Benutzerdefinierte Schriftarten hinzufügen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie keine eigenen Schriftarten hinzufügen müssen.
Um den Images Schriftarten hinzuzufügen, müssen Sie die Images neu erstellen. Lesen Sie die entsprechenden Schritte in diesem Handbuch. Geben Sie dann Ihre Images bei der Installation von ONLYOFFICE Docs an.
9. Plugins hinzufügen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie keine Plugins hinzufügen müssen.
Um den Images Plugins hinzuzufügen, müssen Sie die Images neu erstellen. Lesen Sie die entsprechenden Schritte in diesem Handbuch. Geben Sie dann Ihre Images bei der Installation von ONLYOFFICE Docs an.
10. Benutzerdefinierte Wörterbücher hinzufügen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie keine eigenen Wörterbücher hinzufügen müssen.
Um den Images Ihre benutzerdefinierten Wörterbücher hinzuzufügen, müssen Sie die Images neu erstellen. Lesen Sie die entsprechenden Schritte in diesem Handbuch. Geben Sie dann Ihre Images bei der Installation von ONLYOFFICE Docs an.
11. Designs der Benutzeroberfläche ändern
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie die Designs der Benutzeroberfläche nicht ändern müssen.
-
Eine ConfigMap mit einer JSON-Datei erstellen
Um eine ConfigMap mit einer JSON-Datei zu erstellen, die die Designs der Benutzeroberfläche enthält, müssen Sie den folgenden Befehl ausführen:
$ kubectl create configmap custom-themes \--from-file=./custom-themes.jsonhinweisAnstelle von
custom-themesundcustom-themes.jsonkönnen Sie beliebige andere Namen verwenden. -
Parameter bei der Installation von ONLYOFFICE Docs angeben
Geben Sie bei der Installation von ONLYOFFICE Docs die Parameter
extraThemes.configMap=custom-themesundextraThemes.filename=custom-themes.jsonan.hinweisWenn Sie Designs der Benutzeroberfläche hinzufügen müssen, nachdem ONLYOFFICE Docs bereits installiert ist, müssen Sie Schritt 11.1 ausführen und anschließend den Befehl
helm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooksoderhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksausführen, wenn die Parameter in der Dateivalues.yamlangegeben sind.
12. Amazon S3-Bucket als Cache mit ONLYOFFICE Helm Docs verbinden
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie Amazon S3 nicht als Cache-Speicher verwenden möchten.
Um einen Amazon S3-Bucket als Cache zu verbinden, müssen Sie eine Konfigurationsdatei erstellen oder die vorhandene gemäß dieser Anleitung bearbeiten und den Wert des Parameters persistence.storageS3 auf true ändern.
ONLYOFFICE Docs bereitstellen
Bei der Installation in einem OpenShift-Cluster kann es erforderlich sein, die Richtlinie SecurityContextConstraints anzuwenden, die die Berechtigung hinzufügt, Container von einem Benutzer mit der ID = 101 auszuführen.
Führen Sie dazu die folgenden Befehle aus:
$ 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
Alternativ können Sie die SecurityContextConstraints-Richtlinie (SCC) nonroot-v2 in den commonAnnotations oder annotations für alle Ressourcen anwenden, die das podTemplate beschreiben. Stellen Sie sicher, dass sowohl der Benutzer als auch das Dienstkonto über die erforderlichen Berechtigungen zur Verwendung dieser SCC verfügen. Um zu überprüfen, wer die Berechtigung zur Verwendung von nonroot-v2 hat, führen Sie den folgenden Befehl aus:
oc adm policy who-can use scc nonroot-v2
helm install documentserver onlyoffice/docs --set commonAnnotations."openshift\.io/required-scc"="nonroot-v2"
Setzen Sie bei Bedarf podSecurityContext.enabled und <resources>.containerSecurityContext.enabled auf true.
1. Die ONLYOFFICE Docs-Lizenz bereitstellen
-
Secret erstellen
Wenn Sie eine gültige ONLYOFFICE Docs-Lizenz haben, erstellen Sie aus der Datei ein Secret
license:$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.licDabei ist
SECRET_LICENSE_NAMEder Name eines zukünftigen Secrets mit einer Lizenz.hinweisDie Quell-Lizenzdatei muss 'license.lic' heißen, da dieser Name als Feld im erstellten Secret verwendet wird.
hinweisWenn die Installation ohne Erstellung eines Secrets mit der vorhandenen Lizenzdatei erfolgt, wird automatisch ein leeres Secret
licenseerstellt. Informationen zum Aktualisieren eines vorhandenen Secrets mit einer Lizenz finden Sie hier. -
Parameter bei der Installation von ONLYOFFICE Docs angeben
Geben Sie bei der Installation von ONLYOFFICE Docs den Parameter
license.existingSecret=[SECRET_LICENSE_NAME]an.$ helm install documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME]hinweisWenn Sie eine Lizenz hinzufügen müssen, nachdem ONLYOFFICE Docs bereits installiert ist, müssen Sie Schritt 1.1 ausführen und anschließend den Befehl
helm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooksoderhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksausführen, wenn die Parameter in der Dateivalues.yamlangegeben sind.
2. ONLYOFFICE Docs bereitstellen
So stellen Sie ONLYOFFICE Docs mit dem Release-Namen documentserver bereit:
$ helm install documentserver onlyoffice/docs
Der Befehl stellt ONLYOFFICE Docs im Kubernetes-Cluster in der Standardkonfiguration bereit. Im Abschnitt Parameter sind die Parameter aufgeführt, die während der Installation konfiguriert werden können.
Wenn Sie ONLYOFFICE Docs in einem privaten k8s-Cluster hinter einem Web-Proxy oder ohne Internetzugang installieren, beachten Sie die Hinweise unten.
3. ONLYOFFICE Docs deinstallieren
So deinstallieren/löschen Sie die Bereitstellung documentserver:
$ helm delete documentserver
Der Befehl helm delete startet Hooks, die vor dem vollständigen Löschen von ONLYOFFICE Docs einige vorbereitende Aktionen ausführen, darunter das Anhalten des Servers und das Bereinigen des verwendeten PVC und der Datenbanktabellen. Die Standardausführungszeit der Hooks beträgt 300 s. Die Ausführungszeit kann mit --timeout [time] geändert werden, zum Beispiel:
$ helm delete documentserver --timeout 25m
Wenn Sie ONLYOFFICE Docs in einem privaten k8s-Cluster hinter einem Web-Proxy oder ohne Internetzugang löschen, beachten Sie die Hinweise unten.
Wenn Sie ONLYOFFICE Docs ohne vorbereitende Aktionen löschen möchten, führen Sie den folgenden Befehl aus:
$ helm delete documentserver --no-hooks
Der Befehl helm delete entfernt alle mit dem Chart verknüpften Kubernetes-Komponenten und löscht das Release.
4. Parameter
Geben Sie jeden Parameter mit dem Argument --set key=value[,key=value] für helm install an. Zum Beispiel:
$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com
Dieser Befehl stellt ONLYOFFICE Docs über HTTPS bereit.
Alternativ kann bei der Installation des Charts eine YAML-Datei mit den Werten für die Parameter angegeben werden:
$ helm install documentserver -f values.yaml onlyoffice/docs
Sie können die Standarddatei values.yaml verwenden.
Alle Parameter anzeigen
| Parameter | Beschreibung | Standard |
|---|---|---|
connections.dbType | Der Datenbanktyp. Mögliche Werte sind postgres, mariadb, mysql, oracle, mssql oder dameng | postgres |
connections.dbHost | Die IP-Adresse oder der Name des Datenbank-Hosts | postgresql |
connections.dbUser | Datenbankbenutzer | postgres |
connections.dbPort | Portnummer des Datenbankservers | 5432 |
connections.dbName | Name der Datenbank, mit der die Anwendung verbunden wird | postgres |
connections.dbPassword | Passwort des Datenbankbenutzers. Wenn gesetzt, hat es Vorrang vor connections.dbExistingSecret | "" |
connections.dbSecretKeyName | Der Name des Schlüssels, der das Passwort des Datenbankbenutzers enthält | postgres-password |
connections.dbExistingSecret | Name des vorhandenen Secrets, das für Datenbankpasswörter verwendet wird. Muss den in connections.dbSecretKeyName angegebenen Schlüssel enthalten | postgresql |
connections.redisConnectorName | Legt fest, welcher Connector für die Verbindung zu Redis verwendet wird. Wenn Sie eine Verbindung zu Redis Sentinel herstellen müssen, setzen Sie den Wert ioredis | redis |
connections.redisHost | Die IP-Adresse oder der Name des Redis-Hosts. Wird nicht verwendet, wenn die Werte in connections.redisClusterNodes und connections.redisSentinelNodes gesetzt sind | redis-master |
connections.redisPort | Die Portnummer des Redis-Servers. Wird nicht verwendet, wenn die Werte in connections.redisClusterNodes und connections.redisSentinelNodes gesetzt sind | 6379 |
connections.redisUser | Der Name des Redis-Benutzers. Der Wert dieses Parameters überschreibt den im Objekt options in local.json gesetzten Wert, wenn Sie eine benutzerdefinierte Konfigurationsdatei hinzufügen | default |
connections.redisDBNum | Nummer der logischen Redis-Datenbank, die ausgewählt werden soll. Der Wert dieses Parameters überschreibt den im Objekt options in local.json gesetzten Wert, wenn Sie eine benutzerdefinierte Konfigurationsdatei hinzufügen | 0 |
connections.redisClusterNodes | Liste der Knoten im Redis-Cluster. Es ist nicht nötig, jeden Knoten im Cluster anzugeben, 3 sollten ausreichen. Sie können mehrere Werte angeben. Die Angabe muss im Format host:port erfolgen | [] |
connections.redisPassword | Das für das Redis-Konto festgelegte Passwort. Wenn gesetzt, hat es Vorrang vor connections.redisExistingSecret. Der Wert dieses Parameters überschreibt den im Objekt options in local.json gesetzten Wert, wenn Sie eine benutzerdefinierte Konfigurationsdatei hinzufügen | "" |
connections.redisSecretKeyName | Der Name des Schlüssels, der das Passwort des Redis-Benutzers enthält | redis-password |
connections.redisExistingSecret | Name des vorhandenen Secrets, das für Redis-Passwörter verwendet wird. Muss den in connections.redisSecretKeyName angegebenen Schlüssel enthalten. Das Passwort aus diesem Secret überschreibt das im Objekt options in local.json gesetzte Passwort | redis |
connections.redisNoPass | Legt fest, ob eine Redis-Authentifizierung ohne Passwort verwendet wird. Wenn die Verbindung zum Redis-Server kein Passwort erfordert, setzen Sie den Wert auf true | false |
connections.redisSentinelNodes | Liste der Redis Sentinel-Knoten. Es ist nicht nötig, jeden Knoten anzugeben, 3 sollten ausreichen. Sie können mehrere Werte angeben. Die Angabe muss im Format host:port erfolgen. Wird verwendet, wenn connections.redisConnectorName auf ioredis gesetzt ist | [] |
connections.redisSentinelGroupName | Name einer Gruppe von Redis-Instanzen, bestehend aus einem Master und einem oder mehreren Slaves. Wird verwendet, wenn connections.redisConnectorName auf ioredis gesetzt ist | mymaster |
connections.redisSentinelExistingSecret | Name des vorhandenen Secrets, das für das Redis Sentinel-Passwort verwendet wird. Muss den in connections.redisSentinelSecretKeyName angegebenen Schlüssel enthalten. Das Passwort aus diesem Secret überschreibt den Wert des im Objekt iooptions in local.json gesetzten Passworts | "" |
connections.redisSentinelSecretKeyName | Der Name des Schlüssels, der das Passwort des Redis Sentinel-Benutzers enthält. Wenn Sie in redisSentinelPassword ein Passwort festlegen, wird automatisch ein Secret erstellt, dessen Schlüsselname der hier gesetzte Wert ist | sentinel-password |
connections.redisSentinelPassword | Das für das Redis Sentinel-Konto festgelegte Passwort. Wenn gesetzt, hat es Vorrang vor connections.redisSentinelExistingSecret. Der Wert dieses Parameters überschreibt den im Objekt iooptions in local.json gesetzten Wert | "" |
connections.redisSentinelNoPass | Legt fest, ob eine Redis Sentinel-Authentifizierung ohne Passwort verwendet wird. Wenn die Verbindung zu Redis Sentinel kein Passwort erfordert, setzen Sie den Wert auf true | true |
connections.amqpType | Legt den Typ des AMQP-Servers fest. Mögliche Werte sind rabbitmq oder activemq | rabbitmq |
connections.amqpHost | Die IP-Adresse oder der Name des AMQP-Servers | rabbitmq |
connections.amqpPort | Der Port für die Verbindung zum AMQP-Server | 5672 |
connections.amqpVhost | Der virtuelle Host für die Verbindung zum AMQP-Server | / |
connections.amqpUser | Der Benutzername für das AMQP-Serverkonto | user |
connections.amqpProto | Das Protokoll für die Verbindung zum AMQP-Server | amqp |
connections.amqpPassword | Passwort des AMQP-Serverbenutzers. Wenn gesetzt, hat es Vorrang vor connections.amqpExistingSecret | "" |
connections.amqpSecretKeyName | Der Name des Schlüssels, der das Passwort des AMQP-Serverbenutzers enthält | rabbitmq-password |
connections.amqpExistingSecret | Der Name des vorhandenen Secrets, das für AMQP-Serverpasswörter verwendet wird. Muss den in connections.amqpSecretKeyName angegebenen Schlüssel enthalten | rabbitmq |
persistence.existingClaim | Name eines vorhandenen PVC, das verwendet werden soll. Wenn nicht angegeben, wird ein PVC mit dem Namen "ds-files" erstellt | "" |
persistence.annotations | Legt Annotationen fest, die dem PVC "ds-files" zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
persistence.storageClass | PVC-Storage Class für die Daten von ONLYOFFICE Docs und die Volumes der Laufzeitkonfiguration | nfs |
persistence.size | PVC-Speicheranforderung für das ONLYOFFICE Docs-Volume | 8Gi |
persistence.storageS3 | Legt fest, ob S3 als Cache-Speicher verwendet wird. Setzen Sie den Wert auf true, wenn Sie S3 als Cache-Speicher verwenden | false |
persistence.runtimeConfig.enabled | Legt fest, ob PVC verwendet und in Container eingehängt wird | true |
persistence.runtimeConfig.existingClaim | Der Name des vorhandenen PVC, in dem die Laufzeitkonfiguration gespeichert wird. Wenn nicht angegeben, wird ein PVC mit dem Namen "ds-runtime-config" erstellt | "" |
persistence.runtimeConfig.annotations | Legt Annotationen fest, die dem PVC "ds-runtime-config" zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
persistence.runtimeConfig.size | PVC-Speicheranforderung für das Volume der Laufzeitkonfiguration | 1Gi |
commonNameSuffix | Der Name, der dem Namen aller erstellten Ressourcen als Suffix angehängt wird | "" |
namespaceOverride | Der Name des Namespace, in dem ONLYOFFICE Docs bereitgestellt wird. Wenn nicht gesetzt, wird der Name aus .Release.Namespace übernommen | "" |
commonLabels | Legt Labels fest, die allen bereitgestellten Ressourcen zusätzlich hinzugefügt werden. Sie können auch tpl als Wert für den Schlüssel verwenden | {} |
commonAnnotations | Legt Annotationen fest, die allen bereitgestellten Ressourcen zusätzlich hinzugefügt werden. Sie können auch tpl als Wert für den Schlüssel verwenden. Einige Ressourcen können die hier angegebenen Werte mit eigenen überschreiben | {} |
serviceAccount.create | Erstellung des ServiceAccount aktivieren | false |
serviceAccount.name | Name des zu verwendenden ServiceAccount. Wenn nicht gesetzt und serviceAccount.create gleich true ist, wird der Name aus .Release.Name übernommen; ist serviceAccount.create gleich false, lautet der Name "default" | "" |
serviceAccount.annotations | Map von Annotationen, die dem ServiceAccount hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
serviceAccount.automountServiceAccountToken | Automatisches Einhängen des ServiceAccountToken im erstellten serviceAccount aktivieren. Wird nur verwendet, wenn serviceAccount.create gleich true ist | true |
license.existingSecret | Name des vorhandenen Secrets, das die Lizenz enthält. Muss den Schlüssel license.lic enthalten | "" |
license.existingClaim | Name des vorhandenen PVC, in dem die Lizenz gespeichert ist. Muss die Datei license.lic enthalten | "" |
log.level | Legt Typ und Schweregrad eines protokollierten Ereignisses fest. Mögliche Werte sind ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, MARK, OFF | WARN |
log.type | Legt das Format eines protokollierten Ereignisses fest. Mögliche Werte sind pattern, json, basic, coloured, messagePassThrough, dummy | pattern |
log.pattern | Legt das Muster des Protokolls fest, wenn log.type=pattern | [%d] [%p] %c - %.10000m |
wopi.enabled | Legt fest, ob WOPI aktiviert ist. Wenn der Parameter aktiviert ist, sollten die Caching-Attribute für das eingehängte Verzeichnis (PVC) für den Client deaktiviert sein | false |
wopi.keys.generation | Legt fest, ob API-Schlüssel generiert werden. Wird verwendet, wenn Sie wopi.enabled auf true setzen | true |
wopi.keys.newKeysExistingSecret | Name des vorhandenen Secrets mit den WOPI-Schlüsseln. Muss die Schlüssel WOPI_PRIVATE_KEY, WOPI_PUBLIC_KEY, WOPI_MODULUS_KEY und WOPI_EXPONENT_KEY enthalten. Wenn nicht gesetzt, werden neue Schlüssel generiert und daraus ein Secret erstellt | "" |
wopi.keys.oldKeysExistingSecret | Name des vorhandenen Secrets mit den alten WOPI-Schlüsseln. Muss die Schlüssel WOPI_PRIVATE_KEY_OLD, WOPI_PUBLIC_KEY_OLD, WOPI_MODULUS_KEY_OLD und WOPI_EXPONENT_KEY_OLD enthalten. Wenn nicht gesetzt, werden neue Schlüssel generiert und daraus ein Secret erstellt | "" |
metrics.enabled | Gibt an, ob StatsD für ONLYOFFICE Docs aktiviert ist | false |
metrics.host | Legt den StatsD-Listening-Host fest | statsd-exporter-prometheus-statsd-exporter |
metrics.port | Legt den StatsD-Listening-Port fest | 8125 |
metrics.prefix | Legt das Präfix der StatsD-Metriken für Backend-Dienste fest | ds. |
extraConf.configMap | Der Name der ConfigMap mit der JSON-Datei, die die Standardwerte überschreibt | "" |
extraConf.filename | Der Name der JSON-Datei mit benutzerdefinierten Werten. Muss mit dem Namen von key in extraConf.ConfigMap übereinstimmen | local.json |
extraThemes.configMap | Der Name der ConfigMap mit der JSON-Datei, die die Designs der Benutzeroberfläche enthält | "" |
extraThemes.filename | Der Name der JSON-Datei mit benutzerdefinierten Designs der Benutzeroberfläche. Muss mit dem Namen von key in extraThemes.configMap übereinstimmen | custom-themes.json |
podAntiAffinity.type | Typen der Pod-Anti-Affinität. Zulässige Werte: soft oder hard | soft |
podAntiAffinity.topologyKey | Abzugleichender Schlüssel des Knoten-Labels | kubernetes.io/hostname |
podAntiAffinity.weight | Priorität bei der Auswahl des Knotens. Liegt im Bereich von 1 bis 100 | 100 |
nodeSelector | Knoten-Labels für die Zuweisung von Pods. Jeder ONLYOFFICE Docs-Dienst kann die hier angegebenen Werte mit eigenen überschreiben | {} |
tolerations | Tolerations für die Zuweisung von Pods. Jeder ONLYOFFICE Docs-Dienst kann die hier angegebenen Werte mit eigenen überschreiben | [] |
imagePullSecrets | Name des Secrets für die Container-Image-Registry | "" |
requestFilteringAgent.allowPrivateIPAddress | Legt fest, ob die Verbindung zu einer privaten IP-Adresse erlaubt ist oder nicht. Die Parameter requestFilteringAgent werden verwendet, wenn JWT deaktiviert ist: jwt.enabled=false | false |
requestFilteringAgent.allowMetaIPAddress | Legt fest, ob die Verbindung zu einer Meta-Adresse erlaubt ist oder nicht | false |
requestFilteringAgent.allowIPAddressList | Legt die Liste der IP-Adressen fest, zu denen eine Verbindung erlaubt ist. Diese Werte haben Vorrang vor requestFilteringAgent.denyIPAddressList | [] |
requestFilteringAgent.denyIPAddressList | Legt die Liste der IP-Adressen fest, zu denen eine Verbindung erlaubt ist | [] |
docservice.annotations | Legt Annotationen fest, die dem Docservice-Deployment zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
docservice.podAnnotations | Map von Annotationen, die den Pods des Docservice-Deployments hinzugefügt werden | rollme: "{{ randAlphaNum 5 | quote }}" |
docservice.replicas | Anzahl der Docservice-Replikate. Wenn der Parameter docservice.autoscaling.enabled aktiviert ist, wird dieser Wert ignoriert | 2 |
docservice.updateStrategy.type | Typ der Update-Strategie des Docservice-Deployments | Recreate |
docservice.customPodAntiAffinity | Verhindert die Planung von Docservice-Pods relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
docservice.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen Docservice-Pods relativ zu anderen Pods auf Knoten geplant werden | {} |
docservice.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen Docservice-Pods auf Knoten geplant werden | {} |
docservice.nodeSelector | Knoten-Labels für die Zuweisung von Docservice-Pods. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
docservice.tolerations | Tolerations für die Zuweisung von Docservice-Pods. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
docservice.terminationGracePeriodSeconds | Die Zeit zum ordnungsgemäßen Beenden, während der der Docservice-Pod den Status Terminating hat | 30 |
docservice.hostAliases | Fügt der hosts-Datei in den Containern Docservice und Proxy zusätzliche Einträge hinzu | [] |
docservice.initContainers | Legt Container fest, die im Pod des Docservice-Deployments vor den Containern docservice und proxy ausgeführt werden. Zum Beispiel ein Container, der den Eigentümer des PersistentVolume ändert | [] |
docservice.image.repository | Repository des Docservice-Container-Images* | onlyoffice/docs-docservice-de |
docservice.image.tag | Tag des Docservice-Container-Images | 9.0.4-1 |
docservice.image.pullPolicy | Pull-Richtlinie des Docservice-Container-Images | IfNotPresent |
docservice.containerSecurityContext.enabled | Sicherheitskontext für den Docservice-Container aktivieren | false |
docservice.lifecycleHooks | Legt die Container-Lifecycle-Hooks von Docservice fest. Sie werden verwendet, um Ereignisse auszulösen, die zu bestimmten Zeitpunkten im Lebenszyklus eines Containers ausgeführt werden | {} |
docservice.resources.requests | Die angeforderten Ressourcen für den Docservice-Container | {} |
docservice.resources.limits | Die Ressourcenlimits für den Docservice-Container | {} |
docservice.extraEnvVars | Ein Array mit zusätzlichen Umgebungsvariablen für den Docservice-Container | [] |
docservice.extraVolumes | Ein Array mit zusätzlichen Volumes für den Docservice-Pod | [] |
docservice.extraVolumeMounts | Ein Array mit zusätzlichen Volume-Mounts für den Docservice-Container | [] |
docservice.readinessProbe.enabled | readinessProbe für den Docservice-Container aktivieren | true |
docservice.livenessProbe.enabled | livenessProbe für den Docservice-Container aktivieren | true |
docservice.startupProbe.enabled | startupProbe für den Docservice-Container aktivieren | true |
docservice.autoscaling.enabled | Autoscaling des Docservice-Deployments aktivieren | false |
docservice.autoscaling.annotations | Legt Annotationen fest, die dem HPA des Docservice-Deployments zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
docservice.autoscaling.minReplicas | Minimale Anzahl von Replikaten beim Autoscaling des Docservice-Deployments | 2 |
docservice.autoscaling.maxReplicas | Maximale Anzahl von Replikaten beim Autoscaling des Docservice-Deployments | 4 |
docservice.autoscaling.targetCPU.enabled | Autoscaling des Docservice-Deployments nach prozentualer CPU-Auslastung aktivieren | true |
docservice.autoscaling.targetCPU.utilizationPercentage | Ziel-CPU-Auslastung in Prozent beim Autoscaling des Docservice-Deployments | 70 |
docservice.autoscaling.targetMemory.enabled | Autoscaling des Docservice-Deployments nach prozentualer Speicherauslastung aktivieren | false |
docservice.autoscaling.targetMemory.utilizationPercentage | Ziel-Speicherauslastung in Prozent beim Autoscaling des Docservice-Deployments | 70 |
docservice.autoscaling.customMetricsType | Benutzerdefinierte, zusätzliche oder externe Autoscaling-Metriken für das Docservice-Deployment | [] |
docservice.autoscaling.behavior | Konfiguration der Richtlinien für das Skalierungsverhalten des Docservice-Deployments für die Felder scaleDown und scaleUp | {} |
proxy.accessLog | Legt die Formatdirektive access_log der nginx-Konfiguration fest | off |
proxy.logFormat | Legt das Format der Protokolleinträge mithilfe von Text und verschiedenen Variablen fest | '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' |
proxy.gzipProxied | Legt die Direktive gzip_proxied der nginx-Konfiguration fest | off |
proxy.clientMaxBodySize | Legt die Direktive client_max_body_size der nginx-Konfiguration fest | 100m |
proxy.workerConnections | Legt die Direktive worker_connections der nginx-Konfiguration fest | 4096 |
proxy.secureLinkSecret | Legt das Secret für die nginx-Konfigurationsdirektive secure_link_md5 fest. Ist der Wert leer, wird ein zufälliger Wert generiert, der später beim Upgrade verwendet wird. Ist ein Wert gesetzt, wird dieser verwendet | "" |
proxy.secureLinkExistingSecret | Name des vorhandenen Secrets, das für secure_link verwendet wird. Wenn gesetzt, hat es Vorrang vor proxy.secureLinkSecret | "" |
proxy.infoAllowedIP | Legt IP-Adressen für den Zugriff auf die Infoseite fest | [] |
proxy.infoAllowedUser | Legt den Benutzernamen für den Zugriff auf die Infoseite fest. Wenn nicht gesetzt, wird die Nginx-Basisauthentifizierung für den Zugriff auf die Infoseite nicht angewendet. Weitere Details finden Sie hier | "" |
proxy.infoAllowedPassword | Legt das Benutzerpasswort für den Zugriff auf die Infoseite fest. Wird verwendet, wenn proxy.infoAllowedUser gesetzt ist. Ist der Wert leer, wird ein zufälliger Wert generiert, der später beim Upgrade verwendet wird. Ist ein Wert gesetzt, wird dieser verwendet | "" |
proxy.infoAllowedSecretKeyName | Der Name des Schlüssels, der das Passwort des Benutzers für die Info-Authentifizierung enthält. Wird verwendet, wenn proxy.infoAllowedUser gesetzt ist | info-auth-password |
proxy.infoAllowedExistingSecret | Name des vorhandenen Secrets, das für das Passwort der Info-Authentifizierung verwendet wird. Wird verwendet, wenn proxy.infoAllowedUser gesetzt ist. Muss den in proxy.infoAllowedSecretKeyName angegebenen Schlüssel enthalten. Wenn gesetzt, hat es Vorrang vor proxy.infoAllowedPassword | "" |
proxy.welcomePage.enabled | Legt fest, ob die Willkommensseite angezeigt wird | true |
proxy.image.repository | Repository des Docservice-Proxy-Container-Images* | onlyoffice/docs-proxy-de |
proxy.image.tag | Tag des Docservice-Proxy-Container-Images | 9.0.4-1 |
proxy.image.pullPolicy | Pull-Richtlinie des Docservice-Proxy-Container-Images | IfNotPresent |
proxy.containerSecurityContext.enabled | Sicherheitskontext für den Proxy-Container aktivieren | false |
proxy.lifecycleHooks | Legt die Container-Lifecycle-Hooks von Proxy fest. Sie werden verwendet, um Ereignisse auszulösen, die zu bestimmten Zeitpunkten im Lebenszyklus eines Containers ausgeführt werden | {} |
proxy.resources.requests | Die angeforderten Ressourcen für den Proxy-Container | {} |
proxy.resources.limits | Die Ressourcenlimits für den Proxy-Container | {} |
proxy.extraEnvVars | Ein Array mit zusätzlichen Umgebungsvariablen für den Proxy-Container | [] |
proxy.extraVolumeMounts | Ein Array mit zusätzlichen Volume-Mounts für den Proxy-Container | [] |
proxy.readinessProbe.enabled | readinessProbe für den Proxy-Container aktivieren | true |
proxy.livenessProbe.enabled | livenessProbe für den Proxy-Container aktivieren | true |
proxy.startupProbe.enabled | startupProbe für den Proxy-Container aktivieren | true |
converter.annotations | Legt Annotationen fest, die dem Converter-Deployment zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
converter.podAnnotations | Map von Annotationen, die den Pods des Converter-Deployments hinzugefügt werden | rollme: "{{ randAlphaNum 5 | quote }}" |
converter.replicas | Anzahl der Converter-Replikate. Wenn der Parameter converter.autoscaling.enabled aktiviert ist, wird dieser Wert ignoriert | 2 |
converter.updateStrategy.type | Typ der Update-Strategie des Converter-Deployments | Recreate |
converter.customPodAntiAffinity | Verhindert die Planung von Converter-Pods relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
converter.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen Converter-Pods relativ zu anderen Pods auf Knoten geplant werden | {} |
converter.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen Converter-Pods auf Knoten geplant werden | {} |
converter.nodeSelector | Knoten-Labels für die Zuweisung von Converter-Pods. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
converter.tolerations | Tolerations für die Zuweisung von Converter-Pods. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
converter.terminationGracePeriodSeconds | Die Zeit zum ordnungsgemäßen Beenden, während der der Converter-Pod den Status Terminating hat | 30 |
converter.hostAliases | Fügt der hosts-Datei im Converter-Container zusätzliche Einträge hinzu | [] |
converter.initContainers | Legt Container fest, die im Pod des Converter-Deployments vor dem Converter-Container ausgeführt werden. Zum Beispiel ein Container, der den Eigentümer des PersistentVolume ändert | [] |
converter.image.repository | Repository des Converter-Container-Images* | onlyoffice/docs-converter-de |
converter.image.tag | Tag des Converter-Container-Images | 9.0.4-1 |
converter.image.pullPolicy | Pull-Richtlinie des Converter-Container-Images | IfNotPresent |
converter.containerSecurityContext.enabled | Sicherheitskontext für den Converter-Container aktivieren | false |
converter.lifecycleHooks | Legt die Container-Lifecycle-Hooks von Converter fest. Sie werden verwendet, um Ereignisse auszulösen, die zu bestimmten Zeitpunkten im Lebenszyklus eines Containers ausgeführt werden | {} |
converter.resources.requests | Die angeforderten Ressourcen für den Converter-Container | {} |
converter.resources.limits | Die Ressourcenlimits für den Converter-Container | {} |
converter.extraEnvVars | Ein Array mit zusätzlichen Umgebungsvariablen für den Converter-Container | [] |
converter.extraVolumes | Ein Array mit zusätzlichen Volumes für den Converter-Pod | [] |
converter.extraVolumeMounts | Ein Array mit zusätzlichen Volume-Mounts für den Converter-Container | [] |
converter.autoscaling.enabled | Autoscaling des Converter-Deployments aktivieren | false |
converter.autoscaling.annotations | Legt Annotationen fest, die dem HPA des Converter-Deployments zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
converter.autoscaling.minReplicas | Minimale Anzahl von Replikaten beim Autoscaling des Converter-Deployments | 2 |
converter.autoscaling.maxReplicas | Maximale Anzahl von Replikaten beim Autoscaling des Converter-Deployments | 16 |
converter.autoscaling.targetCPU.enabled | Autoscaling des Converter-Deployments nach prozentualer CPU-Auslastung aktivieren | true |
converter.autoscaling.targetCPU.utilizationPercentage | Ziel-CPU-Auslastung in Prozent beim Autoscaling des Converter-Deployments | 70 |
converter.autoscaling.targetMemory.enabled | Autoscaling des Converter-Deployments nach prozentualer Speicherauslastung aktivieren | false |
converter.autoscaling.targetMemory.utilizationPercentage | Ziel-Speicherauslastung in Prozent beim Autoscaling des Converter-Deployments | 70 |
converter.autoscaling.customMetricsType | Benutzerdefinierte, zusätzliche oder externe Autoscaling-Metriken für das Converter-Deployment | [] |
converter.autoscaling.behavior | Konfiguration der Richtlinien für das Skalierungsverhalten des Converter-Deployments für die Felder scaleDown und scaleUp | {} |
example.enabled | Aktiviert die Installation von Example | false |
example.annotations | Legt Annotationen fest, die dem Example-StatefulSet zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
example.podAnnotations | Map von Annotationen, die dem Example-Pod hinzugefügt werden | rollme: "{{ randAlphaNum 5 | quote }}" |
example.updateStrategy.type | Typ der Update-Strategie des Example-StatefulSet | RollingUpdate |
example.customPodAntiAffinity | Verhindert die Planung des Example-Pods relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
example.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Example-Pod relativ zu anderen Pods auf Knoten geplant wird | {} |
example.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Example-Pod auf Knoten geplant wird | {} |
example.nodeSelector | Knoten-Labels für die Zuweisung von Example-Pods. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
example.tolerations | Tolerations für die Zuweisung von Example-Pods. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
example.terminationGracePeriodSeconds | Die Zeit zum ordnungsgemäßen Beenden, während der der Example-Pod den Status Terminating hat | 30 |
example.hostAliases | Fügt der hosts-Datei im Example-Container zusätzliche Einträge hinzu | [] |
example.initContainers | Legt Container fest, die im Pod vor dem Example-Container ausgeführt werden | [] |
example.image.repository | Name des Example-Container-Images | onlyoffice/docs-example |
example.image.tag | Tag des Example-Container-Images | 9.0.4-1 |
example.image.pullPolicy | Pull-Richtlinie des Example-Container-Images | IfNotPresent |
example.containerSecurityContext.enabled | Sicherheitskontext für den Example-Container aktivieren | false |
example.dsUrl | Externe Adresse von ONLYOFFICE Docs. Sie sollte nur geändert werden, wenn die Funktion der Konvertierung in Example überprüft werden muss (z. B. http://<documentserver-address>/) | / |
example.resources.requests | Die angeforderten Ressourcen für den Example-Container | {} |
example.resources.limits | Die Ressourcenlimits für den Example-Container | {} |
example.extraEnvVars | Ein Array mit zusätzlichen Umgebungsvariablen für den Example-Container | [] |
example.extraConf.configMap | Der Name der ConfigMap mit der JSON-Datei, die die Standardwerte überschreibt. Ein Beispiel für die Erstellung finden Sie hier | "" |
example.extraConf.filename | Der Name der JSON-Datei mit benutzerdefinierten Werten. Muss mit dem Namen von key in example.extraConf.ConfigMap übereinstimmen | local.json |
example.extraVolumes | Ein Array mit zusätzlichen Volumes für den Example-Pod | [] |
example.extraVolumeMounts | Ein Array mit zusätzlichen Volume-Mounts für den Example-Container | [] |
jwt.enabled | Gibt an, ob die Validierung des JSON Web Token durch ONLYOFFICE Docs aktiviert ist. Gilt gemeinsam für eingehende und ausgehende Anfragen | true |
jwt.secret | Legt den geheimen Schlüssel zur Validierung des JSON Web Token in der Anfrage an ONLYOFFICE Docs fest. Gilt gemeinsam für eingehende und ausgehende Anfragen. Ist der Wert leer, wird ein zufälliger Wert generiert, der später beim Upgrade verwendet wird. Ist ein Wert gesetzt, wird dieser verwendet | "" |
jwt.header | Legt den HTTP-Header fest, der zum Senden des JSON Web Token verwendet wird. Gilt gemeinsam für eingehende und ausgehende Anfragen | Authorization |
jwt.inBody | Gibt an, ob die Token-Validierung im Anfragetext an ONLYOFFICE Docs aktiviert ist | false |
jwt.inbox | Parameter zur Validierung des JSON Web Token nur für eingehende Anfragen. Wenn nicht angegeben, werden die Werte der allgemeinen jwt-Parameter verwendet | {} |
jwt.outbox | Parameter zur Validierung des JSON Web Token nur für ausgehende Anfragen. Wenn nicht angegeben, werden die Werte der allgemeinen jwt-Parameter verwendet | {} |
jwt.existingSecret | Der Name eines vorhandenen Secrets mit Variablen für jwt. Wenn nicht angegeben, wird ein Secret mit dem Namen jwt erstellt | "" |
service.existing | Der Name eines vorhandenen Dienstes für ONLYOFFICE Docs. Wenn nicht angegeben, wird ein Dienst mit dem Namen documentserver erstellt | "" |
service.annotations | Map von Annotationen, die dem ONLYOFFICE Docs-Dienst hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
service.type | Typ des ONLYOFFICE Docs-Dienstes | ClusterIP |
service.port | Port des ONLYOFFICE Docs-Dienstes | 8888 |
service.sessionAffinity | Session Affinity für den ONLYOFFICE Docs-Dienst. Wenn nicht gesetzt, wird None als Standardwert gesetzt | "" |
service.sessionAffinityConfig | Konfiguration der Session Affinity des ONLYOFFICE Docs-Dienstes. Wird verwendet, wenn service.sessionAffinity gesetzt ist | {} |
ingress.enabled | Erstellung eines Ingress für ONLYOFFICE Docs aktivieren | false |
ingress.annotations | Map von Annotationen, die dem Ingress hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
ingress.ingressClassName | Wird verwendet, um auf die IngressClass zu verweisen, mit der dieser Ingress implementiert werden soll | nginx |
ingress.controllerName | Wird verwendet, um Controller mit demselben IngressClassName, aber von unterschiedlichen Anbietern zu unterscheiden | ingress-nginx |
ingress.host | Ingress-Hostname für den ONLYOFFICE Docs-Ingress | "" |
ingress.tenants | Ingress-Hostnamen, wenn Sie mehr als einen Namen verwenden müssen. Zum Beispiel für Mandantenfähigkeit. Wenn gesetzt, hat es Vorrang vor ingress.host. Wenn ingress.ssl.enabled auf true gesetzt ist, wird davon ausgegangen, dass das Zertifikat für alle angegebenen Domains im Secret ingress.ssl.secret aufbewahrt wird | [] |
ingress.ssl.enabled | SSL für den ONLYOFFICE Docs-Ingress aktivieren | false |
ingress.ssl.secret | Name des Secrets für SSL, das in den Ingress eingehängt wird | tls |
ingress.path | Gibt den Pfad an, unter dem ONLYOFFICE Docs verfügbar ist | / |
ingress.pathType | Gibt den Pfadtyp für die ONLYOFFICE Docs-Ingress-Ressource an. Zulässige Werte sind Exact, Prefix oder ImplementationSpecific | ImplementationSpecific |
ingress.letsencrypt.enabled | Erstellung von Zertifikatsanforderungen bei Let's Encrypt aktivieren. Wird verwendet, wenn ingress.enabled auf true gesetzt ist | false |
ingress.letsencrypt.clusterIssuerName | Name des ClusterIssuer | letsencrypt-prod |
ingress.letsencrypt.email | Ihre E-Mail-Adresse für die ACME-Registrierung | "" |
ingress.letsencrypt.server | Die Adresse des Let's Encrypt-Servers, an den Zertifikatsanforderungen gesendet werden | https://acme-v02.api.letsencrypt.org/directory |
ingress.letsencrypt.secretName | Name eines Secrets, in dem der private Schlüssel des ACME-Kontos gespeichert wird | letsencrypt-prod-private-key |
openshift.route.enabled | Erstellung einer OpenShift-Route für ONLYOFFICE Docs aktivieren | false |
openshift.route.annotations | Map von Annotationen, die der OpenShift-Route hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
openshift.route.host | Hostname der OpenShift-Route für die ONLYOFFICE Docs-Route | "" |
openshift.route.path | Gibt den Pfad an, unter dem ONLYOFFICE Docs verfügbar ist | / |
openshift.route.wildcardPolicy | Die Richtlinie für den Umgang mit Wildcard-Subdomains in der OpenShift-Route. Zulässige Werte sind None, Subdomain | None |
grafana.enabled | Installation der Ressourcen aktivieren, die für die Visualisierung von Metriken in Grafana erforderlich sind | false |
grafana.namespace | Der Name des Namespace, in dem RBAC-Komponenten und Grafana-Ressourcen bereitgestellt werden. Wenn nicht gesetzt, wird der Name aus namespaceOverride übernommen, falls gesetzt, oder aus .Release.Namespace | "" |
grafana.ingress.enabled | Erstellung eines Ingress für Grafana aktivieren. Wird verwendet, wenn Sie grafana.enabled auf true setzen und Nginx Ingress für den Zugriff auf Grafana verwenden möchten | false |
grafana.ingress.annotations | Map von Annotationen, die dem Grafana-Ingress hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
grafana.dashboard.enabled | Installation vorgefertigter Grafana-Dashboards aktivieren. Wird verwendet, wenn Sie grafana.enabled auf true setzen | false |
podSecurityContext.enabled | Sicherheitskontext für die Pods aktivieren | false |
podSecurityContext.converter.fsGroup | Legt die Gruppen-ID fest, auf die Eigentümer und Berechtigungen aller Dateien in Volumes beim Einhängen in den Converter-Pod geändert werden | 101 |
podSecurityContext.docservice.fsGroup | Legt die Gruppen-ID fest, auf die Eigentümer und Berechtigungen aller Dateien in Volumes beim Einhängen in den Docservice-Pod geändert werden | 101 |
podSecurityContext.jobs.fsGroup | Legt die Gruppen-ID fest, auf die Eigentümer und Berechtigungen aller Dateien in Volumes beim Einhängen in von Jobs erstellte Pods geändert werden | 101 |
podSecurityContext.example.fsGroup | Legt die Gruppen-ID fest, auf die Eigentümer und Berechtigungen aller Dateien in Volumes beim Einhängen in den Example-Pod geändert werden | 1001 |
podSecurityContext.tests.fsGroup | Legt die Gruppen-ID fest, auf die Eigentümer und Berechtigungen aller Dateien in Volumes beim Einhängen in den Test-Pod geändert werden | 101 |
webProxy.enabled | Gibt an, ob in Ihrem Netzwerk ein Web-Proxy verwendet wird, über den die Pods des k8s-Clusters auf das Internet zugreifen | false |
webProxy.http | Web-Proxy-Adresse für HTTP-Datenverkehr | http://proxy.example.com |
webProxy.https | Web-Proxy-Adresse für HTTPS-Datenverkehr | https://proxy.example.com |
webProxy.noProxy | Muster für IP-Adressen, k8s-Dienstnamen oder Domainnamen, die den Web-Proxy nicht verwenden sollen | localhost,127.0.0.1,docservice |
upgrade.job.enabled | Ausführung des pre-upgrade-Jobs vor dem Upgrade von ONLYOFFICE Docs aktivieren | true |
upgrade.job.annotations | Legt Annotationen fest, die dem pre-upgrade-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
upgrade.job.podAnnotations | Map von Annotationen, die dem pre-upgrade-Pod hinzugefügt werden | {} |
upgrade.job.customPodAntiAffinity | Verhindert die Planung des Pods des pre-upgrade-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
upgrade.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des pre-upgrade-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
upgrade.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des pre-upgrade-Jobs auf Knoten geplant wird | {} |
upgrade.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des pre-upgrade-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
upgrade.job.tolerations | Tolerations für die Zuweisung des Pods des pre-upgrade-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
upgrade.job.initContainers | Legt Container fest, die im Pod vor dem pre-upgrade-Container ausgeführt werden | [] |
upgrade.job.image.repository | Image-Repository des Upgrade-Jobs | onlyoffice/docs-utils |
upgrade.job.image.tag | Image-Tag des Upgrade-Jobs | 9.0.4-1 |
upgrade.job.image.pullPolicy | Image-Pull-Richtlinie des Upgrade-Jobs | IfNotPresent |
upgrade.job.containerSecurityContext.enabled | Sicherheitskontext für den pre-upgrade-Container aktivieren | false |
upgrade.job.resources.requests | Die angeforderten Ressourcen für den Container des pre-upgrade-Jobs | {} |
upgrade.job.resources.limits | Die Ressourcenlimits für den Container des pre-upgrade-Jobs | {} |
upgrade.existingConfigmap.tblRemove.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Löschen von Tabellen aus der Datenbank | remove-db-scripts |
upgrade.existingConfigmap.tblRemove.keyName | Der Name der SQL-Datei mit Anweisungen zum Löschen von Tabellen aus der Datenbank. Muss mit dem Namen von key in upgrade.existingConfigmap.tblRemove.name übereinstimmen | removetbl.sql |
upgrade.existingConfigmap.tblCreate.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Erstellen von Tabellen in der Datenbank | init-db-scripts |
upgrade.existingConfigmap.tblCreate.keyName | Der Name der SQL-Datei mit Anweisungen zum Erstellen von Tabellen in der Datenbank. Muss mit dem Namen von key in upgrade.existingConfigmap.tblCreate.name übereinstimmen | createdb.sql |
upgrade.existingConfigmap.dsStop | Der Name der vorhandenen ConfigMap mit dem Upgrade-Skript für ONLYOFFICE Docs. Wenn gesetzt, werden die vier vorherigen Parameter ignoriert. Muss einen Schlüssel stop.sh enthalten | "" |
rollback.job.enabled | Ausführung des pre-rollback-Jobs vor dem Rollback von ONLYOFFICE Docs aktivieren | true |
rollback.job.annotations | Legt Annotationen fest, die dem pre-rollback-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
rollback.job.podAnnotations | Map von Annotationen, die dem pre-rollback-Pod hinzugefügt werden | {} |
rollback.job.customPodAntiAffinity | Verhindert die Planung des Pods des pre-rollback-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
rollback.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des pre-rollback-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
rollback.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des pre-rollback-Jobs auf Knoten geplant wird | {} |
rollback.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des pre-rollback-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
rollback.job.tolerations | Tolerations für die Zuweisung des Pods des pre-rollback-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
rollback.job.initContainers | Legt Container fest, die im Pod vor dem pre-rollback-Container ausgeführt werden | [] |
rollback.job.image.repository | Image-Repository des Rollback-Jobs | onlyoffice/docs-utils |
rollback.job.image.tag | Image-Tag des Rollback-Jobs | 9.0.4-1 |
rollback.job.image.pullPolicy | Image-Pull-Richtlinie des Rollback-Jobs | IfNotPresent |
rollback.job.containerSecurityContext.enabled | Sicherheitskontext für den pre-rollback-Container aktivieren | false |
rollback.job.resources.requests | Die angeforderten Ressourcen für den Container des Rollback-Jobs | {} |
rollback.job.resources.limits | Die Ressourcenlimits für den Container des Rollback-Jobs | {} |
rollback.existingConfigmap.tblRemove.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Löschen von Tabellen aus der Datenbank | remove-db-scripts |
rollback.existingConfigmap.tblRemove.keyName | Der Name der SQL-Datei mit Anweisungen zum Löschen von Tabellen aus der Datenbank. Muss mit dem Namen von key in rollback.existingConfigmap.tblRemove.name übereinstimmen | removetbl.sql |
rollback.existingConfigmap.tblCreate.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Erstellen von Tabellen in der Datenbank | init-db-scripts |
rollback.existingConfigmap.tblCreate.keyName | Der Name der SQL-Datei mit Anweisungen zum Erstellen von Tabellen in der Datenbank. Muss mit dem Namen von key in rollback.existingConfigmap.tblCreate.name übereinstimmen | createdb.sql |
rollback.existingConfigmap.dsStop | Der Name der vorhandenen ConfigMap mit dem Rollback-Skript für ONLYOFFICE Docs. Wenn gesetzt, werden die vier vorherigen Parameter ignoriert. Muss einen Schlüssel stop.sh enthalten | "" |
delete.job.enabled | Ausführung des pre-delete-Jobs vor dem Löschen von ONLYOFFICE Docs aktivieren | true |
delete.job.annotations | Legt Annotationen fest, die dem pre-delete-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
delete.job.podAnnotations | Map von Annotationen, die dem pre-delete-Pod hinzugefügt werden | {} |
delete.job.customPodAntiAffinity | Verhindert die Planung des Pods des pre-delete-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
delete.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des pre-delete-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
delete.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des pre-delete-Jobs auf Knoten geplant wird | {} |
delete.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des pre-delete-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
delete.job.tolerations | Tolerations für die Zuweisung des Pods des pre-delete-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
delete.job.initContainers | Legt Container fest, die im Pod vor dem pre-delete-Container ausgeführt werden | [] |
delete.job.image.repository | Image-Repository des Lösch-Jobs | onlyoffice/docs-utils |
delete.job.image.tag | Image-Tag des Lösch-Jobs | 9.0.4-1 |
delete.job.image.pullPolicy | Image-Pull-Richtlinie des Lösch-Jobs | IfNotPresent |
delete.job.containerSecurityContext.enabled | Sicherheitskontext für den pre-delete-Container aktivieren | false |
delete.job.resources.requests | Die angeforderten Ressourcen für den Container des Lösch-Jobs | {} |
delete.job.resources.limits | Die Ressourcenlimits für den Container des Lösch-Jobs | {} |
delete.existingConfigmap.tblRemove.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Löschen von Tabellen aus der Datenbank | remove-db-scripts |
delete.existingConfigmap.tblRemove.keyName | Der Name der SQL-Datei mit Anweisungen zum Löschen von Tabellen aus der Datenbank. Muss mit dem Namen von key in delete.existingConfigmap.tblRemove.name übereinstimmen | removetbl.sql |
delete.existingConfigmap.dsStop | Der Name der vorhandenen ConfigMap mit dem Lösch-Skript für ONLYOFFICE Docs. Wenn gesetzt, werden die zwei vorherigen Parameter ignoriert. Muss einen Schlüssel stop.sh enthalten | "" |
install.job.enabled | Ausführung des pre-install-Jobs vor der Installation von ONLYOFFICE Docs aktivieren | true |
install.job.annotations | Legt Annotationen fest, die dem pre-install-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
install.job.podAnnotations | Map von Annotationen, die dem pre-install-Pod hinzugefügt werden | {} |
install.job.customPodAntiAffinity | Verhindert die Planung des Pods des pre-install-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
install.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des pre-install-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
install.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des pre-install-Jobs auf Knoten geplant wird | {} |
install.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des pre-install-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
install.job.tolerations | Tolerations für die Zuweisung des Pods des pre-install-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
install.job.initContainers | Legt Container fest, die im Pod vor dem pre-install-Container ausgeführt werden | [] |
install.job.image.repository | Image-Repository des pre-install-Jobs von ONLYOFFICE Docs | onlyoffice/docs-utils |
install.job.image.tag | Image-Tag des pre-install-Jobs von ONLYOFFICE Docs | 9.0.4-1 |
install.job.image.pullPolicy | Image-Pull-Richtlinie des pre-install-Jobs von ONLYOFFICE Docs | IfNotPresent |
install.job.containerSecurityContext.enabled | Sicherheitskontext für den pre-install-Container aktivieren | false |
install.job.resources.requests | Die angeforderten Ressourcen für den Container des pre-install-Jobs | {} |
install.job.resources.limits | Die Ressourcenlimits für den Container des pre-install-Jobs | {} |
install.existingConfigmap.tblCreate.name | Der Name der vorhandenen ConfigMap mit der SQL-Datei zum Erstellen von Tabellen in der Datenbank | init-db-scripts |
install.existingConfigmap.tblCreate.keyName | Der Name der SQL-Datei mit Anweisungen zum Erstellen von Tabellen in der Datenbank. Muss mit dem Namen von key in install.existingConfigmap.tblCreate.name übereinstimmen | createdb.sql |
install.existingConfigmap.initdb | Der Name der vorhandenen ConfigMap mit dem initdb-Skript. Wenn gesetzt, werden die zwei vorherigen Parameter ignoriert. Muss einen Schlüssel initdb.sh enthalten | "" |
clearCache.job.enabled | Ausführung des Clear Cache-Jobs nach dem Upgrade von ONLYOFFICE Docs aktivieren. Der Clear Cache-Job hat einen post-upgrade-Hook, der ausgeführt wird, nachdem alle Ressourcen in Kubernetes aktualisiert wurden. Er leert das Cache-Verzeichnis | true |
clearCache.job.annotations | Legt Annotationen fest, die dem Clear Cache-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
clearCache.job.podAnnotations | Map von Annotationen, die dem Clear Cache-Pod hinzugefügt werden | {} |
clearCache.job.customPodAntiAffinity | Verhindert die Planung des Pods des Clear Cache-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
clearCache.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des Clear Cache-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
clearCache.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des Clear Cache-Jobs auf Knoten geplant wird | {} |
clearCache.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des Clear Cache-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
clearCache.job.tolerations | Tolerations für die Zuweisung des Pods des Clear Cache-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
clearCache.job.initContainers | Legt Container fest, die im Pod vor dem Clear Cache-Container ausgeführt werden | [] |
clearCache.job.image.repository | Image-Repository des Clear Cache-Jobs von ONLYOFFICE Docs | onlyoffice/docs-utils |
clearCache.job.image.tag | Image-Tag des Clear Cache-Jobs von ONLYOFFICE Docs | 9.0.4-1 |
clearCache.job.image.pullPolicy | Image-Pull-Richtlinie des Clear Cache-Jobs von ONLYOFFICE Docs | IfNotPresent |
clearCache.job.containerSecurityContext.enabled | Sicherheitskontext für den Clear Cache-Container aktivieren | false |
clearCache.job.resources.requests | Die angeforderten Ressourcen für den Container des Clear Cache-Jobs | {} |
clearCache.job.resources.limits | Die Ressourcenlimits für den Container des Clear Cache-Jobs | {} |
clearCache.existingConfigmap.name | Der Name der vorhandenen ConfigMap mit dem benutzerdefinierten Skript zum Leeren des Cache-Verzeichnisses. Wenn gesetzt, wird die Standard-ConfigMap nicht erstellt | "" |
clearCache.existingConfigmap.keyName | Der Name des Skripts mit Anweisungen zum Leeren des Cache-Verzeichnisses. Muss mit dem Namen von key in clearCache.existingConfigmap.name übereinstimmen, wenn ein benutzerdefiniertes Skript verwendet wird | clearCache.sh |
grafanaDashboard.job.annotations | Legt Annotationen fest, die dem Grafana Dashboard-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
grafanaDashboard.job.podAnnotations | Map von Annotationen, die dem Grafana Dashboard-Pod hinzugefügt werden | {} |
grafanaDashboard.job.customPodAntiAffinity | Verhindert die Planung des Pods des Grafana Dashboard-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
grafanaDashboard.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des Grafana Dashboard-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
grafanaDashboard.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des Grafana Dashboard-Jobs auf Knoten geplant wird | {} |
grafanaDashboard.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des Grafana Dashboard-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
grafanaDashboard.job.tolerations | Tolerations für die Zuweisung des Pods des Grafana Dashboard-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
grafanaDashboard.job.initContainers | Legt Container fest, die im Pod vor dem Grafana Dashboard-Container ausgeführt werden | [] |
grafanaDashboard.job.image.repository | Image-Repository des Grafana Dashboard-Jobs von ONLYOFFICE Docs | onlyoffice/docs-utils |
grafanaDashboard.job.image.tag | Image-Tag des Grafana Dashboard-Jobs von ONLYOFFICE Docs | 9.0.4-1 |
grafanaDashboard.job.image.pullPolicy | Image-Pull-Richtlinie des Grafana Dashboard-Jobs von ONLYOFFICE Docs | IfNotPresent |
grafanaDashboard.job.containerSecurityContext.enabled | Sicherheitskontext für den Grafana Dashboard-Container aktivieren | false |
grafanaDashboard.job.resources.requests | Die angeforderten Ressourcen für den Container des Grafana Dashboard-Jobs | {} |
grafanaDashboard.job.resources.limits | Die Ressourcenlimits für den Container des Grafana Dashboard-Jobs | {} |
wopiKeysGeneration.job.annotations | Legt Annotationen fest, die dem Wopi Keys Generation-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
wopiKeysGeneration.job.podAnnotations | Map von Annotationen, die dem Wopi Keys Generation-Pod hinzugefügt werden | {} |
wopiKeysGeneration.job.customPodAntiAffinity | Verhindert die Planung des Pods des Wopi Keys Generation-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
wopiKeysGeneration.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des Wopi Keys Generation-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
wopiKeysGeneration.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des Wopi Keys Generation-Jobs auf Knoten geplant wird | {} |
wopiKeysGeneration.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des Wopi Keys Generation-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
wopiKeysGeneration.job.tolerations | Tolerations für die Zuweisung des Pods des Wopi Keys Generation-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
wopiKeysGeneration.job.initContainers | Legt Container fest, die im Pod vor dem Wopi Keys Generation-Container ausgeführt werden | [] |
wopiKeysGeneration.job.image.repository | Image-Repository des Wopi Keys Generation-Jobs von ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysGeneration.job.image.tag | Image-Tag des Wopi Keys Generation-Jobs von ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysGeneration.job.image.pullPolicy | Image-Pull-Richtlinie des Wopi Keys Generation-Jobs von ONLYOFFICE Docs | IfNotPresent |
wopiKeysGeneration.job.containerSecurityContext.enabled | Sicherheitskontext für den Wopi Keys Generation-Container aktivieren | false |
wopiKeysGeneration.job.resources.requests | Die angeforderten Ressourcen für den Container des Wopi Keys Generation-Jobs | {} |
wopiKeysGeneration.job.resources.limits | Die Ressourcenlimits für den Container des Wopi Keys Generation-Jobs | {} |
wopiKeysDeletion.job.enabled | Ausführung des Wopi Keys Deletion-Jobs vor dem Löschen von ONLYOFFICE Docs aktivieren. Er entfernt die automatisch generierten WOPI-Secrets. Er wird ausgeführt, wenn wopi.enabled, wopi.keys.generation und wopiKeysDeletion.job.enabled auf true gesetzt sind | true |
wopiKeysDeletion.job.annotations | Legt Annotationen fest, die dem Wopi Keys Deletion-Job zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
wopiKeysDeletion.job.podAnnotations | Map von Annotationen, die dem Wopi Keys Deletion-Pod hinzugefügt werden | {} |
wopiKeysDeletion.job.customPodAntiAffinity | Verhindert die Planung des Pods des Wopi Keys Deletion-Jobs relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
wopiKeysDeletion.job.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Pod des Wopi Keys Deletion-Jobs relativ zu anderen Pods auf Knoten geplant wird | {} |
wopiKeysDeletion.job.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Pod des Wopi Keys Deletion-Jobs auf Knoten geplant wird | {} |
wopiKeysDeletion.job.nodeSelector | Knoten-Labels für die Zuweisung des Pods des Wopi Keys Deletion-Jobs. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
wopiKeysDeletion.job.tolerations | Tolerations für die Zuweisung des Pods des Wopi Keys Deletion-Jobs. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
wopiKeysDeletion.job.initContainers | Legt Container fest, die im Pod vor dem Wopi Keys Deletion-Container ausgeführt werden | [] |
wopiKeysDeletion.job.image.repository | Image-Repository des Wopi Keys Deletion-Jobs von ONLYOFFICE Docs | onlyoffice/docs-utils |
wopiKeysDeletion.job.image.tag | Image-Tag des Wopi Keys Deletion-Jobs von ONLYOFFICE Docs | 9.0.4-1 |
wopiKeysDeletion.job.image.pullPolicy | Image-Pull-Richtlinie des Wopi Keys Deletion-Jobs von ONLYOFFICE Docs | IfNotPresent |
wopiKeysDeletion.job.containerSecurityContext.enabled | Sicherheitskontext für den Wopi Keys Deletion-Container aktivieren | false |
wopiKeysDeletion.job.resources.requests | Die angeforderten Ressourcen für den Container des Wopi Keys Deletion-Jobs | {} |
wopiKeysDeletion.job.resources.limits | Die Ressourcenlimits für den Container des Wopi Keys Deletion-Jobs | {} |
tests.enabled | Erstellung der Ressourcen aktivieren, die zum Testen des Starts von ONLYOFFICE Docs und der Verfügbarkeit der verbundenen Abhängigkeiten erforderlich sind. Diese Ressourcen werden beim Ausführen des Befehls helm test verwendet | true |
tests.annotations | Legt Annotationen fest, die dem Test-Pod zusätzlich hinzugefügt werden. Wenn gesetzt, hat es Vorrang vor commonAnnotations | {} |
tests.customPodAntiAffinity | Verhindert die Planung des Test-Pods relativ zu anderen Pods mit den angegebenen Labels auf demselben Knoten | {} |
tests.podAffinity | Legt Regeln für die Pod-Affinität fest, nach denen der Test-Pod relativ zu anderen Pods auf Knoten geplant wird | {} |
tests.nodeAffinity | Legt Regeln für die Knoten-Affinität fest, nach denen der Test-Pod auf Knoten geplant wird | {} |
tests.nodeSelector | Knoten-Labels für die Zuweisung des Test-Pods. Wenn gesetzt, hat es Vorrang vor nodeSelector | {} |
tests.tolerations | Tolerations für die Zuweisung des Test-Pods. Wenn gesetzt, hat es Vorrang vor tolerations | [] |
tests.initContainers | Legt Container fest, die im Pod vor dem Test-Container ausgeführt werden | [] |
tests.image.repository | Name des Test-Container-Images | onlyoffice/docs-utils |
tests.image.tag | Tag des Test-Container-Images | 9.0.4-1 |
tests.image.pullPolicy | Pull-Richtlinie des Test-Container-Images | IfNotPresent |
tests.containerSecurityContext.enabled | Sicherheitskontext für den Test-Container aktivieren | false |
tests.resources.requests | Die angeforderten Ressourcen für den Test-Container | {} |
tests.resources.limits | Die Ressourcenlimits für den Test-Container | {} |
-
*Hinweis: Das Präfix -de im Wert des Image-Repositorys gibt den Lösungstyp an. Mögliche Optionen:
-de. Für die kommerzielle Developer Edition-ee. Für die kommerzielle Enterprise Edition
Der Standardwert dieses Parameters bezieht sich auf ONLYOFFICE Document Server Developer Edition. Weitere Informationen zu dieser Edition und einen Vergleich mit anderen Editionen finden Sie in der Vergleichstabelle auf dieser Seite.
5. Details zu Konfiguration und Installation
-
Bereitstellung des Beispiels (optional)
WichtigDieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie das Beispiel nicht bereitstellen müssen.
Um das Beispiel bereitzustellen, setzen Sie den Parameter
example.enabledauf true:$ helm install documentserver onlyoffice/docs --set example.enabled=true -
Bereitstellung von Metriken (optional)
WichtigDieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie keine Metriken bereitstellen müssen.
Um Metriken bereitzustellen, setzen Sie
metrics.enabledauf true:$ helm install documentserver onlyoffice/docs --set metrics.enabled=trueWenn Sie Grafana zur Visualisierung von Metriken verwenden möchten, setzen Sie
grafana.enabledauftrue. Wenn Sie Nginx Ingress für den Zugriff auf Grafana verwenden möchten, setzen Siegrafana.ingress.enabledauftrue:$ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true -
ONLYOFFICE Docs veröffentlichen
-
ONLYOFFICE Docs über einen Dienst veröffentlichen (nur HTTP)
hinweisSie sollten diesen Schritt überspringen, wenn Sie ONLYOFFICE Docs über HTTPS veröffentlichen möchten.
Bei dieser Art der Veröffentlichung wird ein Load Balancer für den Zugriff auf ONLYOFFICE Docs erstellt. Verwenden Sie diese Art, wenn Sie eine externe TLS-Terminierung verwenden und keine andere Webanwendung im k8s-Cluster haben.
Um ONLYOFFICE Docs über einen Dienst zu veröffentlichen, setzen Sie den Parameter
service.typeauf LoadBalancer:$ helm install documentserver onlyoffice/docs --set service.type=LoadBalancer,service.port=80Führen Sie den folgenden Befehl aus, um die IP des Dienstes
documentserverabzurufen:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"Danach ist ONLYOFFICE Docs unter
http://DOCUMENTSERVER-SERVICE-IP/verfügbar.Wenn die IP des Dienstes leer ist, versuchen Sie, den Hostnamen des Dienstes
documentserverabzurufen:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].hostname}"In diesem Fall ist ONLYOFFICE Docs unter
http://DOCUMENTSERVER-SERVICE-HOSTNAME/verfügbar. -
ONLYOFFICE Docs über Ingress veröffentlichen
Installieren Sie zunächst den Kubernetes Nginx Ingress Controller:
$ helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true,controller.replicaCount=2hinweisUm ingress-nginx-Metriken für Prometheus bereitzustellen, führen Sie Folgendes aus:
$ helm install nginx-ingress -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/ingress_values.yaml ingress-nginx/ingress-nginxWeitere Details zur Installation von Nginx Ingress über Helm finden Sie hier.
Wählen Sie dann Ihre Veröffentlichungsmethode:
-
Über HTTP
hinweisSie sollten dies überspringen, wenn Sie ONLYOFFICE Docs über HTTPS veröffentlichen möchten.
$ helm install documentserver onlyoffice/docs --set ingress.enabled=trueRufen Sie die IP des Ingress ab:
$ kubectl get ingress documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"ONLYOFFICE Docs ist unter
http://DOCUMENTSERVER-INGRESS-IP/verfügbar (oder verwenden Sie den Hostnamen, wenn die IP leer ist). -
Über HTTPS (TLS-Terminierung)
Erstellen Sie das Secret
tlsmit Ihrem SSL-Zertifikat:$ kubectl create secret generic tls \--from-file=./tls.crt \--from-file=./tls.key$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.comVerknüpfen Sie die IP oder den Hostnamen des Ingress über Ihren DNS-Anbieter mit Ihrem Domainnamen. Danach ist ONLYOFFICE Docs unter
https://your-domain-name/verfügbar. -
Über HTTPS mit 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=falseInstallieren oder aktualisieren Sie dann ONLYOFFICE Docs, indem Sie
ingress.enabled,ingress.ssl.enabled,ingress.letsencrypt.enabledauftruesetzen und Ihre Werte füringress.letsencrypt.emailundingress.host(oderingress.tenantsfür mehrere Domains) angeben. -
Über einen virtuellen Pfad
Setzen Sie die Parameter
ingress.enabled,ingress.hostundingress.path:$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docsUnterstützte Ingress-Controller: Ingress NGINX by Kubernetes, NGINX Ingress by NGINX, HAProxy Ingress by HAProxy.
Hängen Sie für Ingress NGINX by Kubernetes das Muster
(/|$)(.*)aningress.pathan, z. B./docs(/|$)(.*).
-
-
ONLYOFFICE Docs über eine Route in OpenShift veröffentlichen
$ helm install documentserver onlyoffice/docs --set openshift.route.enabled=true,openshift.route.host=your-domain-name,openshift.route.path=/docsFügen Sie für die TLS-Terminierung die Zertifikate manuell über die OpenShift-Webkonsole zur Route hinzu.
-
6. ONLYOFFICE Docs skalieren
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Sie die Standardeinstellungen der Bereitstellung verwenden möchten.
-
Horizontales Pod-Autoscaling
Sie können Autoscaling aktivieren, sodass die Anzahl der Replikate der Deployments
docserviceundconverterautomatisch anhand der Werte und des Typs der Metriken berechnet wird.Für Ressourcenmetriken muss die API
metrics.k8s.ioregistriert sein, die in der Regel von metrics-server bereitgestellt wird. Er kann als Cluster-Add-on gestartet werden.Um HPA für das Deployment
docservicezu aktivieren, geben Sie den Parameterdocservice.autoscaling.enabled=truean. Um HPA für das Deploymentconverterzu aktivieren, geben Sie entsprechendconverter.autoscaling.enabled=truean. In beiden Fällen wird der entsprechende Parameterreplicasignoriert und die Anzahl der Replikate von HPA gesteuert.Weitere Informationen zum horizontalen Pod-Autoscaling finden Sie hier. Weitere konfigurierbare Autoscaling-Parameter finden Sie in der Tabelle Parameter.
-
Manuelle Skalierung
Die Deployments
docserviceundconverterbestehen standardmäßig aus jeweils 2 Pods.So skalieren Sie das Deployment
docservice:$ kubectl scale -n default deployment docservice --replicas=POD_COUNTSo skalieren Sie das Deployment
converter:$ kubectl scale -n default deployment converter --replicas=POD_COUNT
7. ONLYOFFICE Docs aktualisieren
Setzen Sie zum Aktualisieren die Parameter für das Upgrade. Zum Beispiel:
$ helm upgrade documentserver onlyoffice/docs \
--set docservice.image.tag=[version]
Sie müssen außerdem die Parameter angeben, die bei der Installation angegeben wurden.
Oder ändern Sie die Datei values.yaml und führen Sie Folgendes aus:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs
Der Befehl helm upgrade führt einen Hook aus, der ONLYOFFICE Docs herunterfährt und die Datenbank bereinigt. Die Standardausführungszeit des Hooks beträgt 300 s. So ändern Sie sie:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs --timeout 15m
Wenn Sie das Upgrade in einem privaten k8s-Cluster hinter einem Web-Proxy oder ohne Internetzugang durchführen, beachten Sie die Hinweise unten.
Um einen anderen Parameter als die Version von ONLYOFFICE Docs zu aktualisieren, führen Sie helm upgrade ohne Hooks aus:
$ helm upgrade documentserver onlyoffice/docs --set jwt.enabled=false --no-hooks
So machen Sie Updates rückgängig:
$ helm rollback documentserver
Wenn Sie das Rollback in einem privaten k8s-Cluster durchführen, beachten Sie die Hinweise unten.
8. ONLYOFFICE Docs herunterfahren
Dieser Schritt ist optional.
Um das Herunterfahren durchzuführen, führen Sie den folgenden Befehl aus:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n <NAMESPACE>
Dabei ist <NAMESPACE> der Namespace, in dem ONLYOFFICE Docs installiert ist. Wenn nicht angegeben, ist der Standardwert default. Zum Beispiel:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n onlyoffice
Nachdem der Pod shutdown-ds erfolgreich ausgeführt wurde, löschen Sie den Job:
$ kubectl delete job shutdown-ds -n <NAMESPACE>
Um ONLYOFFICE Docs nach dem Herunterfahren neu zu starten, starten Sie die Pods docservice und converter neu:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
9. ONLYOFFICE Docs-Lizenz aktualisieren
Dieser Schritt ist optional.
Seit Release v5.1.1 können Sie die Lizenz aktualisieren, indem Sie das Secret neu erstellen, ohne die Pods neu zu starten. So aktualisieren Sie die Lizenz:
-
Legen Sie die neue Datei
license.licin einem Verzeichnis ab. -
Führen Sie die folgenden Befehle aus:
$ kubectl delete secret [SECRET_LICENSE_NAME] -n <NAMESPACE>$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic -n <NAMESPACE>Dabei ist SECRET_LICENSE_NAME der Name des vorhandenen Secrets mit einer Lizenz.
Der Document Server liest die neue Lizenz automatisch neu ein.
Starten Sie die Pods docservice und converter neu:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. Test der ONLYOFFICE Docs-Installation
Dieser Schritt ist optional.
Testen Sie die Verfügbarkeit von ONLYOFFICE Docs und den Zugriff auf die verbundenen Abhängigkeiten:
$ helm test documentserver -n <NAMESPACE>
Die Ausgabe sollte Folgendes enthalten:
Phase: Succeeded
So zeigen Sie das Testprotokoll an:
$ kubectl logs -f test-ds -n <NAMESPACE>
Löschen Sie nach dem Test den Pod test-ds:
$ kubectl delete pod test-ds -n <NAMESPACE>
Dieser Test dient nur zu Informationszwecken und kann keine 100%ige Verfügbarkeit garantieren. Detaillierte Informationen finden Sie in den Anwendungsprotokollen.
11. Jobs in einem privaten k8s-Cluster ausführen
Dieser Schritt ist optional. Sie können ihn vollständig überspringen, wenn Ihr Cluster uneingeschränkten Internetzugang hat.
Ab Version 6.1.0 des Helm-Charts sind die für die Initialisierung der Datenbank erforderlichen SQL-Skripte im Image docs-utils enthalten, sodass die Jobs keinen Internetzugang benötigen, um sie herunterzuladen.
Wenn Sie der ConfigMap, die im Parameter install.existingConfigmap.initdb oder upgrade|rollback|delete.existingConfigmap.dsStop angegeben ist, ein eigenes Skript zuordnen, das Internetzugang benötigt, und in Ihrem Netzwerk ein Web-Proxy verfügbar ist, setzen Sie webProxy.enabled=true und die entsprechenden Web-Proxy-Parameter, damit die Container der Pods auf das Internet zugreifen können.
12. Zugriff auf die Infoseite
Dieser Schritt ist optional.
Der Zugriff auf die Seite /info ist standardmäßig eingeschränkt. Um den Zugriff zu erlauben, geben Sie die IP-Adressen oder Subnetze mit dem Parameter proxy.infoAllowedIP an. Beachten Sie, dass aufgrund der Besonderheiten des Kubernetes-Netzwerks die tatsächlichen Clients in der Regel Pod-, Knoten- oder Load-Balancer-Adressen und nicht die ursprüngliche Benutzer-IP sind.
Sie können den Zugriff mit der Nginx-Basisauthentifizierung weiter einschränken, indem Sie den Parameter proxy.infoAllowedUser und über proxy.infoAllowedPassword ein Passwort festlegen. Alternativ können Sie ein vorhandenes Secret verwenden, indem Sie proxy.infoAllowedExistingSecret setzen.
Grafana zur Visualisierung von Metriken verwenden
Dieser Abschnitt ist optional. Sie können ihn vollständig überspringen, wenn Sie Grafana nicht installieren möchten.
1. Grafana bereitstellen
Es wird davon ausgegangen, dass Schritt 6.2 (Prometheus installieren) bereits abgeschlossen ist.
-
Grafana ohne vorgefertigte Dashboards bereitstellen
hinweisÜberspringen Sie diesen Schritt, wenn Sie Grafana mit vorgefertigten Dashboards bereitstellen möchten.
$ 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 -
Grafana mit vorgefertigten Dashboards bereitstellen
-
Vorgefertigte Grafana-Dashboards installieren
Setzen Sie die Parameter
grafana.enabledundgrafana.dashboard.enabledauftrue. Wenn ONLYOFFICE Docs bereits installiert ist, führen Sie Folgendes aus:helm upgrade documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.dashboard.enabled=trueDadurch werden vorgefertigte Dashboards im JSON-Format von der Grafana-Website heruntergeladen, die erforderlichen Änderungen angewendet und daraus eine ConfigMap erstellt. Außerdem wird ein Dashboard für die Metriken von ONLYOFFICE Docs hinzugefügt (es wird davon ausgegangen, dass Schritt 6 (StatsD Exporter bereitstellen) bereits abgeschlossen ist).
-
Grafana installieren
$ 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.jsonDie folgenden Dashboards werden in Grafana importiert: Node Exporter, Deployment Statefulset Daemonset, Redis Dashboard for Prometheus Redis Exporter, RabbitMQ-Overview, PostgreSQL Database, NGINX Ingress controller, ONLYOFFICE Docs und Resource usage by Pods and Containers.
hinweisEine Beschreibung der in Grafana visualisierten Metriken von ONLYOFFICE Docs finden Sie hier.
Weitere Details zur Installation von Grafana über Helm finden Sie hier.
-
2. Zugriff auf Grafana über Ingress
Es wird davon ausgegangen, dass der Schritt zur Installation des Kubernetes Nginx Ingress Controllers bereits abgeschlossen ist.
Wenn ONLYOFFICE Docs mit dem Parameter grafana.ingress.enabled installiert wurde (Bereitstellung von Metriken), ist Grafana unter http://INGRESS-ADDRESS/grafana/ verfügbar.
Wenn Ingress mit einer sicheren Verbindung installiert wurde (ONLYOFFICE Docs über HTTPS veröffentlichen), ist Grafana unter https://your-domain-name/grafana/ verfügbar.
3. Erfasste Metriken in Grafana anzeigen
Rufen Sie http(s)://your-domain-name/grafana/ auf und melden Sie sich an mit:
Login - admin
Um das Passwort abzurufen, führen Sie Folgendes aus:
$ kubectl get secret grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode
Im Bereich Dashboards sehen Sie die hinzugefügten Dashboards mit den von Prometheus empfangenen Metriken.