CS 공부
-
Kubernetes Orchestrations 장점CS 공부/DevOps 2024. 12. 18. 17:46
1. Service Discovery & Load Balancing각 Pod에 단일 DNS 이름과 IP 주소 할당트래픽이 높으면 여러 pod를 포함하는 서비스 전체에 자동으로 로드 밸런싱 수행 2. Automated rollouts and rollbacks새 pod를 출시하고 기존 pod와 교환실패된 배포는 변경 사항을 되돌릴 수 있다 3. Self-healingpod 상태 확인하고 실패한 컨테이너를 다시 시작pod에 장애 발생하면 K8s는 상태 확인이 될 때까지 해당 pod에 대한 연결 허용 안함 4. Automatic Bin-packing구성된 CPU 및 RAM 요구사항에 따라 컨테이너를 효율적으로 할당하여 리소스 활용도 최적화 5. Storage Orchestration로컬 및 네트워크 스토리지, ..
-
Kubernetes 기본 구조와 명령어CS 공부/DevOps 2024. 10. 23. 09:30
쿠버네티스 기본 구조(구성 요소)클러스터(Cluster)여러 컴퓨터의 그룹. 쿠버네티스를 사용하여 관리됨클러스터 내에서 컨테이너는 Pod라는 단위로 구성되어 실행됨구성 요소마스터 노드 : 클러스터 관리, 스케줄링, Config 등구성 요소: API 서버, 스케줄러, 컨트롤러 매니저 등워커 노드 : 실제로 애플리케이션 컨테이너가 배포되고 실행되는 노드. 포트 호스팅구성 요소: Kubelet, Kube-proxy 노드 (Node)클러스터를 구성하는 개별 컴퓨터(물리/가상)쿠버네티스에 의해 관리됨. 여러 Pod 실행 환경 제공애플리케이션의 부하를 분산하고 고가용성 제공구성 요소Kubelet: 노드에서 실행되는 주요 쿠버네티스 에이전트, 마스터 노드의 지시에 따라 컨테이너 시작, 중지 및 유지 관리Kube-pr..
-
Kubernetes (쿠버네티스) 이론CS 공부/DevOps 2024. 10. 22. 14:31
쿠버네티스란?컨테이너화된 workload와 서비스를 관리하기 위한 확장 가능한 오픈소스 플랫폼 도커 이미지가 많아지면서 관리해야할 컨테이너와 서버들이 많아짐컨테이너의 관리를 자동화할 도구(오케스트레이션 툴)의 필요성컨테이너를 쉽고 빠르게 배포 및 확장하고, 관리를 자동화해주는 오픈소스 플랫폼 쿠버네티스의 특징거대한 커뮤니티와 생태계 (대기업들의 지원)다양한 배포 방식여러대의 애플리케이션 띄우고 싶을 때: Deployment로그, 모니터링 등 모든 서버에 설치 필요한 경우: Daemon Set배치성 작업: Job, Cronjob 3. Namespace & LabelNamespace 기능으로 하나의 클러스터를 논리적으로 구분하여 사용 가능Label 기능으로 유연, 확장성 있게 리소스 관리 4. RBAC ..
-
Docker 이미지 빌드 및 배포CS 공부/DevOps 2024. 10. 22. 11:22
Docker 이미지 빌드내가 구축한 환경을 다른 사람도 Docker 이미지를 받아 쉽게 사용할 수 있도록 이미지 빌드예시로 나의 mmdetection 모델 구축 환경을 가져옴# 베이스 이미지로 CUDA 12.1 및 cuDNN 8이 포함된 Ubuntu 22.04 사용FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04# 필수 패키지 설치RUN apt-get update && apt-get install -y \ python3-pip \ libgl1-mesa-glx \ && apt-get clean \ && rm -rf /var/lib/apt/lists/*# PyTorch 설치 (CUDA 12.1 지원)RUN pip install --no-cache-d..
-
도커와 컨테이너 (컨테이너 생성 및 Dockerfile 사용)CS 공부/DevOps 2024. 9. 5. 16:29
용어의미컨테이너앱이 구동되는 환경까지 감싸서 어디서든 쉽게 실행할 수 있도록 하는 격리 기술도커컨테이너를 다루는 도구 중 가장 유명한 것쿠버네티스컨테이너를 오케스트레이션 하는 도구오케스트레이션여러 서버에 컨테이너 분산 배치, 문제 생긴 컨테이너 교체 등 컨테이너 분산 배치, 상태 관리 및 컨테이너 구동환경까지 관리 리눅스에서 도커 설치도커 옛버전 삭제sudo apt-get remove docker docker-engine docker.io containerd runc 도커 설치sudo apt-get install docker-ce docker-ce-cli containerd.io 설치되었는지 확인docker--version 도커 실행sudo systemctl status dockersudo /etc/i..
-
기술면접 - 운영체제CS 공부/취업준비 이론정리 2024. 3. 26. 17:09
💡 프로세스와 쓰레드의 차이에 대해 설명해주세요 프로세스 - 실행 중인 프로그램, 완벽히 독립적이기 때문에 메모리 영역을 다른 프로세스와 공유하지 않는다. - 최소 1개의 쓰레드를 가지고 있다 쓰레드 - 프로세스 내에서 stack만 따로 할당 받고, 그 외의 메모리 영역을 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다. - 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용해 실행된다. 💡 멀티 프로세스와 멀티 쓰레드의 특징 멀티 프로세스 - 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행됨 - 멀티 쓰레드보다 많은 메모리 공간과 CPU 차지 멀티 쓰레드 - 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥 전환이 빠름 - 하나의 프로세스가 죽으면 전체 쓰레..
-
기술면접 준비 - 자료구조CS 공부/취업준비 이론정리 2024. 2. 28. 17:12
💡 Array(List)의 가장 큰 특징과 그로 인해 발생하는 장점과 단점에 대해 설명해주세요. Array의 가장 큰 특징은 데이터를 순차적으로 저장한다는 점이다. 장점 - index를 사용해 특정 요소를 찾고 조작이 가능하다. 단점 - 요소가 삽입되거나 삭제되는 경우 그 뒤의 모든 요소를 한 칸씩 뒤로 밀거나 당겨줘야함 - 정보가 자주 바뀌는 데이터를 담기에는 적절하지 않음 💡 Stack, Queue / Tree, Heap의 구조에 대해 설명해주세요 Stack과 Queue는 선형 자료구조, Array와 LinkedList로 구현 가능 Stack: 후입선출(LIFO) Queue: 선입선출(FIFO) Tree는 비선형 자료 구조, 계층적 관계를 표현하기에 적합 Heap은 최대, 최소값을 찾아내는 연산을 쉽..
-
MobileFaceSwap (2022)CS 공부/취업준비 이론정리 2023. 11. 15. 23:37
대부분의 face swap 모델은 많은 파라미터와 계산 비용을 요구하기 때문에 real-time 어플리케이션에 적용하거나 edge device에 배포하기에는 매우 어렵다. 하지만 MobileFaceSwap은 동적 neural network 기술을 이용한 IDN을 제안한다. IDN은 한번 업데이트되면 어떠한 target 이미지와 비디오에도 적용하여 face swap을 수행할 수 있다. IDN은 오직 0.5M 파라미터와 0.33G FLOPS만을 필요로하기 때문에 real-time 비디오에 적용할 수 있다. 생성 모델인 MobileFaceSwap의 추론 방식은 다음과 같다. 우선 대상이미지가 되는 source이미지와 표적이 되는 target 이미지를 사용자에게서 입력 받으면 InsightFace라는 landm..