본문 바로가기

분류 전체보기

(54)
[Kubernetes] 운영 환경 구성시 고려사항 컨테이너 어플리케이션 배포를 위해 쿠버네티스를 도입 후 PoC를 넘어 운영환경에서 쿠버네티스를 사용하기 위해서는 많은 고려사항이 필요합니다.  높은 SLA를 만족시키기 위해서 수많은 고려사항이 존재하지만 요약하면 아래와 같습니다.- 쿠버네티스의 Pod 스케줄링- 어플리케이션의 배포 및 확장- 어플리케이션이 잘 동작할 수 있도록 네트워크와 스토리지 사용법에 대한 숙달 - 서비스 노출 방법- 서비스 헬스 체크- 쿠버네티스 및 어플리케이션 환경에 대한 HA 구성 - 무중단 업그레이드    쿠버네티스 클러스터 설치 후 운영을 고려할때 확인해야 하는 항목 (Day 2 Operation) - 스토리지 및 네트워크 연동- 쿠버네티스 업그레이드 및 패치를 어떻게 무중단 방식으로 진행할 수 있을지- 장애 발생 시 신속하..
[Kubernetes] Kubernetes 클러스터 용량 산정 쿠버네티스를 구성할때 쿠버네티스 클러스터 규모를 어떻게 구축할지에 대한 내용은 중요하게 생각해보아야 할 내용입니다. 초기 구축할 클러스터의 규모는 클러스터에 실행될 어플리케이션의 스펙과 관련이 높습니다. 어플리케이션의 성능을 분산처리를 통해 증가할 수 있다면, 작은 스펙의 다수의 replication으로 구성할 수 있습니다. 위와 같이 분리된 replication 구성이 어렵다면, 어플리케이션의 자체 스펙으로 구성하여야 합니다.     예를 들어 클러스터의 총 용량이 400 CPU, 800GB memory라고 가정하였을때, 작은 노드를 많이 가져간다면 2 core 4GB memory로 구성하여 총 200개의 노드를 생성할 수 있게 됩니다.큰 노드를 적게 가져간다면 8 core 16GB memory로 구성..
[Docker] 도커 컨테이너 다루기 : 도커 컴포즈 개념 및 사용법 도커 컴포즈 (Docker Compose) 도커 서버에서 여러 컨테이너를 프로젝트로 묶어서 관리하게 위해 사용됩니다. 단일 서버에서는 도커 엔진의 도커 커맨드라인 명령어를 사용하여 도커 컨테이너를 실행할 수 있었습니다. 하지만 도커 컴포즈를 사용하게 되면 docker-compost.yml YAML 파일을 통해서 컨테이너들을 명시적으로 관리할 수 있으며, 컨테이너들을 프로젝트 단위로 묶어서 관리할 수도 있기 때문에 더 격리된 환경을 제공할 수 있습니다. 이 외에도 프로젝트 단위로 도커 네트워크와 불륨 관리가 가능하며, 프로젝트 내 서비스 간 의존성 정의가 가능하며 디스커버리 자동화, 손 쉬운 컨테이너 수평 확장이 쉽게 가능합니다. 주요 사용 목적 로컬 개발 환경 구성 - 특정 프로젝트의 로컬 개발 환경 구..
[Docker] 도커 컨테이너 다루기 : 도커 데몬 디버깅 (docker system 명령어 사용법) 해당 글에서는 docker system 명령어 사용법과 docker stats 명령어 대해서 설명하였습니다. 해당 명령어들을 알고 있다면 도커 운영 시, 도커 데몬에 어떠한 문제가 생겼을 때 문제를 해결할 수 있는 방법이 될 수 있습니다. # docker system -h Flag shorthand -h has been deprecated, please use --help Usage: docker system COMMAND Manage Docker Commands: df Show docker disk usage events Get real time events from the server info Display system-wide information prune Remove unused data Run..
[Docker] 도커 이미지 다루기 : 도커 허브 저장소 이용 도커 이미지를 사용함에 있어서 혼자 사용하기 보다는 조직 내에서 함께 도커 기반의 컨테이너 서비스를 운영하는 경우가 많기 때문에, 이미지에 대한 관리와 공유가 중요하다. 이미지 관리 및 공유를 도와주는 장치가 이미지 저장소이다. 가장 대표적인 이미지 저장소 어플리케이션으로 도커 허브 저장소가 있다. [도커 허브 공식 사이트] https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container ap..
[Docker] 도커 이미지 다루기 : 이미지 압축파일로 저장 및 불러오기 도커 이미지파일을 압축파일로 저장하고 불러오는것은 인터넷이 되지 않는 환경에서 자주 활용할 수 있다. 혹은 이미지파일을 온라인 상에 올리지 않고 특정 서버나 사람에게 전달해주기 위한 목적으로 사용할 수 도 있다. 이미지 압축파일로 저장 SAVE 명령어 사용 -o 옵션 : out-file 지정 (어떤 파일 경로로 해당 tar 압축파일이 저장될지를 지정) // 이미지를 tar 압축파일로 저장한다. # docker save -o [OUTPUT-FILE] IMAGE ex) ubuntu:focal 이미지를 ubuntu_focal.tar 압축 파일로 저장 # docker save -o ubuntu_focal.tar ubuntu:focal 이미지 압축에서 불러오기 LOAD 명령어 사용 -i : input-file 지..
[Docker] 도커 이미지 다루기 : Dockerfile 문법 Dockerfile 문법 도커 공식 홈페이지 문서 참조 https://docs.docker.com/engine/reference/builder/ Dockerfile reference Dockerfile reference Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. This page describes the com docs.docker.com 기본 형식 // 주석 사용법 # Comme..
[Docker] 도커 이미지 다루기 : 이미지 빌드 도커 이미지 구조 도커 이미지 구조는 새로운 변경사항이 하나씩 쌓이는 레이어 아키텍쳐 구조로 되어있다. 위의 예제를 보았을때 nginx 이미지의 경우 ubuntu 이미지를 기반으로 만들어졌기 때문에 ubuntu의 레이어가 그대로 있는 상태에서 nginx 이미지를 구성하기 위한 레이어들이 쌓이게 된다. web app 이미지의 경우 구성된 nginx 이미지 위에 web app의 레이어가 쌓여 만들어지게 된다. 위의 예제는 web app image를 기반으로 컨테이너를 생성하였다. 컨테이너가 실행될 때 web app image layer가 복사되어 생성되는데 해당 레이어는 Read Only로 생성된다. 따라서 이미지 레이어에 있는 파일들은 변경이 불가능하다. 이와 함께 컨테이너가 생성될 때 마다 해당 컨테이너..