Network & Server Factory

개인 공부 기록

분류 전체보기 550

[Docker] 컨테이너 네트워크와 볼륨 정리

컨테이너는 기본적으로 자기만의 네트워크와 파일시스템을 가집니다. 이 글에서는 컨테이너끼리 이름으로 통신하는 bridge 네트워크, 밖에서 접속하게 하는 포트 매핑, 컨테이너를 지워도 데이터를 남기는 볼륨과 바인드 마운트를 Redis 예제로 정리합니다.컨테이너부터 Kubernetes까지 시리즈 4편입니다. 이전 글은 [Docker] Dockerfile 작성과 멀티 스테이지 빌드 정리이고, 전체 순서는 시리즈 목차에 있습니다.1. 네트워크 드라이버1편에서 본 것처럼 컨테이너는 NET namespace로 자기만의 네트워크 인터페이스와 IP를 가집니다. 이 인터페이스를 어디에 연결할지 정하는 것이 네트워크 드라이버이고, 한 대의 호스트에서는 대부분 bridge를 씁니다. 방식동작용도bridge호스트 안에 가상 ..

DevOps/Docker 2026.09.28

[Docker] Dockerfile 작성과 멀티 스테이지 빌드 정리

Dockerfile은 이미지를 만드는 순서를 적은 파일입니다. 이 글에서는 명령마다 이미지에 무엇이 남는지, 빌드 캐시를 잘 타도록 순서를 정하는 방법, CMD와 ENTRYPOINT의 차이, 그리고 빌드 도구를 최종 이미지에서 빼는 멀티 스테이지 빌드를 Go 웹 서버 예제로 정리합니다.컨테이너부터 Kubernetes까지 시리즈 3편입니다. 이전 글은 [Docker] 이미지와 레이어 정리이고, 전체 순서는 시리즈 목차에 있습니다. 명령어 하나하나의 설명은 [Docker] Dockerfile 명령어 정리에 있습니다.1. Dockerfile이 이미지가 되는 과정docker build를 실행하면 현재 폴더(빌드 컨텍스트)를 BuildKit이라는 빌드 엔진에 보내고, Dockerfile을 위에서부터 한 줄씩 실행..

DevOps/Docker 2026.09.28

[Docker] 이미지와 레이어 정리

이미지는 컨테이너를 만드는 읽기 전용 틀이고, 여러 레이어를 겹쳐 만든 파일시스템입니다. 이 글에서는 레이어가 어떻게 쌓이고 공유되는지, 컨테이너가 파일을 바꿀 때 무슨 일이 일어나는지, 이미지 이름의 태그와 digest가 어떻게 다른지 정리합니다.컨테이너부터 Kubernetes까지 시리즈 2편입니다. 이전 글은 [Docker] 컨테이너 개념 정리이고, 전체 순서는 시리즈 목차에 있습니다.1. 이미지와 컨테이너이미지는 앱을 실행하는 데 필요한 파일과 실행 설정(어떤 명령으로 시작할지, 어떤 환경 변수를 쓸지)을 담은 읽기 전용 묶음입니다. 컨테이너는 이 이미지로 만든 실행 중인 인스턴스입니다. 붕어빵 틀 하나로 붕어빵을 여러 개 굽듯이, 이미지 하나로 컨테이너를 여러 개 띄울 수 있습니다. 항목이미지컨테..

DevOps/Docker 2026.09.28

[Docker] 컨테이너 개념 정리

컨테이너는 앱과 실행에 필요한 파일을 한 묶음으로 만들어, 호스트의 커널 위에서 격리된 프로세스로 실행하는 방식입니다. 이 글에서는 가상 머신과 무엇이 다른지, 리눅스의 namespace와 cgroup이 격리를 어떻게 만드는지, Docker가 어떤 구성 요소를 거쳐 컨테이너를 띄우는지 정리합니다.컨테이너부터 Kubernetes까지 시리즈 1편입니다. 전체 순서는 시리즈 목차에 있고, Docker 설치는 [Docker] Docker 설치와 자주 쓰는 명령어 정리를 참고합니다.1. 컨테이너가 필요한 이유"제 PC에서는 되는데 서버에서는 안 돼요"는 대부분 실행 환경 차이에서 생깁니다. 파이썬 버전, 설치된 라이브러리, OS 설정이 조금만 달라도 같은 코드가 다르게 동작합니다. 컨테이너는 앱과 앱이 쓰는 라이..

DevOps/Docker 2026.09.28

[AI] LLM 양자화 방식 비교 정리

양자화(Quantization)는 모델의 숫자를 더 적은 비트로 줄여 저장하는 기술입니다. 이 글에서는 FP16, INT8, INT4, FP8이 어떻게 다른지, GPTQ와 AWQ 같은 방식이 오차를 어떻게 줄이는지, 그리고 A100 40GB 1장에 7B 모델을 올릴 때 메모리와 속도가 얼마나 달라지는지를 계산으로 정리합니다.1. 양자화란LLM의 가중치(Weight, 학습으로 정해진 숫자)는 보통 FP16이나 BF16으로 저장해서 숫자 하나에 2바이트를 씁니다. 7B 모델이면 가중치만 약 15GB입니다. 양자화는 이 숫자를 8비트나 4비트 같은 더 작은 형식으로 바꿔 저장하는 것입니다. 1mm 눈금 자 대신 5mm 눈금 자로 재는 것과 비슷해서, 적어 둘 칸은 줄지만 눈금 사이 값은 가장 가까운 눈금으로 ..

