Convention on impose core requirements

Page content

하나의 Helm chart를 이용하여 여러 개의 pod를 설치 하는 nested chart 인 경우 각각의 pod에 대한 CPU requirement는 각 subchart의 values.yaml에 resources 항목에 기술하면 된다.

아래는 ONAP중 closed loop control에서 Data collection을 담당하는 DCAE의 SW들을 kubernets에 배포하기 위해 만들어진 차트들이다. 다음과 같이 8개의 chart들로 구성되어 있고,

$ tree -d oom/kubernetes/dcaegen2/charts/ -L 1
oom/kubernetes/dcaegen2/charts/
├── dcae-bootstrap
├── dcae-cloudify-manager
├── dcae-config-binding-service
├── dcae-deployment-handler
├── dcae-healthcheck
├── dcae-policy-handler
├── dcae-redis
└── dcae-servicechange-handler

8 directories

각각의 subchart는 각자의 values.yaml 파일을 가지고 있다.

cychong@mini1:~/work/oom/kubernetes/dcaegen2$ find . -name values.yaml
./charts/dcae-redis/values.yaml
./charts/dcae-deployment-handler/values.yaml
./charts/dcae-servicechange-handler/charts/dcae-inventory-api/values.yaml
./charts/dcae-servicechange-handler/values.yaml
./charts/dcae-policy-handler/values.yaml
./charts/dcae-healthcheck/values.yaml
./charts/dcae-config-binding-service/values.yaml
./charts/dcae-bootstrap/values.yaml
./charts/dcae-cloudify-manager/values.yaml
./values.yaml

dcae-redis chart의 values.yaml 파일을 보면 다음과 같이 CPU, memory에 대한 요구사항을 기술하고 있다.

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 1
      memory: 1Gi
  large:
    limits:
      cpu: 4
      memory: 4Gi
    requests:
      cpu: 2
      memory: 2Gi
  unlimited: {}