Kubernetes向けONLYOFFICE Docs
はじめに
以下のガイドは、有料のクラスターライセンスソリューションにのみ有効です。
- KubernetesまたはOpenShiftクラスターをインストールしている必要があります:
- Kubernetesのセットアップについては、こちらのリファレンスを参照してください。
- OpenShiftのセットアップについては、こちらのリファレンスを参照してください。
- ローカルに設定された
kubectlのコピーも必要です。kubectlのインストールと設定については、こちらのガイドを参照してください。 - Helm v3.7+をインストールする必要があります。インストール手順はこちらを参照してください。
- OpenShiftを使用する場合、
ocとkubectlの両方を使用してデプロイを管理できます。 - OpenShiftクラスターでHelm Chartから'Docs'以外のコンポーネントをインストールする場合、アクセス権の問題を避けるために
cluster-adminロールを持つユーザーからインストールすることをお勧めします。必要なロールをユーザーに追加する方法については、こちらのガイドを参照してください。
デプロイ前提条件
OpenShiftクラスターにインストールする際に、SecurityContextConstraintsポリシーを適用する必要があるかもしれません。これは、ID = 1001のユーザーからコンテナを実行する権限を追加します。
これを行うには、以下のコマンドを実行してください:
$ 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
または、ターゲットネームスペースから許可されたユーザーとグループの範囲を指定することもできます。依存関係をインストールする際に、runAsUserとfsGroupのパラメーターを参照してください(例:RabbitMQ、Redis、PostgreSQLなど)。
1. 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. 永続ストレージのインストール
Amazon S3をキャッシュとして使用したい場合は、このステップをスキップしてください。
NFSサーバープロビジョナーのインストール
NFSサーバープロビジョナーをインストールすると、ストレージクラスNFSが作成されます。OpenShiftクラスターにインストールする際には、クラスター内でストレージクラスを作成する権限を持つロールを持つユーザーが必要です。詳細はこちらを参照してください。
$ helm install nfs-server nfs-server-provisioner/nfs-server-provisioner \
--set persistence.enabled=true \
--set persistence.storageClass=PERSISTENT_STORAGE_CLASS \
--set persistence.size=PERSISTENT_SIZE
-
PERSISTENT_STORAGE_CLASSは、Kubernetesクラスターで利用可能な永続ストレージクラスです。各プロバイダーの永続ストレージクラス:
- Amazon EKS:
gp2 - Digital Ocean:
do-block-storage - IBM Cloud:デフォルト
ibmc-file-bronze。その他のストレージクラス - Yandex Cloud:
yc-network-hddまたはyc-network-ssd。詳細はこちら - minikube:
standard
- Amazon EKS:
-
PERSISTENT_SIZEは、nfs永続ストレージクラスのすべての永続ストレージの合計サイズです。サイズは、T、G、M、Ti、Gi、Miのいずれかのサフィックスを付けた整数として表現できます。例:9Gi。
Helmを使用してNFSサーバープロビジョナーをインストールする詳細については、こちらを参照してください。
永続ボリュームクレームの設定
デフォルトのnfs永続ボリュームクレームは8Giです。values.yamlファイルのpersistence.storageClassとpersistence.sizeセクションで変更できます。PERSISTENT_SIZEより少なくとも約5%少なくする必要があります。ONLYOFFICE Docsの100人のアクティブユーザーごとに8Gi以上の永続ストレージを使用することをお勧めします。
PVC配置に使用されるPersistentVolumeタイプは、アクセスモードReadWriteManyをサポートする必要があります。また、PersistentVolumeは、ONLYOFFICE Docsを開始するユーザーを所有者として持つ必要があります。デフォルトではds(101:101)です。
WOPIを有効にしたい場合は、パラメーターwopi.enabled=trueを設定してください。この場合、永続ストレージは、クライアントのマウントされたディレクトリに対してキャッシュ属性が無効になっているクラスターのノードに接続する必要があります。NFSサーバープロビジョナーの場合、storageClass.mountOptionsパラメーターにnoacオプションを追加することで実現できます。詳細はこちらを参照してください。
3. RabbitMQのデプロイ
クラスターにRabbitMQをインストールするには、以下のコマンドを実行してください:
$ 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
Prometheusで収集するためにRabbitMQメトリクスを公開するには、metrics.enabled=trueを設定してください。
Helmを使用してRabbitMQをインストールする詳細については、こちらを参照してください。
4. Redisのデプロイ
クラスターにRedisをインストールするには、以下のコマンドを実行してください:
$ 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
Prometheusで収集するためにRedisメトリクスを公開するには、metrics.enabled=trueを設定してください。また、次のパラメーターを追加してください:metrics.image.repository=bitnamilegacy/redis-exporterおよびmetrics.image.tag=1.76.0-debian-12-r0。
Helmを使用してRedisをインストールする詳細については、こちらを参照してください。
5. データベースのデプロイ
データベースサーバーとして、PostgreSQL、MySQL、またはMariaDBを使用できます。
- PostgreSQL
- MySQL
クラスターにPostgreSQLをインストールするには、以下のコマンドを実行してください:
$ 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
Prometheusで収集するためにデータベースメトリクスを公開するには、metrics.enabled=trueを設定してください。また、次のパラメーターを追加してください:metrics.image.repository=bitnamilegacy/postgres-exporterおよびmetrics.image.tag=0.17.1-debian-12-r16。
Helmを使用してPostgreSQLをインストールする詳細については、こちらを参照してください。
クラスターにMySQLをインストールするには、以下のコマンドを実行してください:
$ 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
Helmを使用してMySQLをインストールする詳細については、こちらをご覧ください。
ここでPERSISTENT_SIZEはデータベースの永続ボリュームのサイズを指します。例:8Gi。
ONLYOFFICE Docsの100人のアクティブユーザーごとに少なくとも2Giの永続ストレージを使用することをお勧めします。
データベースメトリクスをPrometheusで収集できるようにするには、metrics.enabled=trueを設定してください。また、次のパラメーターを追加してください:metrics.image.repository=bitnamilegacy/mysqld-exporterとmetrics.image.tag=0.17.2-debian-12-r16。
6. StatsDエクスポーターをデプロイする
このステップはオプションです。StatsDエクスポーターを実行したくない場合は、完全にスキップできます。
-
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 -
Prometheusのインストール
クラスターにPrometheusをインストールするには、次のコマンドを実行します:
$ helm install prometheus -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/extraScrapeConfigs.yaml prometheus-community/prometheus \--set server.global.scrape_interval=1mスクレイプ間隔を変更するには、
server.global.scrape_intervalパラメーターを指定します。Helmを使用してPrometheusをインストールする詳細については、こちらをご覧ください。
-
StatsDエクスポーターのインストール
クラスターにStatsDエクスポーターをインストールするには、次のコマンドを実行します:
$ helm install statsd-exporter prometheus-community/prometheus-statsd-exporter \--set statsd.udpPort=8125 \--set statsd.tcpPort=8126 \--set statsd.eventFlushInterval=30000msHelmを使用してPrometheus StatsDエクスポーターをインストールする詳細については、こちらをご覧ください。
ONLYOFFICE DocsでStatsDメトリクスを許可するには、このステップに従ってください。
7. Node-config設定ファイルを変更する
このステップはオプションです。設定ファイルを変更する必要がない場合は、完全にスキップできます。
-
JSONファイルを含むConfigMapを作成する
local.json構造を含むファイルからConfigMapを作成するには、次のコマンドを実行します:$ kubectl create configmap local-config \--from-file=./local.json注記local-configの代わりに任意の名前を使用できます。 -
ONLYOFFICE Docsをインストールする際のパラメーターを指定する
ONLYOFFICE Docsをインストールする際に、
extraConf.configMap=local-configとextraConf.filename=local.jsonのパラメーターを指定します。注記ONLYOFFICE Docsを既にインストールした後に設定ファイルを追加する必要がある場合は、ステップ7.1を実行し、次に
helm upgrade documentserver onlyoffice/docs --set extraConf.configMap=local-config --set extraConf.filename=local.json --no-hooksコマンドを実行するか、
helm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksを実行します(パラメーターが
values.yamlファイルに指定されている場合)。
8. カスタムフォントを追加する
このステップはオプションです。フォントを追加する必要がない場合は、完全にスキップできます。
画像にフォントを追加するには、画像を再構築する必要があります。こちらのマニュアルの関連ステップを参照してください。その後、ONLYOFFICE Docsをインストールする際に画像を指定します。
9. プラグインを追加する
このステップはオプションです。プラグインを追加する必要がない場合は、完全にスキップできます。
画像にプラグインを追加するには、画像を再構築する必要があります。こちらのマニュアルの関連ステップを参照してください。その後、ONLYOFFICE Docsをインストールする際に画像を指定します。
10. カスタム辞書を追加する
このステップはオプションです。辞書を追加する必要がない場合は、完全にスキップできます。
画像にカスタム辞書を追加するには、画像を再構築する必要があります。こちらのマニュアルの関連ステップを参照してください。その後、ONLYOFFICE Docsをインストールする際に画像を指定します。
11. インターフェーステーマを変更する
このステップはオプションです。インターフェーステーマを変更する必要がない場合は、完全にスキップできます。
-
JSONファイルを含むConfigMapを作成する
インターフェーステーマを含むJSONファイルでConfigMapを作成するには、次のコマンドを実行します:
$ kubectl create configmap custom-themes \--from-file=./custom-themes.json注記custom-themesとcustom-themes.jsonの代わりに任意の名前を使用できます。 -
ONLYOFFICE Docsをインストールする際のパラメーターを指定する
ONLYOFFICE Docsをインストールする際に、
extraThemes.configMap=custom-themesとextraThemes.filename=custom-themes.jsonのパラメーターを指定します。注記ONLYOFFICE Docsを既にインストールした後にインターフェーステーマを追加する必要がある場合は、ステップ11.1を実行し、次に
helm upgrade documentserver onlyoffice/docs --set extraThemes.configMap=custom-themes --set extraThemes.filename=custom-themes.json --no-hooksコマンドを実行するか、パラメーターがvalues.yamlファイルに指定されている場合はhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksを実行します。
12. Amazon S3バケットをONLYOFFICE Helm Docsのキャッシュとして接続する
このステップはオプションです。Amazon S3をキャッシュストレージとして使用したくない場合は、完全にスキップできます。
Amazon S3バケットをキャッシュとして接続するには、設定ファイルを作成するか、既存のものを編集し、このガイドに従って、パラメーターpersistence.storageS3の値をtrueに変更します。
ONLYOFFICE Docsをデプロイする
OpenShiftクラスターにインストールする際には、SecurityContextConstraintsポリシーを適用する必要があるかもしれません。これは、ID = 101のユーザーからコンテナを実行する権限を追加します。
これを行うには、次のコマンドを実行します:
$ 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
または、ポッドテンプレートを記述するすべてのリソースに対して、commonAnnotationsまたはannotationsでnonroot-v2 SecurityContextConstraints(SCC)ポリシーを適用することもできます。ユーザーとサービスアカウントの両方がこのSCCを使用するための必要な権限を持っていることを確認してください。nonroot-v2を使用する権限を持っているのは誰かを確認するには、次のコマンドを実行します:
oc adm policy who-can use scc nonroot-v2
helm install documentserver onlyoffice/docs --set commonAnnotations."openshift\.io/required-scc"="nonroot-v2"
必要に応じて、podSecurityContext.enabledと<resources>.containerSecurityContext.enabledをtrueに設定します。
1. ONLYOFFICE Docsライセンスをデプロイする
-
シークレットを作成する
有効なONLYOFFICE Docsライセンスをお持ちの場合、ファイルから
licenseというシークレットを作成します:$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.licここで、
SECRET_LICENSE_NAMEはライセンスを持つ将来のシークレットの名前です。注記ソースライセンスファイル名は「license.lic」である必要があります。この名前は作成されたシークレットのフィールドとして使用されます。
注記既存のライセンスファイルを持つシークレットを作成せずにインストールを行う場合、空のシークレット
licenseが自動的に作成されます。ライセンスを使用して既存のシークレットを更新する方法については、こちらをご覧ください。 -
ONLYOFFICE Docsをインストールする際のパラメータ指定
ONLYOFFICE Docsをインストールする際には、
license.existingSecret=[SECRET_LICENSE_NAME]パラメータを指定してください。$ helm install documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME]注記ONLYOFFICE Docsを既にインストールした後でライセンスを追加する必要がある場合は、ステップ1.1を実行し、その後
helm upgrade documentserver onlyoffice/docs --set license.existingSecret=[SECRET_LICENSE_NAME] --no-hooksコマンドを実行するか、パラメータがvalues.yamlファイルに指定されている場合はhelm upgrade documentserver -f ./values.yaml onlyoffice/docs --no-hooksを実行してください。
2. ONLYOFFICE Docsのデプロイ
リリース名documentserverでONLYOFFICE Docsをデプロイするには:
$ helm install documentserver onlyoffice/docs
このコマンドは、デフォルトの設定でKubernetesクラスターにONLYOFFICE Docsをデプロイします。インストール中に設定できるパラメータはパラメータセクションにリストされています。
Webプロキシの背後やインターネットアクセスがないプライベートk8sクラスターにONLYOFFICE Docsをインストールする場合は、以下の注意事項を参照してください。
3. ONLYOFFICE Docsのアンインストール
documentserverデプロイメントをアンインストール/削除するには:
$ helm delete documentserver
helm deleteコマンドを実行すると、ONLYOFFICE Docsを完全に削除する前にいくつかの準備作業を行うフックが起動します。これにはサーバーの停止、使用されたPVCとデータベーステーブルのクリーンアップが含まれます。デフォルトのフック実行時間は300秒です。実行時間は--timeout [time]を使用して変更できます。例えば:
$ helm delete documentserver --timeout 25m
Webプロキシの背後やインターネットアクセスがないプライベートk8sクラスターでONLYOFFICE Docsを削除する場合は、以下の注意事項を参照してください。
準備作業なしでONLYOFFICE Docsを削除したい場合は、次のコマンドを実行してください:
$ helm delete documentserver --no-hooks
helm deleteコマンドは、チャートに関連付けられたすべてのKubernetesコンポーネントを削除し、リリースを削除します。
4. パラメータ
各パラメーターを指定するには、--set key=value[,key=value] 引数を helm install に使用します。例えば:
$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.ssl.enabled=true,ingress.host=example.com
このコマンドは、ONLYOFFICE Docs を HTTPS 経由で公開します。
または、チャートをインストールする際にパラメーターの値を指定する YAML ファイルを提供することもできます。例えば:
$ helm install documentserver -f values.yaml onlyoffice/docs
デフォルトの values.yaml を使用できます。
すべてのパラメーターを表示
| パラメーター | 説明 | デフォルト |
|---|---|---|
connections.dbType | データベースの種類。可能な値はpostgres、mariadb、mysql、oracle、mssql、damengです | postgres |
connections.dbHost | データベースホストのIPアドレスまたは名前 | postgresql |
connections.dbUser | データベースユーザー | postgres |
connections.dbPort | データベースサーバーのポート番号 | 5432 |
connections.dbName | アプリケーションが接続するデータベースの名前 | postgres |
connections.dbPassword | データベースユーザーのパスワード。設定されている場合、connections.dbExistingSecretより優先されます | "" |
connections.dbSecretKeyName | データベースユーザーパスワードを含むキーの名前 | postgres-password |
connections.dbExistingSecret | データベースパスワードに使用する既存のシークレットの名前。connections.dbSecretKeyNameで指定されたキーを含んでいる必要があります | postgresql |
connections.redisConnectorName | Redisに接続するために使用するコネクタを定義します。Redis Sentinelに接続する必要がある場合は、値をioredisに設定します | redis |
connections.redisHost | RedisホストのIPアドレスまたは名前。connections.redisClusterNodesおよびconnections.redisSentinelNodesに値が設定されている場合は使用されません | redis-master |
connections.redisPort | Redisサーバーのポート番号。connections.redisClusterNodesおよびconnections.redisSentinelNodesに値が設定されている場合は使用されません | 6379 |
connections.redisUser | Redisユーザー名。このパラメータの値は、カスタム設定ファイルを追加する場合、local.jsonのoptionsオブジェクトに設定された値を上書きします | default |
connections.redisDBNum | 選択されるRedis論理データベースの番号。カスタム設定ファイルを追加する場合、このパラメータの値はlocal.jsonのoptionsオブジェクトに設定された値を上書きします | 0 |
connections.redisClusterNodes | Redisクラスター内のノードのリスト。クラスター内のすべてのノードを指定する必要はなく、3つで十分です。複数の値を指定できます。host:port形式で指定する必要があります | [] |
connections.redisPassword | Redisアカウントに設定されたパスワード。設定されている場合、connections.redisExistingSecretより優先されます。このパラメータの値は、カスタム設定ファイルを追加する場合、local.jsonのoptionsオブジェクトに設定された値を上書きします | "" |
connections.redisSecretKeyName | Redisユーザーパスワードを含むキーの名前 | redis-password |
connections.redisExistingSecret | Redisパスワードに使用する既存のシークレットの名前。connections.redisSecretKeyNameで指定されたキーを含んでいる必要があります。このシークレットからのパスワードは、local.jsonのoptionsオブジェクトに設定されたパスワードを上書きします | redis |
connections.redisNoPass | パスワードなしでRedis認証を使用するかどうかを定義します。Redisサーバーへの接続にパスワードが必要ない場合、値をtrueに設定します | false |
connections.redisSentinelNodes | Redis Sentinelノードのリスト。すべてのノードを指定する必要はなく、3つで十分です。複数の値を指定できます。host:port形式で指定する必要があります。connections.redisConnectorNameがioredisに設定されている場合に使用されます | [] |
connections.redisSentinelGroupName | マスターと1つ以上のスレーブで構成されるRedisインスタンスのグループの名前。connections.redisConnectorNameがioredisに設定されている場合に使用されます | mymaster |
connections.redisSentinelExistingSecret | Redis Sentinelパスワードに使用する既存のシークレットの名前。connections.redisSentinelSecretKeyNameで指定されたキーを含んでいる必要があります。このシークレットからのパスワードは、local.jsonのiooptionsオブジェクトに設定されたパスワードを上書きします | "" |
connections.redisSentinelSecretKeyName | Redis Sentinelユーザーパスワードを含むキーの名前。redisSentinelPasswordにパスワードを設定した場合、ここで設定された値がキー名となるシークレットが自動的に作成されます | sentinel-password |
connections.redisSentinelPassword | Redis Sentinelアカウントに設定されたパスワード。設定されている場合、connections.redisSentinelExistingSecretより優先されます。このパラメータの値は、local.jsonのiooptionsオブジェクトに設定された値を上書きします | "" |
connections.redisSentinelNoPass | パスワードなしでRedis Sentinel認証を使用するかどうかを定義します。Redis Sentinelへの接続にパスワードが必要ない場合、値をtrueに設定します | true |
connections.amqpType | AMQPサーバーのタイプを定義します。可能な値はrabbitmqまたはactivemqです | rabbitmq |
connections.amqpHost | AMQPサーバーのIPアドレスまたは名前 | rabbitmq |
connections.amqpPort | AMQPサーバーへの接続ポート | 5672 |
connections.amqpVhost | AMQPサーバーへの接続のための仮想ホスト | / |
connections.amqpUser | AMQPサーバーアカウントのユーザー名 | user |
connections.amqpProto | AMQPサーバーへの接続プロトコル | amqp |
connections.amqpPassword | AMQPサーバーユーザーパスワード。設定されている場合、connections.amqpExistingSecretより優先されます | "" |
connections.amqpSecretKeyName | AMQPサーバーユーザーパスワードを含むキーの名前 | rabbitmq-password |
connections.amqpExistingSecret | AMQPサーバーパスワードに使用する既存のシークレットの名前。connections.amqpSecretKeyNameで指定されたキーを含んでいる必要があります | rabbitmq |
persistence.existingClaim | 使用する既存のPVCの名前。指定されていない場合は、「ds-files」という名前のPVCが作成されます | "" |
persistence.annotations | 「ds-files」PVCに追加で追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
persistence.storageClass | ONLYOFFICE Docsのデータおよびランタイム設定ボリューム用のPVCストレージクラス | nfs |
persistence.size | ONLYOFFICE Docsボリューム用のPVCストレージリクエスト | 8Gi |
persistence.storageS3 | S3をキャッシュストレージとして使用するかどうかを定義します。S3をキャッシュストレージとして使用する場合はtrueに設定します | false |
persistence.runtimeConfig.enabled | PVCを使用するかどうか、およびコンテナにマウントするかどうかを定義します | true |
persistence.runtimeConfig.existingClaim | ランタイム設定を保存するために使用される既存のPVCの名前。指定されていない場合は、「ds-runtime-config」という名前のPVCが作成されます | "" |
persistence.runtimeConfig.annotations | 「ds-runtime-config」PVCに追加で付加されるアノテーションを定義します。設定されている場合、commonAnnotationsよりも優先されます | {} |
persistence.runtimeConfig.size | ランタイム設定ボリューム用のPVCストレージリクエスト | 1Gi |
commonNameSuffix | 作成されたすべてのリソースの名前にサフィックスとして追加される名前 | "" |
namespaceOverride | ONLYOFFICE Docsがデプロイされるネームスペースの名前。設定されていない場合、名前は.Release.Namespaceから取得されます | "" |
commonLabels | デプロイされたすべてのリソースに追加で付加されるラベルを定義します。キーの値としてtplを使用することもできます | {} |
commonAnnotations | デプロイされたすべてのリソースに追加で付加されるアノテーションを定義します。キーの値としてtplを使用することもできます。一部のリソースはここで指定された値を独自のもので上書きする場合があります | {} |
serviceAccount.create | ServiceAccountの作成を有効にします | false |
serviceAccount.name | 使用するServiceAccountの名前。設定されていない場合、serviceAccount.createがtrueの場合は.Release.Nameから取得され、serviceAccount.createがfalseの場合は「default」となります | "" |
serviceAccount.annotations | ServiceAccountに追加するアノテーションのマップ。設定されている場合、commonAnnotationsよりも優先されます | {} |
serviceAccount.automountServiceAccountToken | 作成されたServiceAccountにServiceAccountTokenの自動マウントを有効にします。serviceAccount.createがtrueの場合にのみ使用されます | true |
license.existingSecret | ライセンスを含む既存のシークレットの名前。キーlicense.licを含む必要があります | "" |
license.existingClaim | ライセンスが保存されている既存のPVCの名前。ファイルlicense.licを含む必要があります | "" |
log.level | ログイベントの種類と重大度を定義します。可能な値はALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL、MARK、OFFです | WARN |
log.type | ログイベントの形式を定義します。可能な値はpattern、json、basic、coloured、messagePassThrough、dummyです | pattern |
log.pattern | log.type=patternの場合のログパターンを定義します | [%d] [%p] %c - %.10000m |
wopi.enabled | WOPIが有効かどうかを定義します。このパラメータが有効になっている場合、クライアントのためにマウントされたディレクトリ(PVC)のキャッシュ属性を無効にする必要があります | false |
wopi.keys.generation | APIキーを生成するかどうかを定義します。wopi.enabledをtrueに設定した場合に使用されます | true |
wopi.keys.newKeysExistingSecret | WOPIキーを含む既存のシークレットの名前。キーWOPI_PRIVATE_KEY、WOPI_PUBLIC_KEY、WOPI_MODULUS_KEY、WOPI_EXPONENT_KEYを含む必要があります。設定されていない場合、新しいキーが生成され、それらからシークレットが作成されます | "" |
wopi.keys.oldKeysExistingSecret | 古いWOPIキーを含む既存のシークレットの名前。キーWOPI_PRIVATE_KEY_OLD、WOPI_PUBLIC_KEY_OLD、WOPI_MODULUS_KEY_OLD、WOPI_EXPONENT_KEY_OLDを含む必要があります。設定されていない場合、新しいキーが生成され、それらからシークレットが作成されます | "" |
metrics.enabled | ONLYOFFICE DocsのためのStatsDの有効化を指定します | false |
metrics.host | StatsDのリスニングホストを定義します | statsd-exporter-prometheus-statsd-exporter |
metrics.port | StatsDのリスニングポートを定義します | 8125 |
metrics.prefix | バックエンドサービスのためのStatsDメトリックプレフィックスを定義します | ds. |
extraConf.configMap | デフォルト値を上書きするjsonファイルを含むConfigMapの名前 | "" |
extraConf.filename | カスタム値を含むjsonファイルの名前。extraConf.ConfigMapのkey名と同じである必要があります | local.json |
extraThemes.configMap | インターフェーステーマを含むjsonファイルを含むConfigMapの名前 | "" |
extraThemes.filename | カスタムインターフェーステーマを含むjsonファイルの名前。extraThemes.configMapのkey名と同じである必要があります | custom-themes.json |
podAntiAffinity.type | Podのアンチアフィニティのタイプ。許可される値:softまたはhard | soft |
podAntiAffinity.topologyKey | 一致するノードラベルキー | kubernetes.io/hostname |
podAntiAffinity.weight | ノードを選択する際の優先度。1から100の範囲内です | 100 |
nodeSelector | Podの割り当てのためのノードラベル。各ONLYOFFICE Docsサービスはここで指定された値を独自のもので上書きすることができます | {} |
tolerations | Podの割り当てのための許容値。各ONLYOFFICE Docsサービスはここで指定された値を独自のもので上書きすることができます | [] |
imagePullSecrets | コンテナイメージレジストリのシークレット名 | "" |
requestFilteringAgent.allowPrivateIPAddress | プライベートIPアドレスへの接続が許可されているかどうかを定義します。requestFilteringAgentパラメータはJWTが無効な場合に使用されます:jwt.enabled=false | false |
requestFilteringAgent.allowMetaIPAddress | メタアドレスへの接続が許可されているかどうかを定義します | false |
requestFilteringAgent.allowIPAddressList | 接続が許可されているIPアドレスのリストを定義します。この値はrequestFilteringAgent.denyIPAddressListよりも優先されます | [] |
requestFilteringAgent.denyIPAddressList | 接続が許可されているIPアドレスのリストを定義します | [] |
docservice.annotations | Docservice Deploymentに追加で付加されるアノテーションを定義します。設定されている場合、commonAnnotationsよりも優先されます | {} |
docservice.podAnnotations | Docserviceデプロイメントポッドに追加するアノテーションのマップ | rollme: "{{ randAlphaNum 5 | quote }}" |
docservice.replicas | Docserviceのレプリカ数。docservice.autoscaling.enabledパラメータが有効な場合、無視されます | 2 |
docservice.updateStrategy.type | Docserviceデプロイメントの更新戦略タイプ | Recreate |
docservice.customPodAntiAffinity | 指定されたラベルを含む他のPodに対してDocservice Podのスケジューリングを同じノード上で禁止します | {} |
docservice.podAffinity | Docservice Podのスケジューリングに関するノード相対のPodアフィニティルールを定義します | {} |
docservice.nodeAffinity | Docservice Podのスケジューリングに関するノードアフィニティルールを定義します | {} |
docservice.nodeSelector | Docservice Podの割り当てのためのノードラベル。設定されている場合、nodeSelectorよりも優先されます | {} |
docservice.tolerations | Docservice Podの割り当てのための許容値。設定されている場合、tolerationsよりも優先されます | [] |
docservice.terminationGracePeriodSeconds | Docservice PodがTerminatingステータスになるまでの優雅な終了時間 | 30 |
docservice.hostAliases | DocserviceおよびProxyコンテナのホストファイルに追加のエントリを追加します | [] |
docservice.initContainers | Docserviceデプロイメントポッド内でdocserviceおよびproxyコンテナの前に実行されるコンテナを定義します。例えば、PersistentVolumeの所有者を変更するコンテナなど | [] |
docservice.image.repository | Docserviceコンテナイメージリポジトリ* | onlyoffice/docs-docservice-de |
docservice.image.tag | Docserviceコンテナイメージタグ | 9.0.4-1 |
docservice.image.pullPolicy | Docserviceコンテナイメージのプルポリシー | IfNotPresent |
docservice.containerSecurityContext.enabled | Docserviceコンテナのセキュリティコンテキストを有効にします | false |
docservice.lifecycleHooks | Docserviceのコンテナライフサイクルフックを定義します。これは、コンテナのライフサイクルの特定のポイントで実行されるイベントをトリガーするために使用されます | {} |
docservice.resources.requests | Docserviceコンテナの要求されたリソース | {} |
docservice.resources.limits | Docserviceコンテナのリソース制限 | {} |
docservice.extraEnvVars | Docserviceコンテナの追加の環境変数を含む配列 | [] |
docservice.extraVolumes | Docservice Podの追加ボリュームを含む配列 | [] |
docservice.extraVolumeMounts | Docserviceコンテナの追加ボリュームマウントを含む配列 | [] |
docservice.readinessProbe.enabled | DocserviceコンテナのreadinessProbeを有効にする | true |
docservice.livenessProbe.enabled | DocserviceコンテナのlivenessProbeを有効にする | true |
docservice.startupProbe.enabled | DocserviceコンテナのstartupProbeを有効にする | true |
docservice.autoscaling.enabled | Docserviceデプロイメントのオートスケーリングを有効にする | false |
docservice.autoscaling.annotations | DocserviceデプロイメントHPAに追加される注釈を定義します。設定されている場合、commonAnnotationsより優先されます | {} |
docservice.autoscaling.minReplicas | Docserviceデプロイメントのオートスケーリングの最小レプリカ数 | 2 |
docservice.autoscaling.maxReplicas | Docserviceデプロイメントのオートスケーリングの最大レプリカ数 | 4 |
docservice.autoscaling.targetCPU.enabled | CPU使用率に基づくDocserviceデプロイメントのオートスケーリングを有効にする | true |
docservice.autoscaling.targetCPU.utilizationPercentage | DocserviceデプロイメントのオートスケーリングのターゲットCPU使用率 | 70 |
docservice.autoscaling.targetMemory.enabled | メモリ使用率に基づくDocserviceデプロイメントのオートスケーリングを有効にする | false |
docservice.autoscaling.targetMemory.utilizationPercentage | Docserviceデプロイメントのオートスケーリングのターゲットメモリ使用率 | 70 |
docservice.autoscaling.customMetricsType | Docserviceデプロイメントのカスタム、追加または外部のオートスケーリングメトリクス | [] |
docservice.autoscaling.behavior | Docserviceデプロイメントのスケーリング動作ポリシーをscaleDownおよびscaleUpフィールドに対して設定します | {} |
proxy.accessLog | nginx設定のaccess_logフォーマットディレクティブを定義します | off |
proxy.logFormat | テキストとさまざまな変数を使用してログエントリのフォーマットを定義します | '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' |
proxy.gzipProxied | nginx設定のgzip_proxiedディレクティブを定義します | off |
proxy.clientMaxBodySize | nginx設定のclient_max_body_sizeディレクティブを定義します | 100m |
proxy.workerConnections | nginx設定のworker_connectionsディレクティブを定義します | 4096 |
proxy.secureLinkSecret | nginx設定ディレクティブsecure_link_md5のシークレットを定義します。値が空の場合、ランダムなものが生成され、後のアップグレードで使用されます。値が設定されている場合、それが使用されます | "" |
proxy.secureLinkExistingSecret | secure_linkに使用する既存のシークレットの名前。設定されている場合、proxy.secureLinkSecretより優先されます | "" |
proxy.infoAllowedIP | 情報ページにアクセスするためのIPアドレスを定義します | [] |
proxy.infoAllowedUser | 情報ページにアクセスするためのユーザー名を定義します。設定されていない場合、Nginxの基本認証は情報ページへのアクセスに適用されません。詳細はこちらを参照してください | "" |
proxy.infoAllowedPassword | 情報ページにアクセスするためのユーザーパスワードを定義します。proxy.infoAllowedUserが設定されている場合に使用されます。値が空の場合、ランダムなものが生成され、後のアップグレードで使用されます。値が設定されている場合、それが使用されます | "" |
proxy.infoAllowedSecretKeyName | 情報認証ユーザーパスワードを含むキーの名前。proxy.infoAllowedUserが設定されている場合に使用されます | info-auth-password |
proxy.infoAllowedExistingSecret | 情報認証パスワードに使用する既存のシークレットの名前。proxy.infoAllowedUserが設定されている場合に使用されます。proxy.infoAllowedSecretKeyNameで指定されたキーを含む必要があります。設定されている場合、proxy.infoAllowedPasswordより優先されます | "" |
proxy.welcomePage.enabled | ウェルカムページを表示するかどうかを定義します | true |
proxy.image.repository | Docservice Proxyコンテナイメージのリポジトリ* | onlyoffice/docs-proxy-de |
proxy.image.tag | Docservice Proxyコンテナイメージのタグ | 9.0.4-1 |
proxy.image.pullPolicy | Docservice Proxyコンテナイメージのプルポリシー | IfNotPresent |
proxy.containerSecurityContext.enabled | Proxyコンテナのセキュリティコンテキストを有効にする | false |
proxy.lifecycleHooks | Proxyのコンテナライフサイクルフックを定義します。これは、コンテナのライフサイクルの特定のポイントで実行されるイベントをトリガーするために使用されます | {} |
proxy.resources.requests | Proxyコンテナの要求されたリソース | {} |
proxy.resources.limits | Proxyコンテナのリソース制限 | {} |
proxy.extraEnvVars | Proxyコンテナの追加の環境変数を含む配列 | [] |
proxy.extraVolumeMounts | Proxyコンテナの追加ボリュームマウントを含む配列 | [] |
proxy.readinessProbe.enabled | ProxyコンテナのreadinessProbeを有効にする | true |
proxy.livenessProbe.enabled | ProxyコンテナのlivenessProbeを有効にする | true |
proxy.startupProbe.enabled | ProxyコンテナのstartupProbeを有効にする | true |
converter.annotations | Converterデプロイメントに追加される注釈を定義します。設定されている場合、commonAnnotationsより優先されます | {} |
converter.podAnnotations | Converterデプロイメントポッドに追加する注釈のマップ | rollme: "{{ randAlphaNum 5 | quote }}" |
converter.replicas | Converterのレプリカ数。converter.autoscaling.enabledパラメータが有効な場合、無視されます | 2 |
converter.updateStrategy.type | Converterデプロイメントの更新戦略タイプ | Recreate |
converter.customPodAntiAffinity | 同じノード上の指定されたラベルを含む他のPodに対してConverter Podのスケジューリングを禁止します | {} |
converter.podAffinity | ノードに対してConverter Podのスケジューリングを行うためのPodアフィニティルールを定義します | {} |
converter.nodeAffinity | ノードに対してConverter Podのスケジューリングを行うためのノードアフィニティルールを定義します | {} |
converter.nodeSelector | Converter Podの割り当てに使用するノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
converter.tolerations | Converter Podの割り当てに使用するトレランス。設定されている場合、tolerationsより優先されます | [] |
converter.terminationGracePeriodSeconds | Converter PodがTerminatingステータスを持つ間に優雅に終了する時間 | 30 |
converter.hostAliases | Converterコンテナのホストファイルに追加のエントリを追加します | [] |
converter.initContainers | Converterデプロイメントポッド内でConverterコンテナの前に実行されるコンテナを定義します。例えば、PersistentVolumeの所有者を変更するコンテナなど | [] |
converter.image.repository | Converterコンテナイメージのリポジトリ* | onlyoffice/docs-converter-de |
converter.image.tag | Converterコンテナイメージのタグ | 9.0.4-1 |
converter.image.pullPolicy | Converterコンテナイメージのプルポリシー | IfNotPresent |
converter.containerSecurityContext.enabled | Converterコンテナのセキュリティコンテキストを有効にする | false |
converter.lifecycleHooks | コンバーターのコンテナライフサイクルフックを定義します。コンテナのライフサイクルの特定のポイントでイベントをトリガーするために使用されます | {} |
converter.resources.requests | コンバーターコンテナの要求されたリソース | {} |
converter.resources.limits | コンバーターコンテナのリソース制限 | {} |
converter.extraEnvVars | コンバーターコンテナの追加環境変数の配列 | [] |
converter.extraVolumes | コンバーターポッドの追加ボリュームの配列 | [] |
converter.extraVolumeMounts | コンバーターコンテナの追加ボリュームマウントの配列 | [] |
converter.autoscaling.enabled | コンバーターデプロイメントのオートスケーリングを有効にする | false |
converter.autoscaling.annotations | コンバーターデプロイメントHPAに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
converter.autoscaling.minReplicas | コンバーターデプロイメントのオートスケーリングの最小レプリカ数 | 2 |
converter.autoscaling.maxReplicas | コンバーターデプロイメントのオートスケーリングの最大レプリカ数 | 16 |
converter.autoscaling.targetCPU.enabled | CPU使用率によるコンバーターデプロイメントのオートスケーリングを有効にする | true |
converter.autoscaling.targetCPU.utilizationPercentage | コンバーターデプロイメントのオートスケーリング目標CPU使用率 | 70 |
converter.autoscaling.targetMemory.enabled | メモリ使用率によるコンバーターデプロイメントのオートスケーリングを有効にする | false |
converter.autoscaling.targetMemory.utilizationPercentage | コンバーターデプロイメントのオートスケーリング目標メモリ使用率 | 70 |
converter.autoscaling.customMetricsType | コンバーターデプロイメントのカスタム、追加または外部オートスケーリングメトリクス | [] |
converter.autoscaling.behavior | コンバーターデプロイメントのスケーリング動作ポリシーをscaleDownおよびscaleUpフィールドに対して設定する | {} |
example.enabled | Exampleのインストールを有効にする | false |
example.annotations | Example StatefulSetに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
example.podAnnotations | Example Podに追加するアノテーションのマップ | rollme: "{{ randAlphaNum 5 | quote }}" |
example.updateStrategy.type | Example StatefulSetの更新戦略タイプ | RollingUpdate |
example.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でのExample Podのスケジューリングを禁止する | {} |
example.podAffinity | ノードに対するExample PodのスケジューリングのためのPodアフィニティルールを定義する | {} |
example.nodeAffinity | ノードに対するExample Podのスケジューリングのためのノードアフィニティルールを定義する | {} |
example.nodeSelector | Example Podsの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
example.tolerations | Example Podsの割り当てのための許容値。設定されている場合、tolerationsより優先されます | [] |
example.terminationGracePeriodSeconds | Example PodがTerminatingステータスになる間の優雅な終了時間 | 30 |
example.hostAliases | Exampleコンテナのホストファイルに追加エントリを追加する | [] |
example.initContainers | Pod内のExampleコンテナの前に実行されるコンテナを定義する | [] |
example.image.repository | Exampleコンテナのイメージ名 | onlyoffice/docs-example |
example.image.tag | Exampleコンテナのイメージタグ | 9.0.4-1 |
example.image.pullPolicy | Exampleコンテナのイメージプルポリシー | IfNotPresent |
example.containerSecurityContext.enabled | Exampleコンテナのセキュリティコンテキストを有効にする | false |
example.dsUrl | ONLYOFFICE Docsの外部アドレス。Exampleでの変換の動作を確認する必要がある場合のみ変更してください(例:http://<documentserver-address>/) | / |
example.resources.requests | Exampleコンテナの要求されたリソース | {} |
example.resources.limits | Exampleコンテナのリソース制限 | {} |
example.extraEnvVars | Exampleコンテナの追加環境変数の配列 | [] |
example.extraConf.configMap | デフォルト値を上書きするjsonファイルを含むConfigMapの名前。作成例はこちらを参照 | "" |
example.extraConf.filename | カスタム値を含むjsonファイルの名前。example.extraConf.ConfigMap内のkey名と同じでなければなりません | local.json |
example.extraVolumes | Example Podの追加ボリュームの配列 | [] |
example.extraVolumeMounts | Exampleコンテナの追加ボリュームマウントの配列 | [] |
jwt.enabled | ONLYOFFICE DocsによるJSON Web Tokenの検証を有効にする。受信および送信リクエストに共通 | true |
jwt.secret | ONLYOFFICE Docsへのリクエスト内のJSON Web Tokenを検証するための秘密鍵を定義する。受信および送信リクエストに共通。値が空の場合、ランダムなものが生成され、後のアップグレードで使用されます。値が設定されている場合、それが使用されます | "" |
jwt.header | JSON Web Tokenを送信するために使用されるHTTPヘッダーを定義する。受信および送信リクエストに共通 | Authorization |
jwt.inBody | ONLYOFFICE Docsへのリクエストボディ内のトークン検証を有効にする | false |
jwt.inbox | 受信リクエスト専用のJSON Web Token検証パラメータ。指定されていない場合、共通のjwtパラメータの値が使用されます | {} |
jwt.outbox | 送信リクエスト専用のJSON Web Token検証パラメータ。指定されていない場合、共通のjwtパラメータの値が使用されます | {} |
jwt.existingSecret | jwt用の変数を含む既存のシークレットの名前。指定されていない場合、jwtという名前のシークレットが作成されます | "" |
service.existing | ONLYOFFICE Docs用の既存のサービスの名前。指定されていない場合、documentserverという名前のサービスが作成されます | "" |
service.annotations | ONLYOFFICE Docsサービスに追加するアノテーションのマップ。設定されている場合、commonAnnotationsより優先されます | {} |
service.type | ONLYOFFICE Docsサービスのタイプ | ClusterIP |
service.port | ONLYOFFICE Docsサービスのポート | 8888 |
service.sessionAffinity | ONLYOFFICE Docsサービスのセッションアフィニティ。設定されていない場合、デフォルト値としてNoneが設定されます | "" |
service.sessionAffinityConfig | ONLYOFFICE Docsサービスのセッションアフィニティの設定。service.sessionAffinityが設定されている場合に使用されます | {} |
ingress.enabled | ONLYOFFICE Docsのためのイングレスの作成を有効にする | false |
ingress.annotations | イングレスに追加するアノテーションのマップ。設定されている場合、commonAnnotationsより優先されます | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
ingress.ingressClassName | このイングレスを実装するために使用されるIngressClassを参照するために使用されます | nginx |
ingress.controllerName | 同じIngressClassNameを持つが異なるベンダーからのコントローラーを区別するために使用されます | ingress-nginx |
ingress.host | ONLYOFFICE Docsイングレスのホスト名 | "" |
ingress.tenants | 複数の名前を使用する必要がある場合のイングレスホスト名。例えば、マルチテナンシーの場合。設定されている場合、ingress.hostより優先されます。ingress.ssl.enabledがtrueに設定されている場合、指定されたすべてのドメインの証明書はingress.ssl.secretによって秘密として保持されていると想定されます | [] |
ingress.ssl.enabled | ONLYOFFICE DocsイングレスのSSLを有効にする | false |
ingress.ssl.secret | イングレスにマウントするためのSSLのシークレット名 | tls |
ingress.path | ONLYOFFICE Docsが利用可能になるパスを指定する | / |
ingress.pathType | ONLYOFFICE Docsのイングレスリソースのパスの種類を指定します。許可される値はExact、Prefix、またはImplementationSpecificです | ImplementationSpecific |
ingress.letsencrypt.enabled | Let's Encryptでの証明書リクエスト作成を有効にします。ingress.enabledがtrueに設定されている場合に使用されます | false |
ingress.letsencrypt.clusterIssuerName | ClusterIssuerの名前 | letsencrypt-prod |
ingress.letsencrypt.email | ACME登録に使用するあなたのメールアドレス | "" |
ingress.letsencrypt.server | 証明書リクエストを送信するLet's Encryptサーバーのアドレス | https://acme-v02.api.letsencrypt.org/directory |
ingress.letsencrypt.secretName | ACMEアカウントの秘密鍵を保存するために使用されるシークレットの名前 | letsencrypt-prod-private-key |
openshift.route.enabled | ONLYOFFICE DocsのためのOpenShiftルートの作成を有効にします | false |
openshift.route.annotations | OpenShiftルートに追加するアノテーションのマップ。設定されている場合、commonAnnotationsより優先されます | {} |
openshift.route.host | ONLYOFFICE DocsルートのOpenShiftルートホスト名 | "" |
openshift.route.path | ONLYOFFICE Docsが利用可能になるパスを指定します | / |
openshift.route.wildcardPolicy | OpenShiftルートでワイルドカードサブドメインを処理するためのポリシー。許可される値はNone、Subdomainです | None |
grafana.enabled | Grafanaでのメトリクスの可視化に必要なリソースのインストールを有効にします | false |
grafana.namespace | RBACコンポーネントとGrafanaリソースがデプロイされる名前空間の名前。設定されていない場合、namespaceOverrideが設定されていればその名前、または.Release.Namespaceから取得されます | "" |
grafana.ingress.enabled | Grafanaのためのイングレスの作成を有効にします。grafana.enabledをtrueに設定し、Nginx Ingressを使用してGrafanaにアクセスしたい場合に使用されます | false |
grafana.ingress.annotations | Grafana Ingressに追加するアノテーションのマップ。設定されている場合、commonAnnotationsより優先されます | nginx.ingress.kubernetes.io/proxy-body-size: 100m |
grafana.dashboard.enabled | 既製のGrafanaダッシュボードのインストールを有効にします。grafana.enabledをtrueに設定した場合に使用されます | false |
podSecurityContext.enabled | ポッドのセキュリティコンテキストを有効にします | false |
podSecurityContext.converter.fsGroup | Converter Podにマウントされた際にボリューム内のすべてのファイルの所有者と権限が変更されるグループIDを定義します | 101 |
podSecurityContext.docservice.fsGroup | Docservice Podにマウントされた際にボリューム内のすべてのファイルの所有者と権限が変更されるグループIDを定義します | 101 |
podSecurityContext.jobs.fsGroup | Jobsによって作成されたポッドにマウントされた際にボリューム内のすべてのファイルの所有者と権限が変更されるグループIDを定義します | 101 |
podSecurityContext.example.fsGroup | Example Podにマウントされた際にボリューム内のすべてのファイルの所有者と権限が変更されるグループIDを定義します | 1001 |
podSecurityContext.tests.fsGroup | Test Podにマウントされた際にボリューム内のすべてのファイルの所有者と権限が変更されるグループIDを定義します | 101 |
webProxy.enabled | ネットワーク内でk8sクラスターのポッドがインターネットにアクセスするためにWebプロキシを使用するかどうかを指定します | false |
webProxy.http | HTTPトラフィック用のWebプロキシアドレス | http://proxy.example.com |
webProxy.https | HTTPSトラフィック用のWebプロキシアドレス | https://proxy.example.com |
webProxy.noProxy | Webプロキシを使用しないIPアドレスやk8sサービス名、ドメイン名のパターン | localhost,127.0.0.1,docservice |
upgrade.job.enabled | ONLYOFFICE Docsのアップグレード前にジョブを実行することを有効にします | true |
upgrade.job.annotations | アップグレード前のジョブに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
upgrade.job.podAnnotations | アップグレード前のポッドに追加するアノテーションのマップ | {} |
upgrade.job.customPodAntiAffinity | 同じノード上で指定されたラベルを含む他のポッドに対してアップグレード前のジョブポッドのスケジューリングを禁止します | {} |
upgrade.job.podAffinity | ノードに対するアップグレード前のジョブポッドのスケジューリングのためのポッドアフィニティルールを定義します | {} |
upgrade.job.nodeAffinity | ノードに対するアップグレード前のジョブポッドのスケジューリングのためのノードアフィニティルールを定義します | {} |
upgrade.job.nodeSelector | アップグレード前のジョブポッドの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
upgrade.job.tolerations | アップグレード前のジョブポッドの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
upgrade.job.initContainers | ポッド内でアップグレード前のコンテナの前に実行されるコンテナを定義します | [] |
upgrade.job.image.repository | アップグレードイメージリポジトリによるジョブ | onlyoffice/docs-utils |
upgrade.job.image.tag | アップグレードイメージタグによるジョブ | 9.0.4-1 |
upgrade.job.image.pullPolicy | アップグレードイメージプルポリシーによるジョブ | IfNotPresent |
upgrade.job.containerSecurityContext.enabled | アップグレード前のコンテナのセキュリティコンテキストを有効にします | false |
upgrade.job.resources.requests | アップグレード前のコンテナのために要求されたリソース | {} |
upgrade.job.resources.limits | アップグレード前のコンテナのためのリソース制限 | {} |
upgrade.existingConfigmap.tblRemove.name | データベースからテーブルを削除するためのSQLファイルを含む既存のConfigMapの名前 | remove-db-scripts |
upgrade.existingConfigmap.tblRemove.keyName | データベースからテーブルを削除するための指示を含むSQLファイルの名前。upgrade.existingConfigmap.tblRemove.nameのkey名と同じである必要があります | removetbl.sql |
upgrade.existingConfigmap.tblCreate.name | データベースからテーブルを作成するためのSQLファイルを含む既存のConfigMapの名前 | init-db-scripts |
upgrade.existingConfigmap.tblCreate.keyName | データベースからテーブルを作成するための指示を含むSQLファイルの名前。upgrade.existingConfigmap.tblCreate.nameのkey名と同じである必要があります | createdb.sql |
upgrade.existingConfigmap.dsStop | ONLYOFFICE Docsのアップグレードスクリプトを含む既存のConfigMapの名前。設定されている場合、前の4つのパラメータは無視されます。stop.shというキーを含む必要があります | "" |
rollback.job.enabled | ONLYOFFICE Docsのロールバック前にジョブを実行することを有効にします | true |
rollback.job.annotations | ロールバック前のジョブに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
rollback.job.podAnnotations | ロールバック前のポッドに追加するアノテーションのマップ | {} |
rollback.job.customPodAntiAffinity | 同じノード上で指定されたラベルを含む他のポッドに対してロールバック前のジョブポッドのスケジューリングを禁止します | {} |
rollback.job.podAffinity | ノードに対するロールバック前のジョブポッドのスケジューリングのためのポッドアフィニティルールを定義します | {} |
rollback.job.nodeAffinity | ノードに対するロールバック前のジョブポッドのスケジューリングのためのノードアフィニティルールを定義します | {} |
rollback.job.nodeSelector | ロールバック前のジョブポッドの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
rollback.job.tolerations | ロールバック前のジョブポッドの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
rollback.job.initContainers | ポッド内でロールバック前のコンテナの前に実行されるコンテナを定義します | [] |
rollback.job.image.repository | ロールバックイメージリポジトリによるジョブ | onlyoffice/docs-utils |
rollback.job.image.tag | ロールバックイメージタグによるジョブ | 9.0.4-1 |
rollback.job.image.pullPolicy | ロールバックイメージプルポリシーによるジョブ | IfNotPresent |
rollback.job.containerSecurityContext.enabled | ロールバック前のコンテナに対するセキュリティコンテキストを有効にする | false |
rollback.job.resources.requests | ジョブロールバックコンテナの要求リソース | {} |
rollback.job.resources.limits | ジョブロールバックコンテナのリソース制限 | {} |
rollback.existingConfigmap.tblRemove.name | データベースからテーブルを削除するためのSQLファイルを含む既存のConfigMapの名前 | remove-db-scripts |
rollback.existingConfigmap.tblRemove.keyName | データベースからテーブルを削除するための指示を含むSQLファイルの名前。rollback.existingConfigmap.tblRemove.name内のkey名と同じである必要があります | removetbl.sql |
rollback.existingConfigmap.tblCreate.name | データベースからテーブルを作成するためのSQLファイルを含む既存のConfigMapの名前 | init-db-scripts |
rollback.existingConfigmap.tblCreate.keyName | データベースからテーブルを作成するための指示を含むSQLファイルの名前。rollback.existingConfigmap.tblCreate.name内のkey名と同じである必要があります | createdb.sql |
rollback.existingConfigmap.dsStop | ONLYOFFICE Docsのロールバックスクリプトを含む既存のConfigMapの名前。設定されている場合、前の4つのパラメータは無視されます。stop.shというキーを含む必要があります | "" |
delete.job.enabled | ONLYOFFICE Docsを削除する前にジョブの事前削除を実行する | true |
delete.job.annotations | 事前削除ジョブに追加される注釈を定義します。設定されている場合、commonAnnotationsより優先されます | {} |
delete.job.podAnnotations | 事前削除Podに追加する注釈のマップ | {} |
delete.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上での事前削除ジョブPodのスケジューリングを禁止する | {} |
delete.job.podAffinity | 他のPodに対するノードによる事前削除ジョブPodのスケジューリングのためのPodアフィニティルールを定義する | {} |
delete.job.nodeAffinity | ノードによる事前削除ジョブPodのスケジューリングのためのノードアフィニティルールを定義する | {} |
delete.job.nodeSelector | 事前削除ジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
delete.job.tolerations | 事前削除ジョブPodの割り当てのための許容値。設定されている場合、tolerationsより優先されます | [] |
delete.job.initContainers | Pod内の事前削除コンテナの前に実行されるコンテナを定義する | [] |
delete.job.image.repository | 削除イメージリポジトリによるジョブ | onlyoffice/docs-utils |
delete.job.image.tag | 削除イメージタグによるジョブ | 9.0.4-1 |
delete.job.image.pullPolicy | 削除イメージプルポリシーによるジョブ | IfNotPresent |
delete.job.containerSecurityContext.enabled | 事前削除コンテナに対するセキュリティコンテキストを有効にする | false |
delete.job.resources.requests | ジョブ削除コンテナの要求リソース | {} |
delete.job.resources.limits | ジョブ削除コンテナのリソース制限 | {} |
delete.existingConfigmap.tblRemove.name | データベースからテーブルを削除するためのSQLファイルを含む既存のConfigMapの名前 | remove-db-scripts |
delete.existingConfigmap.tblRemove.keyName | データベースからテーブルを削除するための指示を含むSQLファイルの名前。delete.existingConfigmap.tblRemove.name内のkey名と同じである必要があります | removetbl.sql |
delete.existingConfigmap.dsStop | ONLYOFFICE Docsの削除スクリプトを含む既存のConfigMapの名前。設定されている場合、前の2つのパラメータは無視されます。stop.shというキーを含む必要があります | "" |
install.job.enabled | ONLYOFFICE Docsをインストールする前にジョブの事前インストールを実行する | true |
install.job.annotations | 事前インストールジョブに追加される注釈を定義します。設定されている場合、commonAnnotationsより優先されます | {} |
install.job.podAnnotations | 事前インストールPodに追加する注釈のマップ | {} |
install.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上での事前インストールジョブPodのスケジューリングを禁止する | {} |
install.job.podAffinity | 他のPodに対するノードによる事前インストールジョブPodのスケジューリングのためのPodアフィニティルールを定義する | {} |
install.job.nodeAffinity | ノードによる事前インストールジョブPodのスケジューリングのためのノードアフィニティルールを定義する | {} |
install.job.nodeSelector | 事前インストールジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
install.job.tolerations | 事前インストールジョブPodの割り当てのための許容値。設定されている場合、tolerationsより優先されます | [] |
install.job.initContainers | Pod内の事前インストールコンテナの前に実行されるコンテナを定義する | [] |
install.job.image.repository | 事前インストールONLYOFFICE Docsイメージリポジトリによるジョブ | onlyoffice/docs-utils |
install.job.image.tag | 事前インストールONLYOFFICE Docsイメージタグによるジョブ | 9.0.4-1 |
install.job.image.pullPolicy | 事前インストールONLYOFFICE Docsイメージプルポリシーによるジョブ | IfNotPresent |
install.job.containerSecurityContext.enabled | 事前インストールコンテナに対するセキュリティコンテキストを有効にする | false |
install.job.resources.requests | ジョブ事前インストールコンテナの要求リソース | {} |
install.job.resources.limits | ジョブ事前インストールコンテナのリソース制限 | {} |
install.existingConfigmap.tblCreate.name | データベースからテーブルを作成するためのSQLファイルを含む既存のConfigMapの名前 | init-db-scripts |
install.existingConfigmap.tblCreate.keyName | データベースからテーブルを作成するための指示を含むSQLファイルの名前。install.existingConfigmap.tblCreate.name内のkey名と同じである必要があります | createdb.sql |
install.existingConfigmap.initdb | initdbスクリプトを含む既存のConfigMapの名前。設定されている場合、前の2つのパラメータは無視されます。initdb.shというキーを含む必要があります | "" |
clearCache.job.enabled | ONLYOFFICE Docsのアップグレード後にジョブClear Cacheを実行する。ジョブClear Cacheはpost-upgradeフックを持ち、Kubernetesでリソースがアップグレードされた後に実行されます。Cacheディレクトリをクリアします | true |
clearCache.job.annotations | Clear Cacheジョブに追加される注釈を定義します。設定されている場合、commonAnnotationsより優先されます | {} |
clearCache.job.podAnnotations | Clear Cache Podに追加する注釈のマップ | {} |
clearCache.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でのClear CacheジョブPodのスケジューリングを禁止する | {} |
clearCache.job.podAffinity | 他のPodに対するノードによるClear CacheジョブPodのスケジューリングのためのPodアフィニティルールを定義する | {} |
clearCache.job.nodeAffinity | ノードによるClear CacheジョブPodのスケジューリングのためのノードアフィニティルールを定義する | {} |
clearCache.job.nodeSelector | Clear CacheジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
clearCache.job.tolerations | Clear CacheジョブPodの割り当てのための許容値。設定されている場合、tolerationsより優先されます | [] |
clearCache.job.initContainers | Pod内のClear Cacheコンテナの前に実行されるコンテナを定義する | [] |
clearCache.job.image.repository | Clear Cache ONLYOFFICE Docsイメージリポジトリによるジョブ | onlyoffice/docs-utils |
clearCache.job.image.tag | Clear Cache ONLYOFFICE Docsイメージタグによるジョブ | 9.0.4-1 |
clearCache.job.image.pullPolicy | Clear Cache ONLYOFFICE Docsイメージプルポリシーによるジョブ | IfNotPresent |
clearCache.job.containerSecurityContext.enabled | Clear Cacheコンテナに対するセキュリティコンテキストを有効にする | false |
clearCache.job.resources.requests | ジョブClear Cacheコンテナの要求リソース | {} |
clearCache.job.resources.limits | ジョブClear Cacheコンテナのリソース制限 | {} |
clearCache.existingConfigmap.name | Cacheディレクトリをクリアするカスタムスクリプトを含む既存のConfigMapの名前。設定されている場合、デフォルトのConfigMapは作成されません | "" |
clearCache.existingConfigmap.keyName | Cacheディレクトリをクリアする指示を含むスクリプトの名前。カスタムスクリプトを使用する場合、clearCache.existingConfigmap.nameのkey名と同じである必要があります | clearCache.sh |
grafanaDashboard.job.annotations | Grafana Dashboardジョブに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
grafanaDashboard.job.podAnnotations | Grafana Dashboard Podに追加するアノテーションのマップ | {} |
grafanaDashboard.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でGrafana DashboardジョブPodのスケジューリングを禁止します | {} |
grafanaDashboard.job.podAffinity | 他のPodに対するノードによるGrafana DashboardジョブPodのスケジューリングのためのPodアフィニティルールを定義します | {} |
grafanaDashboard.job.nodeAffinity | ノードによるGrafana DashboardジョブPodのスケジューリングのためのノードアフィニティルールを定義します | {} |
grafanaDashboard.job.nodeSelector | Grafana DashboardジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
grafanaDashboard.job.tolerations | Grafana DashboardジョブPodの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
grafanaDashboard.job.initContainers | Pod内のGrafana Dashboardコンテナの前に実行されるコンテナを定義します | [] |
grafanaDashboard.job.image.repository | Grafana DashboardジョブによるONLYOFFICE Docsイメージリポジトリ | onlyoffice/docs-utils |
grafanaDashboard.job.image.tag | Grafana DashboardジョブによるONLYOFFICE Docsイメージタグ | 9.0.4-1 |
grafanaDashboard.job.image.pullPolicy | Grafana DashboardジョブによるONLYOFFICE Docsイメージプルポリシー | IfNotPresent |
grafanaDashboard.job.containerSecurityContext.enabled | Grafana Dashboardコンテナのセキュリティコンテキストを有効にします | false |
grafanaDashboard.job.resources.requests | ジョブGrafana Dashboardコンテナの要求されたリソース | {} |
grafanaDashboard.job.resources.limits | ジョブGrafana Dashboardコンテナのリソース制限 | {} |
wopiKeysGeneration.job.annotations | Wopi Keys Generationジョブに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
wopiKeysGeneration.job.podAnnotations | Wopi Keys Generation Podに追加するアノテーションのマップ | {} |
wopiKeysGeneration.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でWopi Keys GenerationジョブPodのスケジューリングを禁止します | {} |
wopiKeysGeneration.job.podAffinity | 他のPodに対するノードによるWopi Keys GenerationジョブPodのスケジューリングのためのPodアフィニティルールを定義します | {} |
wopiKeysGeneration.job.nodeAffinity | ノードによるWopi Keys GenerationジョブPodのスケジューリングのためのノードアフィニティルールを定義します | {} |
wopiKeysGeneration.job.nodeSelector | Wopi Keys GenerationジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
wopiKeysGeneration.job.tolerations | Wopi Keys GenerationジョブPodの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
wopiKeysGeneration.job.initContainers | Pod内のWopi Keys Generationコンテナの前に実行されるコンテナを定義します | [] |
wopiKeysGeneration.job.image.repository | Wopi Keys GenerationジョブによるONLYOFFICE Docsイメージリポジトリ | onlyoffice/docs-utils |
wopiKeysGeneration.job.image.tag | Wopi Keys GenerationジョブによるONLYOFFICE Docsイメージタグ | 9.0.4-1 |
wopiKeysGeneration.job.image.pullPolicy | Wopi Keys GenerationジョブによるONLYOFFICE Docsイメージプルポリシー | IfNotPresent |
wopiKeysGeneration.job.containerSecurityContext.enabled | Wopi Keys Generationコンテナのセキュリティコンテキストを有効にします | false |
wopiKeysGeneration.job.resources.requests | ジョブWopi Keys Generationコンテナの要求されたリソース | {} |
wopiKeysGeneration.job.resources.limits | ジョブWopi Keys Generationコンテナのリソース制限 | {} |
wopiKeysDeletion.job.enabled | ONLYOFFICE Docsを削除する前にWopi Keys Deletionジョブの実行を有効にします。自動的に生成されたWOPIシークレットを削除します。wopi.enabled、wopi.keys.generation、wopiKeysDeletion.job.enabledがtrueに設定されている場合に実行されます | true |
wopiKeysDeletion.job.annotations | Wopi Keys Deletionジョブに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
wopiKeysDeletion.job.podAnnotations | Wopi Keys Deletion Podに追加するアノテーションのマップ | {} |
wopiKeysDeletion.job.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でWopi Keys DeletionジョブPodのスケジューリングを禁止します | {} |
wopiKeysDeletion.job.podAffinity | 他のPodに対するノードによるWopi Keys DeletionジョブPodのスケジューリングのためのPodアフィニティルールを定義します | {} |
wopiKeysDeletion.job.nodeAffinity | ノードによるWopi Keys DeletionジョブPodのスケジューリングのためのノードアフィニティルールを定義します | {} |
wopiKeysDeletion.job.nodeSelector | Wopi Keys DeletionジョブPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
wopiKeysDeletion.job.tolerations | Wopi Keys DeletionジョブPodの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
wopiKeysDeletion.job.initContainers | Pod内のWopi Keys Deletionコンテナの前に実行されるコンテナを定義します | [] |
wopiKeysDeletion.job.image.repository | Wopi Keys DeletionジョブによるONLYOFFICE Docsイメージリポジトリ | onlyoffice/docs-utils |
wopiKeysDeletion.job.image.tag | Wopi Keys DeletionジョブによるONLYOFFICE Docsイメージタグ | 9.0.4-1 |
wopiKeysDeletion.job.image.pullPolicy | Wopi Keys DeletionジョブによるONLYOFFICE Docsイメージプルポリシー | IfNotPresent |
wopiKeysDeletion.job.containerSecurityContext.enabled | Wopi Keys Deletionコンテナのセキュリティコンテキストを有効にします | false |
wopiKeysDeletion.job.resources.requests | ジョブWopi Keys Deletionコンテナの要求されたリソース | {} |
wopiKeysDeletion.job.resources.limits | ジョブWopi Keys Deletionコンテナのリソース制限 | {} |
tests.enabled | ONLYOFFICE Docsの起動テストと接続された依存関係の可用性テストに必要なリソースの作成を有効にします。これらのリソースはhelm testコマンドを実行する際に使用されます | true |
tests.annotations | テストPodに追加されるアノテーションを定義します。設定されている場合、commonAnnotationsより優先されます | {} |
tests.customPodAntiAffinity | 指定されたラベルを含む他のPodと同じノード上でテストPodのスケジューリングを禁止します | {} |
tests.podAffinity | 他のPodに対するノードによるテストPodのスケジューリングのためのPodアフィニティルールを定義します | {} |
tests.nodeAffinity | ノードによるテストPodのスケジューリングのためのノードアフィニティルールを定義します | {} |
tests.nodeSelector | テストPodの割り当てのためのノードラベル。設定されている場合、nodeSelectorより優先されます | {} |
tests.tolerations | テストPodの割り当てのためのトレランス。設定されている場合、tolerationsより優先されます | [] |
tests.initContainers | Pod内のテストコンテナの前に実行されるコンテナを定義します | [] |
tests.image.repository | テストコンテナのイメージ名 | onlyoffice/docs-utils |
tests.image.tag | テストコンテナのイメージタグ | 9.0.4-1 |
tests.image.pullPolicy | テストコンテナのイメージプルポリシー | IfNotPresent |
tests.containerSecurityContext.enabled | テストコンテナのセキュリティコンテキストを有効にする | false |
tests.resources.requests | テストコンテナのリクエストされたリソース | {} |
tests.resources.limits | テストコンテナのリソース制限 | {} |
-
*注: イメージリポジトリの値にはプレフィックス -de が指定されており、これはソリューションタイプを意味します。可能なオプション:
-de. 商用デベロッパー版-ee. 商用エンタープライズ版
このパラメーターのデフォルト値は、ONLYOFFICE Document Server デベロッパー版を指します。このエディションについて詳しく知り、他のエディションと比較するには、このページの比較表をご覧ください。
5. 設定とインストールの詳細
-
例のデプロイメント(オプション)
重要このステップはオプションです。例をデプロイする必要がない場合は、完全にスキップできます。
例をデプロイするには、
example.enabledパラメーターを true に設定します:$ helm install documentserver onlyoffice/docs --set example.enabled=true -
メトリクスのデプロイメント(オプション)
重要このステップはオプションです。メトリクスをデプロイする必要がない場合は、完全にスキップできます。
メトリクスをデプロイするには、
metrics.enabledを true に設定します:$ helm install documentserver onlyoffice/docs --set metrics.enabled=trueGrafana を使用してメトリクスを視覚化したい場合は、
grafana.enabledをtrueに設定します。Grafana にアクセスするために Nginx Ingress を使用したい場合は、grafana.ingress.enabledをtrueに設定します:$ helm install documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.ingress.enabled=true -
ONLYOFFICE Docs の公開
-
ONLYOFFICE Docs をサービス経由で公開(HTTP のみ)
注記ONLYOFFICE Docs を HTTPS 経由で公開する場合は、このステップをスキップしてください。
この公開タイプは、ONLYOFFICE Docs にアクセスするためのロードバランサーを作成します。外部 TLS 終端を使用し、k8s クラスター内に他の WEB アプリケーションがない場合にこの公開タイプを使用してください。
ONLYOFFICE Docs をサービス経由で公開するには、
service.typeパラメーターを LoadBalancer に設定します:$ helm install documentserver onlyoffice/docs --set service.type=LoadBalancer,service.port=80documentserverサービスの IP を取得するには、次のコマンドを実行します:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"その後、ONLYOFFICE Docs は
http://DOCUMENTSERVER-SERVICE-IP/で利用可能になります。サービス IP が空の場合は、
documentserverサービスのホスト名を取得してみてください:$ kubectl get service documentserver -o jsonpath="{.status.loadBalancer.ingress[*].hostname}"この場合、ONLYOFFICE Docs は
http://DOCUMENTSERVER-SERVICE-HOSTNAME/で利用可能になります。 -
ONLYOFFICE Docs を Ingress 経由で公開
まず、Kubernetes Nginx Ingress コントローラーをインストールします:
$ helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.publishService.enabled=true,controller.replicaCount=2注記Prometheus への ingress-nginx メトリクスの公開を有効にするには、次のコマンドを実行します:
$ helm install nginx-ingress -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/ingress_values.yaml ingress-nginx/ingress-nginxHelm を使用して Nginx Ingress をインストールする詳細については、こちらをご覧ください。
次に、公開方法を選択します:
-
HTTP 経由
注記ONLYOFFICE Docs を HTTPS 経由で公開する場合は、このステップをスキップしてください。
$ helm install documentserver onlyoffice/docs --set ingress.enabled=trueingress IP を取得します:
$ kubectl get ingress documentserver -o jsonpath="{.status.loadBalancer.ingress[*].ip}"ONLYOFFICE Docs は
http://DOCUMENTSERVER-INGRESS-IP/で利用可能になります(IP が空の場合はホスト名を使用します)。 -
HTTPS 経由(TLS 終端)
SSL 証明書を含む
tlsシークレットを作成します:$ 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.comDNS プロバイダーを通じて、ingress IP またはホスト名をドメイン名に関連付けます。その後、ONLYOFFICE Docs は
https://your-domain-name/で利用可能になります。 -
Let's Encrypt を使用した HTTPS 経由
$ helm repo add jetstack https://charts.jetstack.io$ helm repo update$ helm install cert-manager --version v1.17.4 jetstack/cert-manager \--namespace cert-manager \--create-namespace \--set crds.enabled=true \--set crds.keep=false次に、
ingress.enabled、ingress.ssl.enabled、ingress.letsencrypt.enabledをtrueに設定し、ingress.letsencrypt.emailとingress.host(複数のドメインの場合はingress.tenants)に独自の値を指定して、ONLYOFFICE Docs のインストールまたはアップグレードを実行します。 -
仮想パス経由
ingress.enabled、ingress.host、およびingress.pathパラメーターを設定します:$ helm install documentserver onlyoffice/docs --set ingress.enabled=true,ingress.host=your-domain-name,ingress.path=/docs対応しているイングレスコントローラー:KubernetesによるIngress NGINX、NGINXによるNGINX Ingress、HAProxyによるHAProxy Ingress。
Ingress NGINX by Kubernetes の場合は、
ingress.pathにパターン(/|$)(.*)を追加します。例えば、/docs(/|$)(.*)。
-
-
OpenShift でルートを介して ONLYOFFICE Docs を公開
$ helm install documentserver onlyoffice/docs --set openshift.route.enabled=true,openshift.route.host=your-domain-name,openshift.route.path=/docsTLS 終端のためには、OpenShift のウェブコンソールを介して手動で証明書をルートに追加します。
-
6. ONLYOFFICE Docsのスケーリング
このステップはオプションです。デフォルトのデプロイメント設定を使用する場合は、完全にスキップできます。
-
水平Podオートスケーリング
オートスケーリングを有効にすると、
docserviceおよびconverterデプロイメントのレプリカ数が、値とメトリックの種類に基づいて自動的に計算されます。リソースメトリックの場合、API
metrics.k8s.ioが登録されている必要があります。これは通常、metrics-serverによって提供され、クラスタアドオンとして起動できます。docserviceデプロイメントのHPAを有効にするには、docservice.autoscaling.enabled=trueパラメーターを指定します。同様に、converterデプロイメントのHPAを有効にするには、converter.autoscaling.enabled=trueを指定します。どちらの場合も、対応するreplicasパラメーターは無視され、レプリカ数はHPAによって制御されます。水平Podオートスケーリングの詳細については、こちらをご覧ください。他の設定可能なオートスケーリングパラメーターについては、パラメーターの表を参照してください。
-
手動スケーリング
docserviceおよびconverterデプロイメントは、デフォルトでそれぞれ2つのPodで構成されています。docserviceデプロイメントをスケールするには:$ kubectl scale -n default deployment docservice --replicas=POD_COUNTconverterデプロイメントをスケールするには:$ kubectl scale -n default deployment converter --replicas=POD_COUNT
7. ONLYOFFICE Docsの更新
更新するには、アップグレード用のパラメーターを設定します。例えば:
$ helm upgrade documentserver onlyoffice/docs \
--set docservice.image.tag=[version]
インストール時に指定されたパラメーターも指定する必要があります。
または、values.yamlファイルを修正して次のコマンドを実行します:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs
helm upgrade コマンドは、ONLYOFFICE Docsをシャットダウンし、データベースをクリーンアップするフックを実行します。デフォルトのフック実行時間は300秒です。変更するには:
$ helm upgrade documentserver -f values.yaml onlyoffice/docs --timeout 15m
Webプロキシの背後やインターネットアクセスのないプライベートk8sクラスタでアップグレードする際は、以下のノートを参照してください。
ONLYOFFICE Docsのバージョン以外のパラメーターを更新するには、フックなしで helm upgrade を実行します:
$ helm upgrade documentserver onlyoffice/docs --set jwt.enabled=false --no-hooks
更新をロールバックするには:
$ helm rollback documentserver
プライベートk8sクラスタでロールバックする際は、以下のノートを参照してください。
8. ONLYOFFICE Docsのシャットダウン
このステップはオプションです。
シャットダウンを実行するには、次のコマンドを実行します:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n <NAMESPACE>
ここで、<NAMESPACE> はONLYOFFICE Docsがインストールされている名前空間です。指定されていない場合、デフォルト値は default です。例:
$ kubectl apply -f https://raw.githubusercontent.com/ONLYOFFICE/Kubernetes-Docs/master/sources/shutdown-ds.yaml -n onlyoffice
shutdown-ds Podが正常に実行された後、ジョブを削除します:
$ kubectl delete job shutdown-ds -n <NAMESPACE>
シャットダウン後にONLYOFFICE Docsを再起動するには、docserviceおよびconverterのPodを再起動します:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
9. ONLYOFFICE Docsライセンスの更新
このステップはオプションです。
バージョンv5.1.1以降では、Podを再起動せずに、シークレットを再作成することでライセンスを更新できます。ライセンスを更新するには:
-
新しい
license.licファイルをディレクトリに配置します。 -
次のコマンドを実行します:
$ kubectl delete secret [SECRET_LICENSE_NAME] -n <NAMESPACE>$ kubectl create secret generic [SECRET_LICENSE_NAME] --from-file=path/to/license.lic -n <NAMESPACE>ここで、SECRET_LICENSE_NAMEはライセンスを持つ既存のシークレットの名前です。
documentserverは新しいライセンスを自動的に読み込みます。
docserviceおよびconverterのPodを再起動します:
$ kubectl delete pod converter-*** docservice-*** -n <NAMESPACE>
10. ONLYOFFICE Docsインストールテスト
このステップはオプションです。
ONLYOFFICE Docsの可用性と接続された依存関係へのアクセスをテストします:
$ helm test documentserver -n <NAMESPACE>
出力には次の行が含まれているはずです:
Phase: Succeeded
テストのログを表示するには:
$ kubectl logs -f test-ds -n <NAMESPACE>
テスト後、test-ds Podを削除します:
$ kubectl delete pod test-ds -n <NAMESPACE>
このテストは情報提供のみを目的としており、100%の可用性を保証するものではありません。詳細情報については、アプリケーションログを確認してください。
11. プライベートk8sクラスタでのジョブ実行
このステップはオプションです。クラスタがインターネットに制限なくアクセスできる場合は、完全にスキップできます。
Helmチャートのバージョン6.1.0以降、データベースの初期化に必要なSQLスクリプトは docs-utils イメージに含まれているため、ジョブがそれらをダウンロードするためにインターネットにアクセスする必要はありません。
install.existingConfigmap.initdb または upgrade|rollback|delete.existingConfigmap.dsStop パラメータで指定したconfigmapに、インターネットアクセスが必要なカスタムスクリプトをマッピングし、ネットワークでWebプロキシを使用できる場合は、Podのコンテナがインターネットにアクセスできるように、webProxy.enabled=true と適切なWebプロキシパラメータを設定します。
12. 情報ページへのアクセス
このステップはオプションです。
/info ページへのアクセスはデフォルトで制限されています。アクセスを許可するには、proxy.infoAllowedIP パラメーターを使用してIPアドレスまたはサブネットを指定します。Kubernetesネットワークの特性上、実際のクライアントは通常、元のユーザーIPではなく、Pod、ノード、またはロードバランサーのアドレスになることに注意してください。
proxy.infoAllowedUser パラメーターと proxy.infoAllowedPassword によるパスワードを設定することで、NginxのBasic認証を使用してアクセスをさらに制限できます。または、proxy.infoAllowedExistingSecret を設定して既存のシークレットを使用します。
Grafanaを使用してメトリクスを視覚化する
このセクションはオプションです。Grafanaをインストールしたくない場合は、完全にスキップできます。
1. Grafanaのデプロイ
ステップ6.2(Prometheusのインストール)がすでに完了していることが前提です。
-
既製のダッシュボードなしでGrafanaをデプロイする
注記既製のダッシュボードをインストールして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 -
既製のダッシュボードとともにGrafanaをデプロイする
-
既製のGrafanaダッシュボードをインストールする
grafana.enabledとgrafana.dashboard.enabledパラメーターをtrueに設定します。ONLYOFFICE Docsがすでにインストールされている場合は、次のコマンドを実行します:helm upgrade documentserver onlyoffice/docs --set grafana.enabled=true --set grafana.dashboard.enabled=trueこれにより、GrafanaのウェブサイトからJSON形式の既製のダッシュボードがダウンロードされ、必要な編集が適用され、それらからconfigmapが作成されます。ONLYOFFICE Docsのメトリクス用のダッシュボードも追加されます(ステップ6(StatsDエクスポーターのデプロイ)がすでに完了していることが前提です)。
-
Grafanaのインストール
$ helm install grafana --version 12.1.8 bitnami/grafana \--set service.ports.grafana=80 \--set config.useGrafanaIniFile=true \--set config.grafanaIniConfigMap=grafana-ini \--set datasources.secretName=grafana-datasource \--set resourcesPreset=none \--set image.repository=bitnamilegacy/grafana \--set image.tag=12.1.1-debian-12-r1 \--set global.security.allowInsecureImages=true \--set dashboardsProvider.enabled=true \--set dashboardsConfigMaps[0].configMapName=dashboard-node-exporter \--set dashboardsConfigMaps[0].fileName=dashboard-node-exporter.json \--set dashboardsConfigMaps[1].configMapName=dashboard-deployment \--set dashboardsConfigMaps[1].fileName=dashboard-deployment.json \--set dashboardsConfigMaps[2].configMapName=dashboard-redis \--set dashboardsConfigMaps[2].fileName=dashboard-redis.json \--set dashboardsConfigMaps[3].configMapName=dashboard-rabbitmq \--set dashboardsConfigMaps[3].fileName=dashboard-rabbitmq.json \--set dashboardsConfigMaps[4].configMapName=dashboard-postgresql \--set dashboardsConfigMaps[4].fileName=dashboard-postgresql.json \--set dashboardsConfigMaps[5].configMapName=dashboard-nginx-ingress \--set dashboardsConfigMaps[5].fileName=dashboard-nginx-ingress.json \--set dashboardsConfigMaps[6].configMapName=dashboard-documentserver \--set dashboardsConfigMaps[6].fileName=dashboard-documentserver.json \--set dashboardsConfigMaps[7].configMapName=dashboard-cluster-resourses \--set dashboardsConfigMaps[7].fileName=dashboard-cluster-resourses.json次のダッシュボードがGrafanaにインポートされます:ノードエクスポーター、デプロイメント ステートフルセット デーモンセット、Prometheus Redis Exporter用のRedisダッシュボード、RabbitMQ-Overview、PostgreSQLデータベース、NGINX Ingressコントローラー、ONLYOFFICE Docs、Podおよびコンテナのリソース使用量。
注記Grafanaで視覚化されるONLYOFFICE Docsのメトリクスの説明はこちらで確認できます。
Helmを使用してGrafanaをインストールする詳細についてはこちらをご覧ください。
-
2. Ingressを介してGrafanaにアクセスする
Kubernetes Nginx Ingressコントローラーのインストールのステップがすでに完了していることが前提です。
ONLYOFFICE Docsがパラメーター grafana.ingress.enabled(メトリクスのデプロイメント)でインストールされた場合、Grafanaへのアクセスは次のアドレスになります:http://INGRESS-ADDRESS/grafana/
セキュア接続を使用してIngressがインストールされた場合(ONLYOFFICE DocsをHTTPS経由で公開)、Grafanaへのアクセスは次のアドレスになります:https://your-domain-name/grafana/
3. Grafanaで収集されたメトリクスを表示する
http(s)://your-domain-name/grafana/ に移動し、次の情報でログインします:
Login - admin
パスワードを取得するには、次のコマンドを実行します:
$ kubectl get secret grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode
ダッシュボードセクションでは、Prometheusから受信したメトリクスを表示する追加されたダッシュボードを見ることができます。