Infra27 docker 명령 정리 1. 기본 개념 정리이미지 (Image): 불변의 실행 환경 스냉샷. 여러 레이어(overlayfs)로 구성됨.컨테이너 (Container): 이미지 + 실행 중 상태. 런타임에 메모리, PID, 네트워크 네임스페이스 등과 연결.Dockerfile: 이미지 생성 스크립트. 캐시 최적화 중요.빌드 컨텍스트: Dockerfile과 관련 파일들의 루트 디렉토리.볼륨과 바인드 마운트: 컨테이너와 호스트 간 데이터 지속성 방식.네트워크 모드: bridge, host, none, container, overlay (Swarm) 등.2. 핵심 명령어 2-1. 이미지 관리docker build -t myapp:latest . # 기본 빌드docker buildx build --platfo.. 2025. 6. 9. NFS 와 CSI NFS 는 스토리지 기술이고, CSI 는 k8s 가 해당 스토리지를 연동하는 표준 방식즉, NFS 를 k8s 에서 사용하기 위해 CSI 드라이버를 설치 쿠버네티스에서 애플리케이션을 운영하다 보면 데이터 영속성과 스토리지 관리가 중요한 과제로 대두됩니다. 특히 여러 Pod 간 데이터 공유가 필요하거나 외부 스토리지 시스템과의 연동이 필요한 경우, NFS(Network File System)와 CSI(Container Storage Interface)에 대한 이해가 필수적입니다. 1. NFS란?NFS는 Network File System의 약자로, 네트워크를 통해 파일 시스템을 공유하는 분산 파일 시스템 프로토콜입니다. 즉, 여러 서버(혹은 컨테이너)가 동일한 스토리지 디렉토리를 마치 로컬 디렉토리처럼 공유.. 2025. 6. 5. 스토리지 데이터를 보관하는 공간이지만, 어떻게 저장하고 어떻게 접근하느냐에 따라 종류와 특징이 달라집니다. 스토리지의 주요 종류블록 스토리지 (Block Storage)책을 복사기처럼 스캔해서 한 장 한 장 저장 -> 파일 전체가 아닌 페이지(block) 단위로 관리- 데이터를 고정된 크기의 블록 단위로 저장- OS 가 직접 파일 시스템을 생성하고 관리- 하드 디스크처럼 마운트해서 사용 (디바이스 단위 접근)- 성능은 매우 빠르나(DB 등 고성능 환경), 공유성은 낮음(1개 노드에서 마운트 권장)- HDD, SSD, SAN 등에서 사용- VM 디스크, k8s RWO(ReadWriteOnce) 용 PV(Persistent Volume) 에서 활용 파일 스토리지 (File Storage)폴더로 분류하고, 파일 이름으.. 2025. 6. 4. 애플리케이션 배포 전략 데이터를 기억해야 하는가?, 아닌가? 웹 서버 처럼 요청을 처리하고 잊어버리는 무상태(stateless) 애플리케이션에는 Deployment 를, 데이터베이스처럼 상태를 지속적으로 유지해야하는 유상태(stateful) 애플리케이션에는 StatefulSet 을 사용합니다.Stateless Deployment란?Deployment 란 쿠버네티스에서 상태가 없는 애플리케이션을 배포할 때 사용하는 가장 기본적인 컨트롤러입니다. Pod 와 ReplicaSet 에 대한 선언적 업데이트를 제공하며, 애플리케이션의 배포, 스케일링, 롤링 업데이트, 롤백을 자동화합니다. Deployment 는 ReplicaSet 의 상위 개념으로, Pod 의 개수 유지 뿐만 아니라 버전 관리 기능을 추가했습니다. Stateless(상태.. 2025. 6. 4. kube-apiserver 설정 기본 구조 kube-apiserver 설정 기본 구조kube-apiserver는 일반적으로 다음 두 방식으로 설정할 수 있습니다.kubeadm 설치 환경 → /etc/kubernetes/manifests/kube-apiserver.yaml 수정kubeadm은 Kubernetes를 간편하게 설치하는 도구입니다.kubeadm으로 k8s를 설치하게 되면 kube-apiserver는 "Static Pod" 방식으로 실행됩니다.Static Pod이란?특정 경로(/etc/kubernetes/manifests/)에 있는 YAML 파일을 kubelet이 자동으로 감지해서 실행하는 방식입니다.설정 위치:/etc/kubernetes/manifests/kube-apiserver.yaml→ 이 파일을 수정하면 kube-apiserver.. 2025. 5. 20. Kube-ApiServer 요청 처리 흐름 Kube-apiserver 는 Kubernetes 컨트롤 플레인의 프론트엔드로 모든 요청의 관문입니다. kubectl, client-go, Controller 등 모든 컴포넌트는 kube-apiserver 와 통신하여 리소스를 생성, 조회, 변경, 삭제할 뿐만 아니라 모든 리소스 또한 kube-apiserver 를 통해 처리됩니다.client-go 란, 쿠버네티스(Kubernetes) 공식 프로젝트에서 제공하는 Go 언어용 클라이언트 라이브러리입니다. kube-apiserver 요청 처리 흐름Client(kubectl, controller 등) ↓ REST 요청[kube-apiserver] ├─ ① 인증(Authentication) ├─ ② 권한 확인(Authorization) ├─ ③ 어드.. 2025. 4. 25. 이전 1 2 3 4 5 다음