개요 본 포스팅에서는 Docker 이미지 빌드를 위한 Dockerfile 작성 시 유의할 3가지 종류의 태그에 대해 살펴보도록 하자. Dockerfile은 Docker Image를 생성하기 위한 Docker Container의 형태를 정의하는 Template이라 할 수 있다. Admin은 Dockerfile에 정의된 태그를 기반으로 Docker Image를 생성하며, Docker Image는 실제 Container 서비스로 동작하게 된다. 즉 Image를 어떻게 생성하느냐에 따라 서비스 형태가 달라지고 유지보수 효율성을 확보할 수 있는지 결정되기 때문에 이는 컨테이너 서비스를 제공하기 위한 중요한 고려사항이라 할 수 있다. Dockerfile을 작성하기 위한 요소 중 다음에서 다룰 3가지 사항은 비슷한 ..
1) CRI-O의 등장? 왜 나타났을까? 이미 대표적인 Container Runtime인 Docker가 있는데.. 사실 잘못 알고 있는 점이 있는데, 도커는 Kubernetes를 위해 등장한 기술은 아니다. 컨테이너 런타임이라는 기술을 만든것은 일종의 규격을 만들기 위할 뿐 컨테이너가 활용되는 다양한 오케스트레이션 플랫폼을 위해 도커는 존재한다. 따라서 도커가 Kubernetes를 지원하는 것이 아니라 Kubernetes가 도커를 지원하는 방식이다. 이는 최근 Kubernetes가 컨테이너 오케스트레이션 플랫폼의 대부분을 점유함으로써 도커에서는 무상으로 사용하는 것에 대한 문제를 삼게 되었다. Docker-CE가 존재하지만, 이 마저도 Docker에서는 지원 중단을 선언했다. 이로 인해 구글은 CRI-O..
도커 이미지를 사용하여 빌드/배포를 수행하면, 버전 관리, 동일한 환경 항상 유지, 이관 편의성 등 다양한 장점을 갖고 있다. 이러한 이유로 도커 이미지는 도커 컨테이너로 기동되고 빌드/배포 자동화를 통해 손쉬운 개발 환경으로 사용되고 있다. 다만, 도커 이미지의 관리를 위해, 퍼블릭 공간의 DockerHub, 프라이빗 공간의 Docker Registry (Nexus3, Docker Image 등)는 무한으로 확장 가능한 공간을 제공하지는 않는다. 이로 인해 불필요한 이미지를 삭제하고 리소스 공간을 확보하는 것이 중요하다. 이미지의 경량화는 사실상 클라우드 환경에서 확장성과 민첩성을 높이기 위해 매우 중요한 요소이지만, 작은 이미지라도 500MB, 1GB 수준의 파일들이 매 빌드, 매 배포 마다 누적 된..
지금부터 살펴볼 내용은 Kubernetes를 설치하는 다양한 방법 중 Kubespray를 사용하여 구성 시 Docker Private Registry를 어떻게 구성할 것인가에 대한 내용입니다. Kubernetes를 설치하기 전 Kubespray를 폐쇄망 환경에서는 어떻게 구축해야 하는지에 대한 고찰을 먼저 진행해 보겠습니다. Kubernetes에서 가이드하는 Kubespray 설치 가이드는 다음과 같습니다. https://kubernetes.io/docs/setup/production-environment/tools/kubespray/#creating-a-cluster Installing Kubernetes with Kubespray kubernetes.io Kubespray는 Ansible을 통해 구성..
Cgroup 드라이버 cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제한하고 격리시키는 리눅스 커널 기능입니다. [root@ciserver ~]# ls -la /sys/fs/cgroup total 0 drwxr-xr-x. 13 root root 340 Sep 17 05:28 . drwxr-xr-x. 7 root root 0 Sep 17 05:28 .. drwxr-xr-x. 2 root root 0 Sep 17 05:28 blkio lrwxrwxrwx. 1 root root 11 Sep 17 05:28 cpu -> cpu,cpuacct drwxr-xr-x. 2 root root 0 Sep 17 05:28 cpu,cpuacct ..
이번 포스팅에서는 간단하게 Docker Registry를 구축하는 방법에 대해 살펴보겠습니다. 지난 여러번의 포스팅을 통해 Nexus를 활용한 Docker Private Registry를 구축하는 과정에 대해 살펴보았는데요. 사실 가장 유명한 Docker Private Registry는 docker.io/registry라고 볼 수 있습니다. Docker가 설치되어 있는 인터넷이 되는 환경에서는 누구나 수분 안에 개인 Registry를 구축할 수 있는 이 과정을 한번 살펴보도록 하겠습니다. Private Registry를 사용 할 경우 다음과 같은 장점이 있습니다. - Docker Hub등의 Public Registry의 경우 하나의 이미지만 private 등록이 가능하고 organization의 경우 비..
본 포스팅에서는 Docker로 기동되는 이미지들에 대한 Performance Monitoring에 대해 살펴보겠습니다. 때때로 Kubernetes나 OpenShift 등 다수의 컨테이너가 한번에 기동되는 경우 또는 성능을 모니터링하기 위해 JMeter나 LoadRunner 등의 부하 발생기를 통해 컨테이너에 과부하를 한번에 유입할 경우 해당 Container 뿐만 아니라 OS 전체적인 성능 저하가 발생하는 경우를 볼 수 있습니다. 이때 Kubernetes의 어떤 Container를 다중화하여 성능을 확보해야 하는지 현재 기준 리소스는 얼마나 사용되고 있는지 확인해 보고 싶을 때가 있는데요. APM Tool(datadog, splunk, pagerduty 등)을 포팅해서 모니터링하거나 Dashboard를 ..
지금부터 살펴볼 내용은 어쩌면 지금까지 살펴본 다양한 Kubernetes 포스팅의 완결판이 될 수도 있을 것 같습니다. 지금까지 다양한 Component를 살펴보며 Kubernetes가 제공하는 Request Flow에 대해 알아보고 구성해 보았습니다. 다만 각 컴포넌트들을 직접 구성하기에는 자세히 설명을 하였지만 처음 접하는 분들에게는 어려운 과정이 될 것입니다. 이에 누구나 손쉽게 따라 구성해 볼 수 있게 Shell Script와 YAML 파일을 작성해 보았습니다. 이전 포스팅은 아래를 참고해 주시기 바랍니다. [Container Management] Kubernetes Master Node 설치 [Container Management] Kubernetes Dashboard Install & Sett..
이번 포스팅에서는 도커 이미지 백업 및 롤백 과정에 대해 살펴보겠습니다. 지난 시간까지 도커 폐쇄망 구축 및 도커 내부 저장소 설치 과정에 대해 살펴보았습니다. 지난 포스팅은 다음을 참고하시기 바랍니다. [Docker] 폐쇄망에 Docker 구축하기 [Spring Boot] git clone을 활용한 Spring Boot 프로젝트 repository 이관 [Spring Boot] gitlab & Eclipse 연동을 통한 Spring Boot 개발 프로젝트 구축 [Spring Boot] Spring Boot Maven Repo 구축(Nexus2 OSS 내부 저장소) [Spring Boot] Spring Boot Maven Repo 연동(Nexus2 OSS 내부 저장소) [Spring Boot] Sprin..
이번 포스팅에서는 폐쇄망 환경에서 Repository 관리 용도로 널리 사용하는 Nexus를 활용한 Docker Private Registry 구축 및 활용 방법에 대해 살펴보겠습니다. 지난 포스팅은 다음을 참고하시기 바랍니다. [Docker] 폐쇄망에 Docker 구축하기 [Spring Boot] git clone을 활용한 Spring Boot 프로젝트 repository 이관 [Spring Boot] gitlab & Eclipse 연동을 통한 Spring Boot 개발 프로젝트 구축 [Spring Boot] Spring Boot Maven Repo 구축(Nexus2 OSS 내부 저장소) [Spring Boot] Spring Boot Maven Repo 연동(Nexus2 OSS 내부 저장소) [Spri..
- Total
- Today
- Yesterday
- 오픈스택
- aa
- JEUS6
- Da
- wildfly
- git
- MSA
- node.js
- kubernetes
- apache
- 쿠버네티스
- Architecture
- 마이크로서비스 아키텍처
- SA
- 마이크로서비스
- k8s
- openstack tenant
- Docker
- nodejs
- JBoss
- jeus
- aws
- OpenStack
- 아키텍처
- openstack token issue
- TA
- webtob
- SWA
- API Gateway
- JEUS7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |