본문 바로가기

기타/Docker, K8S

(4)
K8S kubeadm 구축 1. Ubuntu 설치 master node 1, worker node 2 최소 2core 이상 OS - Ubuntu 20.04 ## 기본 패키지 설치 & 방화벽 해제 sudo apt-get install -y openssh-server curl vim tree net-tools systemctl stop firewalld systemctl disable firewalld ## docker 설치 # 1) 필요 패키지 설치 sudo apt-get update sudo apt install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release # 2) gpg key 발급 curl -fsSL https://download.docker...
kubernetes란? 쿠버네티스란 쿠버네티스란 여러 개의 호스트(pod- 쿠버네티스의 최소 배포 단위)를 하나로 묶어 관리하기 위한 오케스트레이션 툴이다. 오케스트레이션이 왜 필요할까? 컨테이너 개수가 많아질수록 관리가 힘들어진다. 그 컨테이너를 관리하기 위한 수단으로 오케스트레이션툴이 쓰여야 한다. (구글은 매일 수십억개의 컨테이너가 동작한다고 한다.) 쿠버네티스의 구조와 기능들이 생각했던 것 보다 복잡했던 것 같다. 쿠버네티스를 배포하면 클러스터가 생긴다. 클러스터는 쿠버네티스에서 관리하는 컨테이너화 된 응용 프로그램을 실행하는 노드라고하는 컴퓨터 집합이다. 클러스터에는 하나 이상의 작업자 노드와 하나 이상의 마스터 노드가 존재한다. 마스터노드와 작업자 노드의 구조를 살펴보자. (마스터 노드) api sever ->api..
docker 명령어 실습 Docker image tag는 image에 tag를 붙여 다른 이름으로 사용하는 것을 의미한다. 이미지들끼리 이름이 같은 경우가 있기 때문에 tag를 통해 구분해야 한다. docker tag httpd:latest httpd:duck (tag 바꿔서 httpd 이미지를 copy한다.) 이미지를 copy해서 생성되었음을 확인할 수 있다. 다만 image id도 서로 같다. Docker rmi httpd:latest (Httpd:latest를 지워보겠다.) Layer가 삭제되지 않고 untagged만 진행되었음을 확인할 수 있다. 그 이유는 Docker의 image는 여러 개의 읽기 전용 layer로 구성된다. Container 생성시 RW가 가능containter layer가 따로 생성된다. 하나의 im..
docker 정의 및 Web Server container 실행 Docker란 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 다양한 프로그램 및 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순화한다. Container는 image를 실행한 상태를 뜻한다. 격리된 공간에서 프로세스가 동작하는 기술이며 가상화 기술의 하나 이지만 기존 방식과 차이가 있다. 기존 방식이 OS 가상화라면 오버헤드가 크다. 그렇지만 Container는 단순히 프로세스를 격리시키기 때문에 가볍고 빠르다. CPU나 Memory 역시 딱 필요한 만큼만 추가로 사용해 성능적으로 손실이 거의 없다. 컨테이너 기술의 장점은 하나의 서버에 여러 개의 컨테이너를 실행하면 서로 영향을 미치지 않고 독립적으로 실행하며, 새로운 컨테이너는 1초 이내로 생성이 가능하다. ..