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_..
전 회사에서 처음으로 K9S를 봤다. 쿠버네티스도 어려운데 k9s는 뭘까? 하는 마음이었다. 근데 그냥 단순하게 쿠버네티스를 CLI 환경에서 GUI로 모니터링/조작할 수 있는 도구였다. kubectl로 일일이 커맨드를 작성하는 게 아니라 UI로 쿠버네티스를 이용할 수 있는 것이다. 늘 도구나 언어 등을 공부할 때, 공식문서를 참고하는데 k9s는 이런 식으로 설명이 되어 있다. K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your deployed applications in the wild...
1️⃣ ArgoCD란? ArgoCD에 관한 공식적인 설명은 다음과 같다. Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. 한 마디로 쿠버네티스에 사용되는 선언적인 GitOps CD 툴이라는 의미다. GitOps는 Git을 활용하여 DevOps를 Git 환경으로 수행하는 것을 의미한다. 예를 들어 GitOps 파이프라인들은 다음과 같은 것들이 있다. 구성을 보면 대부분 개발 -> 레포지터리 반영 -> CI(테스트, 빌드 등) -> CD(이미지 빌드 및 전달, 애플리케이션 배포)의 과정을 거친다. 여기서 ArgoCD가 Kubernetes에 변경 사항을 업데이트하고 배포하는 과정을 담당하는 도구로 동작하는 것으로 이해했다. 2..