AI/인프라 2026.09.28

[Azure] AKS에서 Key Vault로 Secret 관리 정리

Kubernetes Secret은 값을 base64로 인코딩만 해 두는 방식이라 매니페스트 저장소에 그대로 올릴 수 없습니다. 이 글에서는 비밀번호 같은 값의 원본을 Azure Key Vault에 두고, AKS의 Secrets Store CSI Driver와 Workload Identity로 Pod가 필요한 값만 파일로 받아 쓰는 구조를 정리합니다.1. 왜 Key Vault에 두는가[CI/CD] GitHub, Jenkins, ArgoCD로 dev/prd 배포 아키텍처 설계에서는 매니페스트를 모두 Git 저장소에 두고 ArgoCD가 그대로 클러스터에 반영했습니다. 이 구조에서 DB 비밀번호를 Kubernetes Secret 매니페스트로 만들어 올리면, 저장소를 읽을 수 있는 사람은 누구나 값을 볼 수 있습..

Cloud/Azure 2026.09.28

[Azure] Azure Container Registry 사용법 정리

ACR(Azure Container Registry)은 Azure가 관리해 주는 컨테이너 이미지 저장소입니다. 이 글에서는 요금 등급 고르기, 개발자와 Jenkins, AKS가 각각 어떻게 로그인하고 어떤 권한을 받는지, Azure CLI로 만들고 권한 주는 방법, 태그를 안전하게 쓰는 법과 오래된 이미지 정리까지 실무에서 바로 쓰는 내용 위주로 정리합니다.1. ACR이 하는 일Docker Hub처럼 이미지를 올리고(push) 받는(pull) 저장소인데, Azure 구독 안에 만들고 Azure의 계정과 권한 체계(Entra ID, RBAC)로 접근을 관리한다는 점이 다릅니다. [CI/CD] GitHub, Jenkins, ArgoCD로 dev/prd 배포 아키텍처 설계의 구성에서는 Jenkins가 빌드한 ..

Cloud/Azure 2026.09.27

[CI/CD] GitHub, Jenkins, ArgoCD로 dev/prd 배포 아키텍처 설계

앞의 네 글에서 GitHub, Jenkins, ArgoCD를 하나씩 다뤘습니다. 이 글에서는 이 도구들을 묶어서, 브랜치 전략부터 dev와 prd 환경 분리, 커밋 push에서 AKS 자동 배포까지 이어지는 아키텍처를 설계합니다. 설계 위주의 글이고, 매니페스트 저장소 구성과 ArgoCD 설정은 실제로 만들어 검증한 결과를 함께 붙였습니다.1. 전체 아키텍처먼저 전체 그림입니다. 개발자가 코드를 push하면 Jenkins가 이미지를 만들어 ACR(Azure Container Registry)에 올리고, 매니페스트 저장소의 이미지 태그를 바꿉니다. 각 AKS 클러스터 안의 ArgoCD가 그 변경을 보고 자기 환경에 배포합니다.Jenkins는 ACR과 매니페스트 저장소까지만 다루고, 클러스터 반영은 각 AK..

DevOps/CI & CD 2026.09.27

[NVIDIA] A100 MIG 구성 정리

MIG(Multi-Instance GPU)는 GPU 한 장을 하드웨어 수준에서 최대 7개의 작은 GPU로 나누는 기능입니다. 나뉜 인스턴스마다 SM(연산 코어 묶음), 메모리, L2 캐시, 메모리 대역폭을 따로 갖기 때문에 한 인스턴스의 작업이 다른 인스턴스의 속도나 메모리에 영향을 주지 않습니다. A100 40GB는 1g.5gb부터 7g.40gb까지 정해진 프로필로만 나눌 수 있고, 작은 모델 추론이나 개발용 실험처럼 여러 작업이 GPU 한 장을 서로 방해 없이 나눠 써야 할 때 효과가 큽니다.1. MIG란A100 40GB 한 장을 작은 추론 서비스 하나가 쓰면 GPU 대부분이 놀게 됩니다. 여러 작업을 같이 올리면 이번에는 한 작업이 메모리를 다 차지하거나 연산을 몰아 써서 다른 작업이 느려집니다. ..

AI/인프라 2026.09.27

[ArgoCD] ArgoCD 설치와 사용법 정리

ArgoCD는 Git에 적어 둔 매니페스트대로 쿠버네티스 클러스터를 맞춰 주는 배포 도구입니다. 이 글에서는 k3s 클러스터에 ArgoCD v3.5.3을 설치하고, 앱 등록, 첫 배포, 새 버전 배포, 롤백까지 직접 해 보면서 꼭 알아야 할 개념만 정리합니다.1. ArgoCD가 하는 일[CI/CD] CI/CD와 GitOps 개념 정리에서 정리한 것처럼, GitOps에서는 배포하고 싶은 상태를 Git에 커밋하면 클러스터 안의 에이전트가 그 상태를 가져와 적용합니다. 이 에이전트가 ArgoCD입니다. 그래서 ArgoCD를 쓰면 배포 명령을 직접 치는 대신 Git에 커밋하는 것이 배포가 됩니다. 처음 쓸 때 알아 둘 용어는 네 가지입니다. 화면과 CLI 출력에 계속 나오기 때문에 이것만 알면 나머지는 써 보면..

DevOps/CI & CD 2026.09.27
서울
--:--:--
-전체 글
-카테고리
오늘 방문