helm

    [DevOps] helm template에서 loop 돌리기 (rage until 사용)

    Intro helm chart를 사용하다보면 커스텀하게 변경해야할 경우가 종종 발생합니다. 오늘은 helm chart 문법에서 rage를 사용해서 for구문 처럼 loop 돌리고 정수 값을 0,1,2,3 으로 넘버링 하는 방법을 알아 보겠습니다. 결론 먼저 결론적으로 다음과 같이 {{range $index, $element := until (int .Values.replicas) }} 구문을 사용하면 됩니다. {{range $index, $element := until (int .Values.replicas) }} --- apiVersion: v1 kind: Service metadata: name: example-{{ $index }}-svc namespace: devops spec: ports: - ..

    [DevOps] helm template 다루기

    Intro kubernetes를 운영하는 엔지니어들은 helm 사용이 필수불가피 합니다. 일부 helm template을 커스터마이징하여 사용하게되는 경우도 빈번하게 됩니다. 따라서 helm template을 잘 다룰 수 있어야하겠죠. hlem은 리소스파일들을 템플릿화하기위해 go template을 사용합니다. 오늘은 go template으로 구성되어있는 helm에서 가장 많이 사용하는 문법에 대해 정리해보도록 하겠습니다. 공백(whitespace) 제거 {{- : 줄바꿈 포함한 왼쪽 공백 모두 제거 -}} : 줄바꿈 포함한 오른쪽 공백 모두 제거 whitespace 제거 구문 사용하지 않은 렌더링 예시 myvalue: "Hello World" drink: {{ .Values.favorite.drink ..

    [DevOps] helm 이란?

    Helm 이란? helm이란 쿠버네티스 패키지 매니저입니다. centOS에서 yum 이나 python에서는 pip 툴 MAC OS에서는 brew와 같이 패키지를 관리 주는 툴입니다. helm을 이용하면 원하는 패키지들을 쿠버네티스에 쉽게 설치할 수 있습니다. helm은 docker hub와 비슷하게 helm 패키지들을 저장하고 있는 저장소(repository)가 있습니다. 사용자는 저장소를 추가하고 해당 저장소의 패키지를 install하기만 하면 됩니다. helm 차트로 원하는 패키지를 install할때 values.yaml 을 이용하여 사용자의 환경에 따라 커스텀하여 사용할 수 있습니다. Helm의 기본 구조 helm의 기본구조는 아래와 같이 helm 명령어로 생성할 수 있습니다. helm create..