본문 바로가기
  • 오늘처럼

소프트웨어 아키텍처74

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.
Linux shell script : 입력값 검증과 help 문구 쉘 프로그램 작성 vi 편집기 등을 이용하여 하단의 쉘 스크립트를 작성한다. #!/bin/bash declare -a CMDS CMDS=(option_a option_b option_c) function usage() { echo "" echo "USAGE: example.sh [$(IFS='|'; echo "${CMDS[*]}")]" echo "" } CMD=$1 if [[ " ${CMDS[@]} " =~ " $CMD " ]] then echo "" echo "Valid command." else echo "" echo "Invaid command: $CMD" usage exit 2 fi function _function_a() { echo "" echo "option a -> Calls functio.. 2021. 9. 9.
Docker compose 의 사용 Docker-compose 설치 및 확인 Docker compose 는 여러 개의 컨테이너를 동시에 연계해서 구동할 수 있게 해주는 컨테이너 툴이다. 도커 측에서 제공하고 있는 하나의 바이너리 파일로, 여기서는 이 docker compose 의 설치와 실행 방법에 대해서 알아보자. docker/compose 프로젝트의 릴리즈 페이지에서 최신 버전의 docker-compose 패키지를 다운로드 받는다. OS(linux, windows), 아키텍처셋(arm64, armv7, armv6) 등에 맞춰서 다운로드 받은 후에 아래와 같이 어플리케이션 디렉토리에 이동하여 어느 위치에서나 docker-compose를 사용할 수 있도록 설정하자. (하단의 예는 docker-compose 1.29.2 버전을 사용하였다.).. 2021. 9. 7.
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.
Linux 활용 : sed 명령어를 이용하여 텍스트 파일 치환 SED (Stream EDitor for filtering and transforming text) Usage : sed [OPTION]… {script-only-if-no-other-script} [input-file]… Option: -i in place. 현재 파일을 그대로 수정 텍스트 파일의 값을 치환 #set -i "s/대상텍스트/변경텍스트/g" 대상파일 sed -i "s/public/private/g" test.sql 텍스트 파일의 각 라인 끝 문자열을 제거 (혹은 수정) #sed -i "s/.\{제거할문자수\}$//g" 대상파일 sed -i "s/.\{6\}$//g" test.sql #만약 제거하고 다른 텍스트를 추가할 경우 하단과 같이 처리 sed -i "s/.\{6\}$/test/g" t.. 2021. 9. 5.
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.