![[Docker] 볼륨 (Volume)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FYqkED%2FbtsNWsuFG3F%2FAAAAAAAAAAAAAAAAAAAAAJWnsuIVojPMPMscwE_Wyod8pu36-jS-ptfiJYTahShW%2Fimg.webp%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D86CcJl2AC3nvNaDH16BIDENRxsc%253D)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.도커 볼륨의 개념기존 컨테이너를 새로운 컨테이너로 교체하면, 기존 컨테이너 내부에 있던 데이터도 같이 삭제된다.만약 이 컨테이너가 MySQL을 실행시키는 컨테이너였다면 MySQL에 저장된 데이터도 같이 삭제 돼버린다. 따라서 컨테이너 내부에 저장된 데이터가 삭제되면 안 되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. 도커의 볼륨(Volume)이란 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법이다.볼륨(Volume)은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 볼륨 종류바인드 마운트(Bind Mount)바인드 마운트는 호스트 시스템의..
![[Docker] 자주 사용하는 명령어 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbRfUXL%2FbtsNV6ra4Jv%2FAAAAAAAAAAAAAAAAAAAAACCeGnhWgv5fA5DbPKlqPeEEyRhpYZDxSRwTejiz5cfA%2Fimg.webp%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DtMnTJjbw3IpkFpASt8BTJEItu9E%253D)
이미지 관련 명령어다운로드이미지 다운로드# docker pull 이미지명docker pull nginx # docker pull nginx:latest와 동일하게 작동 특정 버전 이미지 다운로드# docker pull 이미지명:태그명docker pull nginx:stable-perl 조회이미지 조회docker image ls 모든 이미지 조회중간 이미지(intermediate images)와 태그가 없는 이미지(dangling images)도 포함docker image ls -a 삭제사용하고 있지 않은 이미지 삭제docker image rm [이미지 ID 또는 이미지명] 이미지 강제 삭제docker image rm -f [이미지 ID 또는 이미지명] 전체 이미지 삭제# 컨테이너에서 사용하고 있지 않은..
![[Kubernetes] 핵심 명령어 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fdaz8K6%2FbtsNQWCv6zG%2FAAAAAAAAAAAAAAAAAAAAAKVl5oUpzNQe9-fYI_tkyzHGnSqJUQoNjZIIigf1SfNh%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DCfJOrS96PcWyEvCoXpn%252B2Gr89Xs%253D)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.파드(Pod) 관련 명령어파드 조회kubectl get pods 파드 포트로 포워딩# kubectl port-forward pod/[파드명] [로컬에서의 포트]/[파드에서의 포트]kubectl port-forward pod/nginx-pod 80:80 파드 삭제# kubectl delete pod [파드명]kubectl delete pod nginx-pod # nginx-pod라는 파드 삭제 파드 디버깅파드 세부 정보 조회# kubectl describe pods [파드명]kubectl describe pods nginx-pod # nginx-pod 파드의 세부 정보 조회 파드 로그 확인# kubectl logs ..
![[Kubernetes] 볼륨(Volume)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FHPZiO%2FbtsNR2BPORy%2FAAAAAAAAAAAAAAAAAAAAAOaEAxIbcW7ZHLx0uHm1GkOvdclHjIsdMUklLw0E-2yX%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dg2TLvgnjgL9EN5L%252Bnxp9IX8%252BmDw%253D)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.기존 파드를 새로운 파드로 교체하면, 기존 파드 내부에 있던 데이터도 같이 삭제된다. 만약 이 파드가 MySQL을 실행시키는 파드였다면 MySQL에 저장된 데이터도 같이 삭제 돼버린다. 따라서 파드 내부에 저장된 데이터가 삭제되면 안 되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. Volume볼륨(Volume)이란 데이터를 영속적으로 저장하기 위한 방법이다. 쿠버네티스에서 볼륨은 크게 2가지 종류로 나뉜다.로컬 볼륨(Local Volume)퍼시스턴트 볼륨(Persistent Volume, PV) 로컬 볼륨파드 내부의 공간 일부를 볼륨(Volume)으로 활용하는 방식이다.이 방식은 파드가 삭제되는 즉시..
![[Spring Boot 핵심원리와 활용] 사용자 정의 메트릭](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FrvNvJ%2FbtsNS3t6q4a%2FAAAAAAAAAAAAAAAAAAAAANaUNe4lrOg0TPtiwZ0neqm4bDaFkC_X_GKeTkqVdYeL%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DuiUAI6siOCVn03azrxDrYkbQVcA%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.MeterRegistry마이크로미터 기능을 제공하는 핵심 컴포넌트스프링을 통해서 주입 받아서 사용하고, 이곳을 통해서 카운터, 게이지 등을 등록한다.MeterRegistry는 마이크로미터(Micrometer)에서 모든 메트릭(Counter, Gauge, Timer 등)을 등록하고 관리하는 중심 객체이다.Spring Boot에서는 MeterRegistry를 빈(bean)으로 자동 주입받아 사용할 수 있으며, 이 객체를 통해 커스텀 메트릭을 생성하거나 값을 기록할 수 있다. 카운터(Counter)Counter(카운터)단조롭게 증가하는 단일 누적 측정항목 (단일 값, 보통 하나씩 증가)누적이므로 전체 값을 포함(to..
![[Kubernetes] 환경변수 관리(ConfigMap, Secret)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FOSlem%2FbtsNNWu0Omm%2FAAAAAAAAAAAAAAAAAAAAAEhTLRbfbvreB0rDMp9g3LKt8Y6dbri-d69SjnvnNvY4%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DWIZ6JItmMqDZ4FDCVlLCYlg7nMo%253D)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.ConfigMapSpring Boot에서는 설정값을 application.yml으로 분리해서 관리한다.별도의 파일로 분리를 해서 관리함으로써 유지보수가 편리해지고 개발, 테스트, 프로덕션과 같은 환경 분리가 편해진다. 쿠버네티스에서는 파드(Pod), 디플로이먼트(Deployment), 서비스(Service)가 각각의 역할을 가지고 있는 것처럼 환경 변수를 관리하는 역할을 가진 오브젝트가 따로 존재한다.그게 바로 컨피그맵(ConfigMap)이다. spring-config.yamlapiVersion: v1kind: ConfigMap# ConfigMap 기본 정보metadata: name: spring-config #..
![[Spring Boot 핵심원리와 활용] 마이크로미터, 프로메테우스, 그라파나](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FrNG6e%2FbtsNSMMzAYK%2FAAAAAAAAAAAAAAAAAAAAAMRHZa9gFbY9a7XWVFQRiIDL1e51PjsOI39xNP5h_nKc%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DqXEYdyhRyKYbMQaq6JxnlPQpujM%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.마이크로미터세상에는 수 많은 모니터링 툴이 있고, 시스템의 다양한 정보를 이 모니터링 툴에 전달해서 사용하게 된다.모니터링 툴이 작동하려면 시스템의 다양한 지표들을 각각의 모니터링 툴에 맞도록 만들어서 보내주어야 한다.그런데 중간에 사용하는 모니터링 툴을 변경하면 기존에 측정했던 코드를 모두 변경한 툴에 맞도록 다시 변경해야 한다.개발자 입장에서는 단순히 툴 하나를 변경했을 뿐인데, 측정하는 코드까지 모두 변경해야 하는 문제가 발생한다.이런 문제를 해결하는 것이 바로 마이크로미터(Micrometer)라는 라이브러리이다. 다양한 메트릭마이크로미터와 액츄에이터가 기본으로 제공하는 다양한 메트릭은 아래와 같다.JVM ..
![[Kubernetes] Deployment와 Service](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FNfolE%2FbtsNMLgTmR2%2FAAAAAAAAAAAAAAAAAAAAAAMXJvrS7VOVVfODwTnlzFLJZ_19XGGR7T24w21avkKJ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dw257D35hyh6r%252Fg1UQa8m4ngeKW0%253D)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.DeploymentDeployment 개념디플로이먼트(Deployment) 란 파드를 묶음으로 쉽게 관리할 수 있는 기능을 말한다.현업에서는 일반적으로 서버를 작동시킬 때 파드(Pod)를 수동으로 배포하진 않는다.디플로이먼트(Deployment)라는 걸 활용해서 파드(Pod)를 자동으로 배포한다. 디플로이먼트의 장점파드의 수를 지정하는 대로 여러 개의 파드를 쉽게 생성할 수 있음.ex) 파드를 100개를 생성하라고 시키면 디플로이먼트가 알아서 파드를 100개 생성해준다.파드가 비정상적으로 종료된 경우, 알아서 새로 파드를 생성해 파드 수를 유지한다.동일한 구성의 여러 파드를 일괄적으로 일시 중지, 삭제, 업데이트를..