zaki work log

作業ログやら生活ログやらなんやら

(OKD 3.11) logging (Elasticsearch)を16Giより少ないリソース設定でデプロイする

デフォルト設定だとrequestが16Giに設定されるため、RAM16GBのノードへはどうしてもデプロイできず、より大きいサイズのRAMが必要のため、検証環境なんかだとそのスペックを用意するのが難しかったり。。

そこで

openshift_logging_es_memory_limit=8Gi

新規クラスタデプロイ時であれば、インベントリにこれを追加してデプロイすればOK

デプロイ済みの環境であれば、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