Network & Server Factory

개인 공부 기록

전체 글 539

[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 18:20:34

[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 17:39:48

[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/인프라 17:21:09

[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 16:02:19

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

Jenkins는 코드를 가져와 테스트하고 빌드하는 일을 자동으로 돌려 주는 CI 서버입니다. 이 글에서는 Jenkins 2.568.3을 설치하고 잡 만들기, 빌드와 실패 확인, API로 빌드 실행, 에이전트 연결까지 직접 해 보면서 필요한 개념만 정리합니다.1. Jenkins가 하는 일[CI/CD] CI/CD와 GitOps 개념 정리에서 나눈 흐름에서 Jenkins는 CI를 맡습니다. 코드가 바뀌면 저장소에서 코드를 받아 테스트하고, 통과하면 배포할 결과물(이미지나 파일)을 만듭니다. 만든 결과물을 클러스터에 반영하는 CD는 [ArgoCD] ArgoCD 설치와 사용법 정리에서 다룬 ArgoCD가 맡습니다. 화면에 계속 나오는 용어는 다섯 가지입니다. 용어뜻JobJenkins가 할 일의 정의, 어떤 명령을..

DevOps/CI & CD 15:02:51

[GitHub] 브랜치, Pull Request, Webhook 사용법 정리

CI/CD는 GitHub에 코드가 올라오는 순간 시작합니다. 이 글에서는 실무에서 많이 쓰는 GitHub flow로 브랜치를 만들고, Pull Request를 어떤 방식으로 합칠지, main을 어떻게 보호할지, Jenkins가 변경을 알 수 있게 Webhook을 어떻게 설정하는지를 로컬 실습과 함께 정리합니다.1. CI/CD에서 GitHub가 하는 일[CI/CD] CI/CD와 GitOps 개념 정리에서 정리한 흐름의 첫 단계가 GitHub입니다. 개발자가 작업 브랜치를 push하고 Pull Request(PR)를 열면, CI가 빌드와 테스트를 돌려 결과를 PR에 남기고, 리뷰 승인까지 받으면 main에 합칩니다. main이 바뀌면 GitHub가 Webhook으로 CI 서버에 알려 배포용 빌드가 시작됩니다..

DevOps/CI & CD 14:55:52

[CI/CD] CI/CD와 GitOps 개념 정리

CI/CD는 코드를 합치고, 검사하고, 운영에 내보내는 과정을 자동으로 돌리는 방식이고, GitOps는 그중 배포를 "Git에 커밋하면 클러스터가 알아서 따라오는" 방식으로 바꾼 것입니다. 이 글에서는 GitHub, Jenkins, ArgoCD로 이어지는 배포 흐름을 먼저 그림으로 보고, 로컬 Git 저장소로 배포 이력 확인, 롤백, 매니페스트 검사를 직접 해 봅니다.1. CI와 CD를 한 줄씩CI/CD는 한 단어처럼 쓰이지만 실제로는 세 가지를 묶은 말입니다. 팀에서 "CD 하고 있어요"라고 할 때 사람마다 뜻이 다른 경우가 많아서, 저는 아래처럼 나눠서 말합니다. 용어한 줄 설명예시CI (지속적 통합)코드를 자주 합치고, 합칠 때마다 자동으로 빌드와 테스트Pull Request를 열면 테스트가 자동으..

DevOps/CI & CD 14:48:59

[Azure] Entra ID, RBAC, Managed Identity 정리

Azure 권한은 세 가지로 나눠 보면 쉽습니다. Entra ID는 "누구인지"를 관리하는 신원 서비스이고, RBAC은 그 대상이 "어디에서 무엇을 할 수 있는지"를 정하는 권한 체계이며, Managed Identity는 사람이 아닌 Azure 리소스에 붙여 주는 신분증입니다. 권한은 Security Principal, Role, Scope 세 가지를 묶은 Role Assignment로 부여하고, 위 Scope에서 준 권한은 아래로 상속됩니다.1. 한눈에 보기회사 건물로 비유하면 Entra ID는 사원증을 발급하는 인사팀, RBAC은 "이 사원증으로 몇 층 어느 방까지 들어갈 수 있는지"를 정하는 출입 권한, Managed Identity는 사람이 아니라 업무용 차량에 붙여 주는 출입증입니다. 사원증이 ..

Cloud/Azure 13:56:12

[TLS] 인증서 동작 방식과 체인 검증 정리

TLS 인증서는 서버의 공개 키가 특정 이름(도메인)의 것이라는 사실을 CA가 서명으로 보증하는 문서입니다. 클라이언트는 서버가 보낸 인증서에서 출발해 중간 CA를 거쳐 자신이 이미 신뢰하는 루트 CA까지 서명을 따라 올라가고, 그 과정에서 유효 기간과 접속한 이름이 맞는지도 확인합니다. 그래서 인증서 장애는 대부분 중간 인증서 누락, 이름 불일치, 만료 중 하나로 나타납니다.1. 인증서가 하는 일HTTPS 연결에서 클라이언트가 확인하고 싶은 것은 두 가지입니다. 지금 대화하는 상대가 정말 내가 접속하려던 서버인지, 그리고 주고받는 데이터를 다른 사람이 볼 수 없는지입니다. 암호화는 키 교환으로 해결되지만, 키를 주고받는 상대가 진짜인지는 따로 증명해야 합니다. 인증서가 이 역할을 합니다. 인증서에는 서..

[Azure] AKS GPU 노드풀 구성 정리

AKS에서 GPU 워크로드를 돌리려면 GPU VM 크기로 별도 노드풀을 만들고, GPU를 쿠버네티스 자원(nvidia.com/gpu)으로 보이게 하는 NVIDIA 드라이버와 디바이스 플러그인을 갖춰야 합니다. AKS는 드라이버만 설치하는 기본 방식, 드라이버부터 디바이스 플러그인과 메트릭 수집까지 맡는 관리형 GPU 노드풀(미리 보기), 모두 직접 설치하는 방식을 제공합니다. VM 크기, 테인트, 설치 방식, MIG 설정은 노드풀을 만들 때 정해져서 나중에 바꿀 수 없으므로 처음에 설계를 끝내야 합니다.1. GPU가 파드까지 전달되는 구조GPU VM으로 노드를 만들었다고 해서 파드가 바로 GPU를 쓸 수 있는 것은 아닙니다. OS가 GPU를 인식하려면 NVIDIA 드라이버가 필요하고, 쿠버네티스 스케줄러..

Cloud/Azure 12:03:25
서울
--:--:--
-전체 글
-카테고리
오늘 방문