container 5

[Kubernetes] 쿠버네티스란 무엇인가? (k8s 정리 - 1편)

글 쓰기에 앞서 최근 쿠버네티스와 직접적인 업무를 진행하면서 정리를 해야 한다고 매번 느꼈지만 미루고 미루다가 마음먹고 공부하는 내용들을 정리해서 기록하려고 한다. 처음 쿠버네티스를 접했을때 느꼈던 거대한 진입장벽이 5년, 10년 후의 나 또는 다른 사람들에게 조금이나마 낮아질 수 있기를 소망해 본다. 쿠버네티스를 이해하기 전 Container에 대한 기본 지식이 없다면 아래 글을 먼저 보고 오는 것을 추천한다. https://hackerpark.tistory.com/entry/Docker-Virtual-MachineVM-DockerContainer-%EC%A0%95%EB%A6%AC [Docker] Virtual Machine(VM) & Docker(Container) 정리 VM (Virltual Mac..

Kubernetes/이론 2023.12.17
[Docker] image를 구성하는 image layer

Docker image & conatiner Image의 정의 Container라는 독립된 환경에서 서비스가 실행 가능하도록 필요한 요소를(서버 환경, 실행 파일, 라이브러리, 구조 등...) 하나의 패키지 형태로 묶는 형태 Container의 정의 소프트웨어 서비스를 실행하는데 필요한 요소를 포함하는 경량 패키지 Docker의 image는 특정 환경과 파일, 라이브러리 등을 실행할 수 있는 Container를 생성하기 위한 파일이다. (vm에서는 iso 파일에 해당되는 파일이다.) image만 있으면 container를 계속 생성할 수 있으며, image 하나를 가지고 여러 container들을 생성할 수 있다. Image Layer Image는 container를 실행하기 위한 요소들을 효율적으로 관..

Docker & Container 2023.04.23
[Docker] OCI(Open Container Initiative) & CRI(Container Runtime Interface)

초창기 Docker Model 초창기 Docker는 LXC에 의존하여 Container를 관리하였으며 monolithic 한 구조로 Docker Daemon 하나에서 Docker client, Docker API, Container Runtime, image build 등 여러 기능들을 관리하였다. LXC (Linux Container) LXC는 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템들을 실행하기 위한 운영 시스템 가상화 방법이다. cgroup, namespaces 기술을 사용하여 Container들이 독립된 환경에서 실행되도록 하는 기술이며 현재의 Docker Container의 부모(?)라고 볼 수 있다. Docker Container Runtime (libcontainer) LX..

Docker & Container 2023.04.18
[Docker] Virtual Machine(VM) & Docker(Container) 정리

VM (Virltual Machine) VM은 Hypervisor 기반의 가상 시스템으로 Host와 완전히 분리된 환경을 구축하고 실행할 수 있도록 해주는 기술이다. VM은 보통 Type1과 Type2 두 가지로 나뉘는데 둘의 차이점은 아래와 같다. VM (Type1) Hypervisor가 H/W 위에 직접 설치되며 기존의 방식(Type2)과 비교하여 H/W 접근성이 훨씬 효율적으로 설계되었기 때문에 성능과 확장성, 안정성을 확보할 수 있다. (Hypervisor 자체가 불안정하면 모든 게 불안정한 문제가 있다.) 이처럼 H/W 위에 직접 Hypervisor가 설치되는 것을 베어메탈 하이퍼바이저(Bare Metal Hypervisor)라고 부른다. (대표적으로 Xen, Hyper-V가 Type1에 속한다..

Docker & Container 2023.04.17
[DevOps] Jetbrains IDE를 활용한 Docker + Kubernetes 연동 (Clion, InteliJ, Goland ...)

2023-02-10 기준으로 작성된 글이기 때문에 작성된 날을 기준으로 멀지 않은 미래에는 포스팅 내용에 대한 추가적인 검증이 필요합니다. Jetbrains의 여러 IDE를 사용하고 있지만, 본 포스팅에서는 goland IDE를 사용하였습니다. [환경] Node 4개로 구성된 Kubernetes Cluster 1개 Kubernetes 설치 Node는 Docker 설치를 하지 않음(podman + buildah 사용 중) Jetbrains의 IDE 중 Goland를 사용하여 개발 Docker가 설치되어 있는 CI 서버 (k8s node가 아닌 단순한 Docker 설치된 곳) Nexus Repository (Docker image) [목표] Goland를 사용하여 Docker 환경에서 컴파일 + image ..

DevOps 2023.02.10
반응형