Tomcat 차트 분석



1. tomcat 차트 설치 및 배포


1-1) 레포지토리 등록

helm repo add bitnami https://charts.bitnami.com/bitnami

1-2) Tomcat 7.1.2 다운로드

helm pull bitnami/tomcat --version 7.1.2
tar -xf tomcat-7.1.2.tgz

1-3) Tomcat Template 보기

helm template mytomcat .


2. tomcat에서 나오는 함수 따라해보기


2-1) Chart Template 생성

helm create mychart

templates 폴더 안에 불필요한 파일 삭제

rm -rf deployment.yaml hpa.yaml ingress.yaml serviceaccount.yaml service.yaml tests

2-2) test-values.yaml에 해당 속성 추가

vi test-values.yaml

data:

include : "value2"

typeIs1 : "text"
typeIs2 : true

defaultLevel : info
dev:
  env: dev
  log: "{{ .Values.defaultLevel }}"
qa:
  env: qa
  log: "{{ .Values.defaultLevel }}"

data1:
data2:
data3: "text3"

2-3) configmap 추가

vi cm.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: tomcat
data:
#<dict>
 {{- $myDict := dict "key1" "value1" }}
  dict: {{ get $myDict "key1" }}

#<include>
  include1: {{- include "mychart.include" (dict "key1" "value1") | nindent 4 }}
  include2: {{- include "mychart.include" (dict "key1" .Values.include) | nindent 4 }}

#<typels>
  {{- if typeIs "string" .Values.typeIs1 }}
  typels1: {{ .Values.typeIs1 }}
  {{- end }}
  {{- if typeIs "bool" .Values.typeIs2 }}
  typels2: {{ .Values.typeIs2 }}
  {{- end }}

#<tpl>
  normal: "{{ .Values.dev.log }}"
  tpl: "{{ tpl .Values.dev.log . }}"

#<coalesce>
  coalesce1: {{ coalesce .Values.data1 .Values.data2 "text1" }}
  coalesce2: {{ coalesce .Values.data1 "text2" .Values.data3 }}

2-4) Template 명령

helm template mychart ./../ -f ./../test-values.yaml


Referenece


Helm