목록전체 글 (68)
Ruff! Ruff!
https://www.acmicpc.net/problem/11052 문제요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다.PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다.전설카드레드카드오렌지카드퍼플카드블루카드청록카드그린카드그레이카드카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다.민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서, 민규는 돈을 최대한..

서비스 타입 종류ClusterIP : 타입을 지정하지 않으면 기본으로 설정되며, 클러스터 내부의 파드에서 서비스의 이름으로 접근 가능헤드리스 모드 가능 : 대표 IP 주소 없이 서비스 동작 -> 스테이트풀셋에서 활용NodePart : ClusterIP의 접근 범위뿐만 아니라 K8s 클러스터 외부에서도 노드의 IP주소와 포트번호로 접근 가능ClusterIP 기능 + 노드의 IP 주소의 포트 공개클러스터 외부에서 내부의 파드에 요청 보낼 수 있음정식 서비스에 사용하진 않음LoadBalancer : NodePort의 접근 범위뿐만 아니라 K8s 클러스터 외부에서 대표 IP 주소로 접근 가능NodePort 기능 + 외부에서 대표 IP 주소로 접근 가능ExternalName : K8s 클러스터 내의 파드에서 외부..

1. 기존 컨테이너의 한계배포의 문제점모든 서버에 직접 접속해서 docker stop, run 실행도커 컨테이너 실행에 필요한 리소스 관리 필요 (모니터링 시스템, 유휴 자원 관리 등)새롭게 배포된 애플리케이션 장애 시 신속하게 대처하기 어려움서비스 접근 및 노출의 문제점서비스 장애, 부하 모니터링의 문제점 (장애 발생해도 정확한 위치 파악 어려움)2. 컨테이너 오케스트레이션정의 : 복잡한컨테이너 환경을 효과적으로 관리하기 위한 도구기능클러스터 : 중앙제어, 네트워킹, 노드 스케일상태관리스케줄링 : 배포관리롤아웃, 롤백 : 배포 버전 관리서비스 등록 및 조회볼륨 스토리지 3. 쿠버네티스개요컨테이너 오케스트레이션의 업계 표준배포 계획에 맞춰 신속한 애플리케이션 배포 가능 : 컨테이너 개수, cpu사용률,..

1. DevOps CI/CD 파이프 라인- 작성한 소스코드 -> 도커 컨테이너로 실행 => 어떤 환경에서도 실행이 되도록 불변의 실행환경을 제공함 2. CI 환경 구축- CI도구 -> 지속적인 통합을 위한 소프트웨어 도구 -> 매 커밋마다 프로젝트 빌드, 단위 테스트 등의 과정을 개발자 대신 자동화- Travis CI -> 깃허브에서 진행되는 오픈소스 프로젝트를 위한 지속적인 통합 서비스 -> private 레포는 유료 -> 관리가 필요없는 무료 클라우드 기반 호스팅 제공 -> 전용 CI/CD 서버가 필요하지 않음 (젠킨스는 필요함) -> 느린 속도와 제한된 옵션 제공 - Jenkins -> 가장 널리 사용되는 오픈소스 CI도구 -> 장점 ) 사용자 정의 옵션 + 방대한 양의 플..

1. Docker volume 활용- 컨테이너의 문제점 : 컨테이너 내부 데이터는 컨테이너의 라이프사이클과 연관됨 : 컨테이너에서 생성된 데이터를 영구적으로 유지하기 위해서는 컨테이너 서비스에서 데이터와 로직의 분리 필요- Docker volume : 호스트 파일 시스템의 디렉토리와 컨테이너의 디렉토리를 연결 👉 컨테이너가 삭제되어도 volume은 독립적으로 운영 가능- Docker volume 타입 1) volume 2) bind mount 3) tmpfs mount1) volume 타입 - 도커에서 권장하는 방법 - volume 생성 방법 - docker volume create 볼륨이름 -> volume을 만들고 mount를 원격에 해줌 - 여러 ..

도커 이미지 관련 명령어 도식화 도커 컨테이너 관련 명령어 도식화 1. Docker 이미지 명령어 구성- 이미지 검색 docker search 이미지명[:TAG] -> 도커 허브에서 이미지 검색해보기 -> 보통 ubuntu, centos, redis 등 os나 프로그램 이름을 가진 이미지가 공식 이미지, 나머지는 사용자들이 만들어서 공개한 이미지 - 도커 이미지 내려받기 docker [image] pull [options] 이미지명[:tag] -> 이미지의 기본 형식 /: : 도커 허브의 라이브러리가 기본 네임스페이스 -> 이미지명 뒤에 :tag 를 포함하지 않으면 자동으로 latest로 지정 -> 다운로드한 이미지는 여러 레이어로 구성 + 각각의 레이어는 해시 값으..

가상화-> 하드웨어에 종속된 컴퓨터 리소스를 추상화-> 운영체제에서 제공하는 가상화란 ? - 각각의 응용프로그램이 각자의 cpu, 큰 virtual memory를 가지고 있는 것처럼 착각하도록 가상화를 제공 (process, cpu scheduling, virtual memory, paging, swapping .. )서버 가상화(1) 서버 가상화 도입 배경 : 하드웨어 기술이 발전하며 서버의 성능이 획기적으로 향상 -> 싱글코어 👉 멀티코어 => 하나의 os에서 여러 app 가능/ system 자원 또한 hw가 os에게 나눠서 줌(2) 서버 가상화의 장점 - 높은 자원 활용률 : 하드웨어 자원의 효율적인 활용 (남은 서버 활용 -> 남은 서버 사용 중지해 냉각 및 유..
1. 깃허브를 활용한 협업 순서① (개발자) 로컬 개발 환경 설정② (개발자) 이슈 확인하기③ (개발자) 작업 branch 만들기④ (개발자) 코드 수정하고 Push하기⑤ (개발자) Pull Request 만들기⑥ (메인테이너, 팀원) 코드 리뷰 하기⑦ (개발자) 코드 리뷰 반영하기⑧ (메인테이너) Pull Request Merge하기⑨ (개발자) 작업 branch 삭제하기 2. remote repository- git clone : 기존 저장소를 clone하기 (클론 시 자동으로 리모트 레포를 origin이라는 이름으로 추가)- 자동으로 로컬의 마스터 브랜치가 리모트의 마스터 브랜치를 추적하도록 함-git remote : 현재 프로젝트에 등록된 리모트 레포 확인- git remote -v : 리모트 ..