☸️ Kubernetes
[Kubernetes] Logging 알아보기
클러스터 레벨에서의 로깅 클러스터 레벨에서 메트릭 서버를 설치하면 Node 혹은 Pod의 실시간 지표를 확인할 수 있다. 쿠버네티스 클러스터 1개 당 하나의 메트릭 서버를 설치할 수 있다. 설치를 하면 노드로부터 메트릭 정보를 회수한다. 메트릭 서버는 인메모리 시스템이다.(History 기능 없음) 메트릭 서버 설치 git clone https://github.com/kodekloudhub/kubernetes-metrics-server.git yaml 파일을 전부 클론 받은 뒤 kubectl create -f . 로 설치해주자 그리고 시간이 좀 지나고 아래의 명령어를 써보면 메트릭 정보를 확인 할 수 있다. k top node k top pod 실수하기 쉬운 점은 아래와 같은 문제로 describe로 봤..
[kubernetes] SC에 대한 개념 이해하기
SC(Storage Class)가 필요한 이유 이전 글에서 PV, PVC를 Pod에 연결하는 방법을 배웠다. PV, PVC 방식은 정적 프로비저닝 방식이라고 불린다. 반대로 SC는 일반적으로 동적 프로비저닝을 위해서 사용한다. 정적 프로비저닝 방식은 미리 용량을 할당해두고 사용하는 방식이었다면 동적 프로비저닝 방식은 필요할 때 용량을 할당하는 방식이다. SC를 만들고 PVC를 만들면 자동으로 PV가 만들어진다. 다시 말해서 먼저 PV를 만들어서 용량을 할당할 필요가 없다. SC 개념 이해하기 apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-storage-class provisioner: kubernetes.io/host-path v..
[kubernetes] PV, PVC를 Pod에 연결하기
Pod에서 Volume을 다루는 이유 쿠버네티스 컨테이너 서버에서 로그가 생성된 경우 해당 기록을 따로 밖으로 빼내지 않는 이상 컨테이너가 종료되면 로그도 같이 삭제된다. 그렇기에 Volume이라는 외부 저장소를 연결하여 로그 기록을 따로 저장할 수 있다.(도커 볼륨의 이유와 같다) apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mycontainer image: myimage volumeMounts: - name: myvolume mountPath: /app/data volumes: - name: myvolume hostPath: path: /tmp/data type: Directory volumeMounts의 mount..
[Kubernetes] Helm 튜토리얼 사용법
Helm의 필요성 쿠버네티스 환경에서 yaml 파일이 너무 많아지면 이 파일들을 하나하나 관리하는 것은 힘들다. 그래서 yaml 파일들을 묶어서 관리하고 템플릿 문법을 이용해서 동적으로 yaml 파일을 생성하도록 도와주는 것이 Helm이다. Helm에서의 차트란? 차트란 위의 파일들을 한데 묶어서 표현한 것을 말한다. Chart.yaml에는 Helm에 대한 버전과 내가 배포할 차트의 버전을 적는다. templates에는 yaml 파일들이 들어간다. values.yaml에는 templates에 있는 yaml에 필요한 환경 변수들을 등록해둘 수 있다. Helm 차트는 일반적으로 .tgz 또는 .tar.gz 형식으로 압축된다. Helm은 이러한 압축된 차트를 설치할 수 있다. helm package my-te..