본문 바로가기
  • 오늘처럼

containerd5

Ctr snapshot 명령을 이용해서 컨테이너에 파일 복사하기 컨테이너를 사용하여 작업을 할때 보통 'docker cp' 명령을 사용해서 컨테이너 안에 쉽게 파일을 복사한다. docker를 사용하지 않고 containerd를 런타임으로 사용하는 경우에도, 보통은 kubernetes 클러스터를 구축하였을 경우 kubectl 에서 제공하는 'kubectl cp' 명령어를 사용하여 쉽게 파드에 파일을 복사할 수 있다. 그런데 'kubectl cp' 의 경우 아래와 같이 help 명령어에서 알 수 있듯이 복사하려는 파드에서 tar 바이너리 파일이 있어야만 복사가 가능하다. docker cp 명령어와는 달리 내부적으로 tar 압축/압축해제 로직이 포함되어 있는 듯 하다. kubectl cp -h Copy files and directories to and from conta.. 2021. 11. 8.
Container Runtime Migration : Docker -> Containerd Kubernetes v1.21 버전 이후로 Docker 가 deprecated 됨에 따라 Kubernetes 의 컨테이너 런타임으로 Docker 이외의 런타임을 사용하는 경우가 늘어나고 있다. 이와 더불어 기존 Kubernetes Cluster 에서 Docker를 런타임으로 사용하고 있는 경우에도 Containerd 로 런타임을 변경해야 하는 케이스도 발생한다. 이번에는 Container Runtime 으로 도커를 사용하고 있는 기존 클러스터에서 런타임을 Docker로 변경하는 과정에 대해 알아본다. 기본적으로 Kubernetes 클러스터가 필요하며 docker가 설치되어 있는 경우 containerd 가 이미 설치되어 있으므로 추가로 필요한 요소는 없다. 다만 도커를 containerd 로 변경하는 과.. 2021. 9. 13.
ctr : containerd CLI tools ctr 이란? ctr 툴은 containerd 데몬과 상호작용하여 호스트 노드의 컨테이너 관리를 지원해주는 클라이언트 툴이다. containerd 진영에서 개발되어 동일 프로젝트 소스에 속해 있으나, 하단의 Description 문구와 같이 하위호환성이나 안정성을 보장해주지는 않는다. NAME: ctr - __ _____/ /______ / ___/ __/ ___/ / /__/ /_/ / \___/\__/_/ containerd CLI USAGE: ctr [global options] command [command options] [arguments...] VERSION: 1.4.3 DESCRIPTION: ctr is an unsupported debug and administrative client f.. 2021. 9. 6.
Containerd 설치 및 설정 1. containerd containerd는 docker를 설치하게 되면 함께 설치되는 런타임 패키지이지만, 독립적으로 설치 및 설정도 가능하다. docker를 설치하지 않고 kubernetes 클러스터를 구축하려 하는 경우나, 컨테이너 빌드 도구 없이 단순히 컨테이너를 실행하기만 하는 경우를 위하여 이번에는 containerd를 설치하고 설정하는 방법을 정리해본다. 2. conatinerd 다운로드 만약 Ubuntu Trusty 나 Debian jessie 이하 버전을 사용하고 있다면, 라이브러리 의존성을 위해 libseccomp2 라이브러리가 필요하다. 아래와 같이 apt-get 등을 이용하여 설치하거나 바이너리파일을 다운받아서 미리 준비해두자. sudo apt-get update sudo apt-.. 2021. 9. 4.
Docker and container runtime 1. 컨테이너 컨테이너는 프로세스가 실행되는 루트를 변경해주는 chroot, 프로세스들의 자원을 제어하는 cgroup(control group), namespace 등의 개념을 이용하여 프로세스를 격리하여 소프트웨어 레벨에서 어플리케이션의 실행 환경을 구현해주는 서비스이다. Virtual Machine 에 비하여 가볍다는 장점이 있어서 2010년 중반 이후 널리 사용되고 있으나, 완전히 새로운 개념은 아니며 과거 Linux 개발자/관리자 사이에서 이미 내부적으로 사용하고 있었던 기능을 쓰기 쉽게 패키징 하였다고 볼 수 있다. (chroot 기능 자체가 이미 1979년 Unix version 7 에서 시스템콜로 구현되었다.) 컨테이너와 도커를 다루는 여러 자료를 보면 runc, lxc, cri-o 와 같이.. 2021. 8. 30.