helm 5

[Helm/Superset] [flask_migrate] Error: Requested revision overlaps with other requested revisions

현상 AWS EKS에서 Helm으로 Apache Superset을 설치해 사용 중이다. 최근 EKS 버전 업그레이드 작업을 진행했는데, 작업 후 서비스를 확인하던 중 로그인 후 메인화면이 정상적으로 표시되지 않는 현상이 발생했다. 확인해 보니 작업 중 쿠버네티스 클러스터 노드가 변경되면서 새로 Superset 도커 이미지 pull이 발생했는데, Helm으로 배포한 values.yaml에 이미지 태그가 특정 버전으로 고정되어 있지 않고 latest로 지정되어 있어 Superset DB의 버전과 차이가 발생하게 된 것 같다. 특정 컬럼이 존재하지 않는다는 로그와 함께 데이터 로드에 실패하는 모습을 확인할 수 있었다. sqlalchemy.exc.ProgrammingError: (psycopg2.errors.U..

Apache Superset 2024.01.08

[Helm/Jenkins] CAcert를 이용한 LDAPS 적용

개요 2022.05.16 - [Jenkins] LDAP 연동으로 Jenkins에 LDAP 적용을 했었는데, 이번에는 인증서를 이용한 LDAPS 적용이 필요해 방법을 정리한다. 쿠버네티스 클러스터에 Helm으로 설치한 Jenkins로, 사용한 Chart는 이미 deprecated 된 https://github.com/helm/charts/tree/master/stable/jenkins이다. init container를 이용해 컨테이너 환경 변수로 전달한 인증서를 적용하는 방법으로, https://github.com/helm/charts/issues/23374를 참고하여 진행했다. 적용 방식 1. 공유 공간으로 cacerts-share이라는 이름의 emptyDir volume 생성 2. jenkins 컨테이..

Jenkins 2023.03.20

[helm] Chart 생성/배포

kubernetes 클러스터 환경에서 나만의 Helm Chart를 이용해 서비스를 배포하고자 한다. Helm Chart를 직접 작성 후 패키징하여 배포해보자. Helm Chart 생성 배포할 Helm Chart를 생성한다. helm create # 예시 helm create passwd_test Chart는 현재 위치한 디렉터리에 Chart 이름과 같은 경로로 생성된다. 디렉터리 구조는 아래와 같다. chart_name/ Chart.yaml # 차트에 대한 정보를 가진 YAML 파일 LICENSE # 옵션: 차트의 라이센스 정보를 가진 텍스트 파일 README.md # 옵션: README 파일 values.yaml # 차트에 대한 기본 환경설정 값들 values.schema.json # 옵션: value..

Kubernetes 2022.06.02

[helm] 업그레이드, 롤백

Helm Chart/Release로 설치한 애플리케이션의 변경하려고 한다. 업그레이드 과정에 필요한 명령어를 정리해둔다. 업그레이드 업그레이드할 release의 이름, 사용할 chart, 필요하다면 values.yaml을 지정한다. helm upgrade [flags] # -f : yaml 파일 또는 url로 values 지정. 복수 설정 가능 # -n : helm release를 생성한 네임스페이스 # --dry-run : 업그레이드 시뮬레이션. 실제 반영하지 않음 # 예시 helm upgrade -f values.yaml -n notebook docs /path/chart 업그레이드 성공 시 이름과 네임스페이스, 버전, template/NOTES.txt의 내용이 출력된다. 업그레이드 시뮬레이션 실제로..

Kubernetes 2022.05.29

Helm Concepts

이미지 버전, 디스크 용량, 애플리케이션 관리자 비밀번호 등 쿠버네티스 환경에서 애플리케이션은 환경에 따라 다른 값을 가질 수 있다. Helm은 아래와 같은 방식을 통해 하나의 패키지로 여러 환경을 구성할 수 있도록 한다. - 값을 변수로 취급할 수 있도록 파일을 템플릿으로 변환한다. - 변수는 중괄호로 감싸서 나타내며, 값을 식별할 변수명을 적는다. 값은 values.yaml에 저장된다. 즉, 템플릿과 values.yaml이 결합한 것이 쿠버네티스가 클러스터에 애플리케이션을 배포하는 데 사용하는 정의 파일에 해당한다. helm chart template + values.yaml + Chart.yaml Chart.yaml에는 차트의 이름, 버전, 설명과 같은 차트와 관련된 정보들이 저장되어 있다. 사용자..

1