DEVOPS

    [따배쿠] 1. 쿠버네티스 소개

    주제 컨테이너와 도커 Container Orchestration(컨테이너 오케스트레이션) k8s. Kubernetis(쿠버네티스) 컨테이너와 도커 컨테이너 동작 시키는 도커플랫폼 프로세스 웹 서비스와 os 정보 수집해서 애플리케이션 동작시키면 콘솔로그 출력하고 80 포트로 열어서 클라이언트커넥션 대기함. 그러다가 클라이언트가 8080포트로 웹 요청하면 요청 받아서 200번 상태코드랑 호스트네임을 컨테이너 호스트네임이라는 메세지랑 전달해주는 노드js 기반의 프로그램. 도커파일을 만들어서 노드 환경을 설치하고 app.js를 컨테이너에 복사해주면 실행됨 노드12 버전 만들고 환경 만들고 app.js 집어넣은 구조야. 컨테이너 동작시킬 컨테이너 플랫폼이 필요한데 도커나 로켓이 그 예다. 리눅스 시스템에 도커를 ..

    [따배도] 10장 - 빌드에서 운영까지

    주제도커 컴포즈를 이용해서 컨테이너를 운영하고 빌드하는 방법을 다룬다. docker-compose(도커컴포즈) docker-compose를 이용한 컨테이너 실행 docker-compose 동작 예제 docker-compose(도커컴포즈) 개념 도커의 CI로서 여러 컨테이너를 일괄적으로 정의하고 실행,관리할 수 있는 툴 (각 컨테이너에 대한 명령을 내리면 실행해주는 애) cf) CI/CD CI(지속적인 통합. Continuous Integration) 개발자를 위한 빌드/테스트 자동화 프로세스 효과 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해..

    [따배도] 9장 - 컨테이너간 통신(네트워크)

    주제 컨테이너 통신 원리 컨테이너의 통신 방법 사용자 정의 브릿지 네트워크 컨테이너간의 통신 네트워킹 구조 CNM(Container Network Model) Docker Network의 근본적인 아웃라인을 잡는 디자인 스펙인 설계문서 역할 Container network 를 제공하는 데 필요한 단계(Step)를 정의 다수의 네트워크 드라이버를 지원하기 위해 필요한 추상화를 제공 ⇒ 격리된 것과 같은 네트워크 구조를 구성하고 설정에 따라 로컬/원격 컨테이너와의 통신을 가능하게 함 구성 Sandbox container 의 격리된 Network Stack으로 네트워크 스택 구성을 포함한다. container network interface, routing table 및 DNS 설정 관리 등을 할 수 있고 많..

    [따배도] 8강 - 컨테이너 스토리지 관리

    [따배도] 8강 - 컨테이너 스토리지 관리

    주제 컨테이너 볼륨 컨테이너에서의 영구적 데이터 보존법 컨테이너간의 데이터 공유법 Docker 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 Docker는 두가지 옵션을 제공하는데 첫번째는 Docker 볼륨(volume), 두번째는 바인드 마운트(bind mount)입니다. 컨테이너 볼륨 RW Layer 위의 mysql 폴더에 있는 수많은 데이터들 저장되는 파일의 속성 도커호스트 안에 있는 컨테이너 이미지 - ReadOnly(RO) 컨테이너 - ReadWrite(RW) 실행하면서의 변화 컨테이너 이미지 → 컨테이너 RO Layer 위에 RW Layer 추가 ⇒ 컨테이너에 추가되는 모든 데이터들은 RW Layer 에 쌓이게 된다. ⇒ Union File System (=overlay..

    [따배도] 7강 - 컨테이너 리소스 관리

    [따배도] 7강 - 컨테이너 리소스 관리

    주제 Docker Command를 통한 컨테이너 HW 리소스 제한 컨테이너 모니터링 방법 Docker Command를 통한 컨테이너 HW 리소스 제한 기본으로 컨테이너는 호스트 하드웨어 리소스(CPU, 메모리, 디스크) 의 사용 제한을 받지 않음 ⇒ 용량 제한 안걸어두면 모든 자원을 다 사용 가능함 ⇒ 특정 컨테이너가 독점 가능 ⇒ 다른 컨테이너들은 상대적으로 적은 리소스 사용 => 형평성 어긋 ⇒ 컨테이너가 필요로 하는 만큼의 리소스만 할당해야함 docker run 명령어로 동작되는 컨테이너에다가 옵션을 준다. 제한 가능한 HW 리소스 CPU Memory 블럭(Disk) I/O Memory 리소스 제한 옵션 제한 단위 : b,k,m,g --memory 혹은 -m + 숫자 컨테이너가 사용할 최대 메모리 ..

    [따배도] 6강 - 컨테이너 사용하기

    주제 컨테이너 이미지 관리 명령어 컨테이너 이미지 라이프 사이클 관련 명령어 동작중인 컨테이너 관리 명령어 컨테이너 이미지 관리 명령어 이미지 검색 docker search [옵션] ex) docker search nginx automated : 자동 빌드 여부 컨테이너 이미지 앞에 “특정이름/” 이게 있으면 특정 커뮤니티나 벤더나 개인이 올린 레파지토리 official : 도커허브가 관리하는, 믿을 수 있는 컨테이너 다운로드 docker pull [옵션] ex) docker pull nginx 버전 다른 거 받아오면 이미지 아이디는 같지만 버전 태그가 다르기 땜에 서로 다른 게 생기게 되는 것임 다운받은 이미지 목록 출력 docker images ex) docker images --no-trunc옵션 ..

    [따배도] 5강 - 컨테이너 Registry

    주제 컨테이너 Registry의 개념 Public Docker Registry Private Docker Registry 컨테이너 Registry 개념 컨테이너 Registry : 여러 개의 컨테이너 이미지 보관창고 ==Docker Registry 종류 Dokcer hub : hub.dokcer.com가 운영하는 public 저장소 Private Registry : 사내 컨테이너 private 저장소 원리 도커호스트 장비에 컨테이너 빌드한 게 있는데 도커 푸시명령으로 도커 레지스트리에 업로드 하는 것. 태그 안달면 도커닷컴이 직접 운영하는 컨테이너가 되는거고 앞에 레파지토리를 붙여줘야 내 레파지토리라는 게 되므로 이름 꼭 붙여줘야한다. Public Docker Registry : hub.dokcer.co..

    [따배도] 4강 - 도커 컨테이너 만들어보기

    주제 무엇을 컨테이너로 만드는지? DockerFile을 통해 도커컨테이너 만들기 컨테이너 배포 방법 무엇을 컨테이너로 만드는지? 컨테이너 : 개발한 어플리케이션(실행파일) + 운영환경을 갖춘 독립된 공간 ⇒ 개발한 프로그램, 실행환경을 만들어냄 특징 MSA 환경의 Polyglot(폴리글랏) 애플리케이션 운영이 가능 cf) Polyglot 다양한 언어를 사용하여 프로그래밍 하는 것 ⇒ 각각의 어플리케이션 서비스에 맞춰 컨테이너를 만들어낸다. ⇒ 짧은 라이프사이클에 대응 가능 수정할 컨테이너가 있으면 그 컨테이너만 수정하면 된다. 많은 서비스 제공 가능 EX) 이커머스플랫폼 각각의 기능에 따라 적합한 다른 언어들을 써서 구현해내는 것. DockerFile을 통해 도커컨테이너 만들기 DockerF..