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: {}