본문 바로가기

삽질

Service Mesh 0. 개요여느 신기술과 같이 Service Mesh는 여러 문제를 해결하기 위해 등장했습니다.그 여러 문제 중 하나의 문제를 예시로 들어보겠습니다.회원 기능을 담당하는 A서버와 게시판 기능을 담당하는 B서버가 서로 통신한다고 가정하겠습니다.그러면 각 서버에는 통신을 하는 구체적인 방법을 구현해야 했습니다. 오토바이에 사이드카(Sidecar)를 붙이듯,게시판과 댓글과 같은 핵심적 비지니스 로직과 통신과 같은 부가적인 부분을 분리하면 개발자는 비지니스 로직에 집중할 수 있습니다. 1. Service MeshMSA가 각광 받으면서 개발자 입장에서는 관리해야할 서버가 기존 Monolithic 방식에 비해 확연히 증가했습니다.증가하는 서버가 내부에서 서로 통신을 하는 것이 마치 그물망(Mesh)처럼 엮이게 되었고.. 더보기
도커 없이 컨테이너 만들기 - 9 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/379 도커 없이 컨테이너 만들기 - 80. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/378 도커 없이 컨테이너 만들기 - 70. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요ksb-dev.tistory.com  지금까지 학습한 내용을 총 망라해서 도커 없이 컨테이너를 만들어보겠습니다. 1. 이미지 준비기존에 tools에 ping, stress, hostname, umount를 추가하겠습니다.ubuntu1804를 쓰시는 분은 아래를 통해 tools를 다운받으시면 됩니다.https://ra.. 더보기
도커 없이 컨테이너 만들기 - 8 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/378 도커 없이 컨테이너 만들기 - 70. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요ksb-dev.tistory.com 이 글에서는 Cgroups(Control Group)에 대해 알아보겠습니다.Cgroups는 그룹별로 자원 분배 및 limit 내에서 동작하도록 강제하는 커널 모듈입니다.실행중인 프로세스를 논리적으로 그룹화하고, 각 그룹마다 리소스 분배 및 제한합니다. 1. 실습 준비sudo -Es.. 더보기
도커 없이 컨테이너 만들기 - 7 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요이 글은 아래 글과 이어집니다.리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시ksb-dev.tistory.com  chroot와 pivot root는 전용루트시스템입니다.하지만, 아래와 같은 문제점이 있습니다.컨테이너에서 host의 다른 컨테이너가 보임컨테이너에서 host 포트 사용컨테이너에 루트 권한 존재 pivot root에서 mount namespace가 처음 사용 되면서 네임스페이스가 등장했습니다.네임스페이스는 프로세.. 더보기
도커 없이 컨테이너 만들기 - 6 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요이 글은 아래 글과 이어집니다.리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시스템으로 전환할 수 있습니다. 하지만, 루트 파일시스템에는 bin, lib, etc 등 시스템 동작에 중ksb-dev.tistory.com  이전 글에서 pivot_root를 활용한 격리는 리소스 중복 문제가 있다는 것을 알 수 있었습니다.이글에서 다루는 오버레이(Overlay) 파일시스템을 통해 위 문제를 해결할 수 있습니다. 오버레이는 여러 레이어를 중복해서 하나의 시스템을 만드는 방법입니다.Lower 레이어는 ReadOnly로 변경이 발생하지 않습니다.Upper 레이어는.. 더보기
도커 없이 컨테이너 만들기 - 5 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/375 도커 없이 컨테이너 만들기 - 40. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/374 도커 없이 컨테이너 만들기 - 30. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요ksb-dev.tistory.com  리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시스템으로 전환할 수 있습니다. 하지만, 루트 파일시스템에는 bin, lib, etc 등 시스템 동작에 중요한 폴더들이 마운트 되어있습니다.따라서, 함부로 루트 파일시스템을 바꾸게 되면 시스템 자체에 문제가 발생할 수.. 더보기
도커 없이 컨테이너 만들기 - 4 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/374 도커 없이 컨테이너 만들기 - 30. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/372 vm에 접속한 상태여야 합니다.vagrant sshksb-dev.tistory.com 이제까지 chroot를 사용하면 자원을 격리 시킬 수 있다는 것을 알게 되었습니다.아래 글에서는 docker image를 chroot로 실행하는 방법과 chroot를 사용하면 안되는 이유에 대해 설명하겠습니다. 1. Nginx Docker Image를 chroot로 실행하.. 더보기
도커 없이 컨테이너 만들기 - 3 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/372 vm에 접속한 상태여야 합니다.vagrant ssh그리고 관리자 상태로 변경 후 tmp 파일을 만듭니다.# 관리자로 변경sudo -Es# tmp 파일 생성후 이ksb-dev.tistory.com  아래 내용은 chroot를 사용합니다.chroot란, 프로세스의 루트 디렉토리를 변경하여 해당 디렉토리 밖으로 벗어나지 못하게 합니다. 1. chroot해서 sh 실행하기우선 이전에 만든 tmp 파일 밑에 myroot 폴더를 만듭니다.cd /tmpmkdir myroot chroot의 명령어.. 더보기