본문 바로가기

전체 글

윈도우에서 쿠버네티스 구축하기 0. 개요윈도우에서 kubeadm을 사용해 쿠버네티스(k8s, kubernetes) v1.31를 구축하겠습니다. 두 대의 가상 머신을 만들어 한 대는 마스터 노드로 사용하고, 한 대는 워커 노드로 사용하겠습니다.가상 머신을 띄우기 위해 Vagrant와 VirtualBox는 아래 공식 홈페이지를 통해 다운로드 받으시길 바랍니다.https://www.vagrantup.com/ Vagrant by HashiCorpVagrant enables users to create and configure lightweight, reproducible, and portable development environments.www.vagrantup.comhttps://www.virtualbox.org/wiki/Download.. 더보기
Service Mesh 0. 개요여느 신기술과 같이 Service Mesh는 여러 문제를 해결하기 위해 등장했습니다.그 여러 문제 중 하나의 문제를 예시로 들어보겠습니다.회원 기능을 담당하는 A서버와 게시판 기능을 담당하는 B서버가 서로 통신한다고 가정하겠습니다.그러면 각 서버에는 통신을 하는 구체적인 방법을 구현해야 했습니다. 오토바이에 사이드카(Sidecar)를 붙이듯,게시판과 댓글과 같은 핵심적 비지니스 로직과 통신과 같은 부가적인 부분을 분리하면 개발자는 비지니스 로직에 집중할 수 있습니다. 1. Service MeshMSA가 각광 받으면서 개발자 입장에서는 관리해야할 서버가 기존 Monolithic 방식에 비해 확연히 증가했습니다.증가하는 서버가 내부에서 서로 통신을 하는 것이 마치 그물망(Mesh)처럼 엮이게 되었고.. 더보기
프로그래머스 - 퍼즐 게임 챌린지 0. 개요파라메트릭 서치(이분탐색) 문제입니다.파라메트릭 서치의 경우 아래의 문제풀이 글에서 자세히 설명했으니 참고하시길 바랍니다.https://ksb-dev.tistory.com/257 프로그래머스 - 디펜스 게임(Java)[수정 알림] 파라메트릭 서치 및 우선순위 큐로 문제를 해결했는데, 테케 10번에서 시간초과가 발생하신다는 분이 계셨습니다. 저의 경우 제 방법이 아슬아슬하게 통과를 했던것 같고, 서버 상태ksb-dev.tistory.com 1. 파라메트릭서치인 이유파라메트릭서치는 최적의 문제 찾기를 결정 문제로 바꿀 수 있는 알고리즘입니다.문제에서 "퍼즐을 모두 해결하기 위한 숙련도의 최솟값"을 구하라고 나왔습니다.이는 최적의 숙련도를 찾으라는 문제입니다. 1씩 증가시키며 숙련도를 찾아야할까요?l.. 더보기
KIND로 WSL 2에서 k8s 실행해보기 0. 개요KIND(Kubernetes IN Docker)는 Docker의 컨테이너를 노드로 사용해 k8s를 쉽게 구축할 수 있도록 하는 도구입니다.로컬에서 간단하게 k8s를 구축하여 테스트 하는 용도로 주요 사용합니다.이 글은 WSL 2 환경에서 k8s 구축 및 nginx를 배포하여 연결하는 실습을 해 보겠습니다. 1. KIND로 k8s 구축KIND를 설치하는 명령어는 아래와 같습니다.[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.21.0/kind-linux-amd64 쉽게 사용하기 위해 파일 권한 변경 및 파일 이동을 해 보겠습니다.$ chmod +x ./kind$ sudo mv ./kind /usr/local/bi.. 더보기
도커 없이 컨테이너 만들기 - 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 레이어는.. 더보기