デフォルト設定だとrequest
が16Giに設定されるため、RAM16GBのノードへはどうしてもデプロイできず、より大きいサイズのRAMが必要のため、検証環境なんかだとそのスペックを用意するのが難しかったり。。
そこで
openshift_logging_es_memory_limit=8Gi
新規クラスタデプロイ時であれば、インベントリにこれを追加してデプロイすればOK
- Specifying Logging Ansible Variables: Aggregating Container Logs | Configuring Clusters | OpenShift Container Platform 3.11
- 日本語版: 36.3. ロギング Ansible 変数の指定
デプロイ済みの環境であれば、oc edit dc logging-es-data-master-***
でリソースのrequest
/limit
の値とRAMの 3か所 を、デフォルトの16Gi
から8Gi
など任意の値に設定変更。
ただし、elasticsearchのdeploymentconfigはTriggerが設定されてない(config変更で自動更新されない)ので、手動で更新された設定でpodをデプロイする。
spec: template: : : spec: : : containers: : : - env: : : - name: INSTANCE_RAM value: 16Gi # これ(1/3) : : image: docker.io/openshift/origin-logging-elasticsearch5:v3.11 imagePullPolicy: IfNotPresent : resources: limits: memory: 16Gi # と、これ(2/3) requests: cpu: "1" memory: 16Gi # と、これ(3/3)
oc edit
したら、oc rollout latest
する
$ oc rollout latest dc/logging-es-data-master-ctkkhtbo deploymentconfig.apps.openshift.io/logging-es-data-master-ctkkhtbo rolled out