Helm은 쿠버네티스에서 원하는 리소스를 세트로 하여 한번에 패키지로 설치할 수 있게 도와주는 툴입니다. 그래서 상세 파일과는 또 다른 방법으로 한 개의 프로그램 패키지를 솝쉽게 설치할 수 있습니다. 헬름으로 직접 서버를 배포했을 때 느낀 점은, 애플리케이션의 의존성을 한 번에 같이 설치할 수 있다는 점이었습니다. 또한, git처럼 각 패키지를 버전으로 관리할 수 있기 때문에 각기 다른 상태로 사용할 수 있다는 것이 또다른 장점입니다. 그래서 이번에 Helm으로 서버 애플리케이션과 mysql을 함께 배포하고 이를 하나의 차트로 만들어서 사용하고자 합니다. 해당 예시에서 사용한 도구는 minikube(docker-driver), helm, node.js, mysql입니다. 차트 초기화 먼저 헬름은 차트라고..
ROOT
현재 쿠버네티스 환경에 데이터베이스 패키지를 설치하였으며, 서버 애플리케이션의 띄웠습니다. 여기서 애플리케이션에서 데이터베이스 커넥션을 획득하기까지의 과정을 정리하고자 합니다. 환경변수의 설정부터 Secret 사용, 동적으로 데이터베이스 호스트 변수 설정, 데이터베이스 서비스 연결까지의 과정을 담았습니다. 매콤한 코멘트는 환영입니다. 👐 Helm으로 mysql 패키지 설치 Helm을 사용해서 빠르게 mysql 구동에 필요한 오브젝트를 한 번에 생성할 수 있습니다. 먼저 애플리케이션과 스토리지를 목적에 맞게 나누기 위해서 네임스페이스를 생성합니다. kubectl create namespace db # 혹은 kubectl create ns db 데이터베이스 관련된 패키지는 모두 db 네임스페이스에 설치할 예..
Kubernetes로 서버 애플리케이션을 배포하는데 오류가 발생했다. set image로 새로 빌드한 이미지를 넣어서 사용하는데 CrashLoopBackOff 상태가 되면서 컨테이너가 계속 생성되고 정지되고를 반복하고 있었다. 그래서 원인을 먼저 파악하는 것이 좋을 것 같아서 다방면으로 어떻게 접근하면 원인을 파악할 수 있을까 둘러보면서 도움이 될 만 하거나 정리하면 좋을 것 같은 내용들을 남긴다. 디버깅 파드에 문제가 발생했을 때는 세 가지 오브젝트에 관해 문제 상황을 확인해야 한다. 파드에 문제가 발생 레플리케이션컨트롤러에 문제가 발생 서비스에 문제가 발생 파드 디버깅 파드에 문제가 있는지 확인한다. 가장 간단하게 확인할 수 있는 방법은 describe다. 혹은 get resource로 먼저 대략적인..
헬름은 쿠버네티스를 위한 패키지 관리자다. 헬름을 이용하면 여러 유용한 패키지들을 손쉽게 설치할 수 있다. 예를 들어서, metalLB를 helm로도 설치할 수 있다. Kustomize와 비슷한 격이다. 공식 문서 한국어 번역도 깔끔하고, 상당히 친절해서 공식문서를 읽는 것이 좋을 것 같다. 아래 내용은 위 공식문서를 읽으며 정리한 내용이다. 설치 homebrew나 chocolatey 같은 패키지 매니저로도 설치할 수 있는데 헬름 프로젝트에서 공식적으로는 지원하지 않아서 스크립트로 설치하는 것을 추천한다고 한다. curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_..