[kubernetes] 파드, 컨테이너, 도커, 쿠버네티스의 관계
·
DevOps
컨테이너 인프라 환경이란? 리눅스 운영체제의 커널 하나에서 여러개의 컨테이너가 격리된 상태로 실행되는 인프라 환경이다. 여기서 컨테이너는 목적을 위해 독립적으로 작동하는 프로세스이다. 다수의 관리자가 수백대의 서버를 함께 관리해야하는 기업의 경우 서버 관리의 일관성을 유지하는 것이 중요하기 때문에 각각의 프로그램을 컨테이너로 구현해야한다. 여러 사람이 만져서 설정의 일관성이 떨어진 서버를 snowFlake라고 하는데 이런 경우 컨테이너 인프라 환경을 구성하면 서버의 파편화를 방지하는데 효과적이다. *컨테이너 인프라 환경의 구성 요소 *: 컨테이너 엔진 : 컨테이너를 생성하고 관리하는 데 사용되는 소프트웨어입니다. 대표적인 컨테이너 엔진으로는 Docker, containerd, cri-o 등이 있습니다. ..
가상화 / 자동화 / 클라우드 기반 보안 네트워크 및 인프라 구현
·
프로젝트/클라우드
프로젝트 기간 : 23.06.12 ~ 23.06.22 프로젝트 목표 네트워크 단에서는 공유 Office의 네트워크 통신망을 구현 Jenkins Pipeline을 지속적 통합/배포 프로세스 구성 Grafana / Prometheus를 이용한 효율적인 클라우드 리소스 관리를 위한 모니터링 툴 구성 현대의 IT 인프라는 클라우드 컴퓨팅 및 마이크로서비스 아키텍처의 보편화로 인해 고가용성, 오프-프레미스 구성의 중요성과 규모가 커지고 있습니다. 이에 따라 효율적이고 자동화된 지속적 통합, 지속적 배포 과정이 요구되는 시점입니다. 이번 프로젝트는 학원 프로젝트의 일환으로 한 분야의 기술 뿐만이 아닌 다양한 네트워크 기술과 시스템의 흐름을 파악하기 위해 현대적인 다양한 기술들을 사용하여 구현했습니다. 사용 기술로는..
[kubernetes] 컨테이너 인프라 환경이란?
·
DevOps
컨테이너 인프라 환경이란? 리눅스 운영체제의 커널 하나에서 여러개의 컨테이너가 격리된 상태로 실행되는 인프라 환경이다. 여기서 컨테이너는 목적을 위해 독립적으로 작동하는 프로세스이다. 다수의 관리자가 수백대의 서버를 함께 관리해야하는 기업의 경우 서버 관리의 일관성을 유지하는 것이 중요하기 때문에 각각의 프로그램을 컨테이너로 구현해야한다. 여러 사람이 만져서 설정의 일관성이 떨어진 서버를 snowFlake라고 하는데 이런 경우 컨테이너 인프라 환경을 구성하면 서버의 파편화를 방지하는데 효과적이다. 컨테이너 인프라 환경의 구성 요소 : 컨테이너 엔진 : 컨테이너를 생성하고 관리하는 데 사용되는 소프트웨어입니다. 대표적인 컨테이너 엔진으로는 Docker, containerd, cri-o 등이 있다. 이러한 ..
[docker] 바인드마운드 vs 볼륨
·
DevOps
도커 컨테이너에 사용된 파일들은 컨테이너가 삭제될 때 함께 삭제된다. 도커에서 많은 애플리케이션을 저장해서 계속적으로 사용할 수 있도록 해주는 옵션이 바로 볼륨(volume)과 바인드 마운트(bind mount)이다. 바인트 마운트 호스트의 특정 디렉터리를 직접 연결 호스트의 파일 시스템과 컨테이너 내부를 연결해 양쪽의 내용이 동시에 반영되는 방법 볼륨 볼륨 공간(에서 디렉터리를 마운트)을 만든 후 그 볼륨 공간을 연결 도커가 관리하는 볼륨을 컨테이너와 연결 → 공유 디렉터리에 생성 바인드 마운트 바인드 마운트로 호스트와 컨테이너를 연결하기 위해서는 연결 대상이 되는 컨테이너 내부의 디렉터리 구조를 먼저 알아야 한다. 예를 들어 nginx의 경우 수정해야 하는 파일의 경로 는 /etc/nginx/ngin..
[docker] 간단한 사용 예제
·
DevOps
도커의 간단한 사용 예제 실습 환경은 rockylinux8 에서 진행했다. docker 설치 & 레지스트리 설정 sudo yum install -y yum-utils sudo yum-config-manager --add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo) 설치 과정 중 터미널에 GPG key 가 나오는데 docker의 공식 홈페이지와 비교하여 안정성을 확인한다. GPG key : 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 도커 데몬을 재시작하고, 리눅스와 함께 시작하도록 system..
정보처리기사 이론 정리
·
etc.
23년도 1회차 정보처리기사 실기 준비를 하면서 이론 내용을 정리한 내용입니다. 1장 요구사항 확인 Case(Computer Aided Software Engineering) 소프트웨어 개발 과정에서 사용되는 요구분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것이다. 소프트웨어 생명 주기 전 단계의 연결 다양한 소프트웨어 개발 모형 지원 그래픽 지원 COCOMO(COnstructive COst MOdel) LOC에 의한 비용 산정 기법 조직형(organic Mode)5만라인 이하 중 소 규모의 소프트웨어 반 분리형(Semi-Detached Mode)30만 라인 이하의 소프트웨어 중간형 소프트웨어 내장형(Embedded Mode)30만 라인..
[docker] docker 란?
·
DevOps
도커(Docker)는 linux 컨테이너를 기반으로하는 오픈소스 가상화 플랫폼이다. 컨테이너는 소프트웨어를 패키지화하여 실행하는데 사용되며, 도커는 이러한 컨테이너를 관리하고 배포하는 도구이다. 도커는 컨테이너 관리 기능 외에도 명령어 입력도구인 CLI와 명령어을 받아들이는 도커 데몬과 이미지를 저장하는 레지스트리로 구성되어있다. 도커와 쿠버네티스를 함께 설치할 경우 쿠버네티스는 컨테이너 오케스트레이션을 위해 도커에 포함된 컨테이너디를 활용한다. 컨테이너란? 가상화 환경에서는 각각의 가상머신이 모두 독립적인 운영체제 커널을 가지고 있기 때문에 그만큼 자원을 더 소모해야 하고 성능이 떨어진다. 하지만 컨테이너 인프라 환경은 운영체제 커널 하나에 컨테이너 여러개가 격리된 형태로 실행되기 때문에 자원을 효율적..
[소프트웨어공학]System modeling
·
수업정리/소프트웨어공학
ch 5_System modeling System modeling 시스템의 추상 모델을 개발하는 프로세스로, 각 모델은 해당 시스템에 대한 다른 관점을 제시한다. 시스템 모델링은 일종의 그래픽 표기법을 사용하여 시스템을 나타냄 ⇒ UML(Unified Modeling Language)의 표기법 기반 시스템 모델링은 분석가가 시스템의 기능을 이해하는데 도움이 되며 모델은 고객과 소통하는데 사용된다. system perspective external perspective : 시스템의 context 또는 환경을 모델링 interaction perspective : 시스템과 환경 또는 시스템 구성 요소 간의 상호작용 structure perspective : 시스템의 조직 또는 처리하는 데이터의 구조 behab..
[소프트웨어공학]Requirements Engine
·
카테고리 없음
ch 4_Requirements Engine Requirements Engineering 소프트웨어 개발에 있어서 무엇이 개발되어야 하는지를 결정하는 공정을 Requirements Engineering이라고 부른다. 고객이 서비스를 구축하는 과정 시스템 요구사항은 요구 사항 엔지니어링 프로세스 중에 생성되는 시스템 서비스 및 제약 조건에 대한 설명입니다. Requirements abstraction 추상적인 방식으로 요구사항을 정의 여러 계약자가 계약에 대해 입찰할 수 있도록 작성 계약자는 클라이언트가 소프트웨어의 작업을 이해하고 검증할 수 있도록 클라이언트에 대한 시스템 정의를 자세히 작성 시스템에 대한 요구사항 문서 Types of requirement User requirements 사용자를 위해 ..
[소프트웨어공학]Agile
·
수업정리/소프트웨어공학
ch 3_Agile Agile Software Development 소프트웨어 개발 방법론의 하나로, 처음부터 끝까지 계획을 수립하고 개발하는 waterfall 방법과는 달리 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법 사양, 설계, 구현, 테스팅이 교차되고 개발 과정의 결과물은 소프트웨어 개발 과정에서 협상 과정을 거쳐 결정된다 디자인보다는 코드에 집중 계획 주도 개발: 소프트웨어 엔지니어링에 대한 계획 중심 접근 방식은 소프트웨어 개발에 대한 반복적인 접근 방식을 기반으로 함 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법 작동하는 소프트웨어를 신속하게 제공하고 변화하는 요구 사항을 충족하여 신속하게 발전시키기 위함이다 기존의 개발 프로세스는 설계 기간이 길며 재작..
[소프트웨어공학] SoftWare Process
·
수업정리/소프트웨어공학
ch 2_SoftWare Process Software Process 개발에 필요한 구조화된 일련의 활동 소프트웨어 시스템 Specification(사양) : 시스템이 수행해야 하는 작업을 정의 Design and Inplementation(설계 및 구현) : 시스템의 조직을 정의하고 시스템을 구현 Validation(유효성 검사) : 고객의 요구대로 작동하는지 확인 Evolution : 변화하는 고객 요구에 대응하여 시스템 변경 software process description 프로세스를 설명하고 논의할 때 일반적으로 specifying data model, designing user interface 등의 활동과 순서에 대해 얘기한다 Products : 프로세스 활동의 결과 Roles : 관련된 사..
검색 알고리즘(이진탐색)
·
수업정리/알고리즘
검색 알고리즘 1. 선형검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행 2. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 3. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행 - 체인법 : 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법 - 오픈 주소법 : 데이터를 위한 해시 값이 충돌할 때 재해시하는 방법 검색 외에도 데이터 삽입 및 삭제 작업에서 소요되는 비용을 종합적으로 평가하여 알고리즘을 선택해야한다. 선택한 알고리즘의 용도나 목적, 실행속도, 자료구조 등을 고려하여 알고리즘을 선택 순차 탐색(sequential search) 검색 대상의 자료를 처음부터 하나씩 비교하여 검색한다. 검색 대상 자료가 순서적으로 정렬되어 있..
okbear3
bear's blog