전체 글
-
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..
-
[백준] LCS(최장 공통 부분 수열)코테 준비/문자열, 내장함수 2024. 7. 15. 22:21
핵심 알고리즘(dp)이중 for 문으로 모든 문자열을 비교하면서 first[i]==second[j] 이면 dp[i-1][j-1]+1→ 두 문자열에서 같은 문자가 추가 됐으므로 (이전 최장 공통 부분 수열)+1 first[i]!=second[j] 이면 max(dp[i-1][j],dp[i][j-1])→ 이전의 최대 공통 부분 수열 유지 first=input()second=input()dp=[[0]*(len(second)+1) for _ in range(len(first)+1)]for i in range(1,len(first)+1): for j in range(1,len(second)+1): if first[i-1]==second[j-1]: dp[i][j]=dp[i-1][..
-
[프로그래머스] PCCP 기출문제 1번 / 붕대감기카테고리 없음 2024. 6. 14. 15:14
단순 구현 쉬운 문제다def solution(bandage, health, attacks): attack_time=[] attack=[] for x,y in attacks: attack_time.append(x) attack.append(y) hp=health cnt=0 for i in range(1,max(attack_time)+1): if i not in attack_time: cnt+=1 if cnt==bandage[0]: hp+=bandage[2] cnt=0 hp+=bandage[1] if hp>h..
-
[프로그래머스] 물고기 종류별 대어 찾기코테 준비/SQL 2024. 6. 13. 10:32
SELECT A.ID, B.FISH_NAME, C.LENGTHFROM FISH_INFO A JOIN FISH_NAME_INFO B ON A.FISH_TYPE=B.FISH_TYPEJOIN (SELECT FISH_TYPE, MAX(LENGTH) AS LENGTH FROM FISH_INFO GROUP BY FISH_TYPE) CON A.LENGTH=C.LENGTH AND B.FISH_TYPE=C.FISH_TYPEORDER BY A.ID ASC Group By에서 계속 오류가 나서 찾아봤더니, MAX/MIN/SUM 등의 함수를 사용할 때 group by 에 사용된 컬럼만 select 절에 사용 가능하다는 것이다. 이 사실을 몰라서 조금 헤맸다...