• Title/Summary/Keyword: 컨테이너 오케스트레이션

Search Result 11, Processing Time 0.032 seconds

Container Orchestration Comparison and Analysis (컨테이너 오케스트레이션 비교 및 분석)

  • Ji-hun Oh
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2023.07a
    • /
    • pp.595-596
    • /
    • 2023
  • 본 논문에서는 컨테이너 오케스트레이션 플랫폼에 대하여 분석하고자 한다. 공공 클라우드 전환 로드맵 검토에 따라 클라우드 네이티브 전환을 위한 기술로 컨테이너, 마이크로서비스, 컨테이너 오케스트레이션의 중요성이 강조되고 있다. 대표적인 컨테이너 오케스트레이션 도구인 Kubernetes, Docker Swarm, Mesos를 비교하며, 이들의 초기 설치 용이성, 볼륨 관리, 애플리케이션 배포, 장애 관리 등에 대해 분석하고, 이를 통해 각 도구의 장단점과 적용 상황에 따른 고려사항을 파악함으로써, 클라우드 네이티브 전환 로드맵 수립에 도움을 제공하고자 한다.

  • PDF

Kubernetes of cloud computing based on STRIDE threat modeling (STRIDE 위협 모델링에 기반한 클라우드 컴퓨팅의 쿠버네티스(Kubernetes)의 보안 요구사항에 관한 연구)

  • Lee, Seungwook;Lee, Jaewoo
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.26 no.7
    • /
    • pp.1047-1059
    • /
    • 2022
  • With the development of cloud computing technology, container technology that provides services based on a virtual environment is also developing. Container orchestration technology is a key element for cloud services, and it has become an important core technology for building, deploying, and testing large-scale containers with automation. Originally designed by Google and now managed by the Linux Foundation, Kubernetes is one of the container orchestrations and has become the de facto standard. However, despite the increasing use of Kubernetes in container orchestration, the number of incidents due to security vulnerabilities is also increasing. Therefore, in this paper, we study the vulnerabilities of Kubernetes and propose a security policy that can consider security from the initial development or design stage through threat analysis. In particular, we intend to present a specific security guide by classifying security threats by applying STRIDE threat modeling.

Correlation Analysis of Performance Degradation Due to Heavy Occupancy of Memory in Docker Swarm (Docker Swarm의 메모리 과점유로 인한 성능 하락의 상관 관계 분석)

  • Jang, JuneBeom;Bak, Bongwoo;Choi, HeeSeok;Yu, Heonchang
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2018.10a
    • /
    • pp.71-73
    • /
    • 2018
  • 소프트웨어 애플리케이션의 가상화를 지원하는 컨테이너(container)는 일반적인 가상머신과 같은 운영체제의 격리된 인스턴스 형태이지만 VM과는 달리 호스트 OS자원을 공유하여 자원을 효율적으로 사용할 수 있고 이식성이 좋으며 배포를 쉽게 할 수 있는 등 장점이 있다. 컨테이너의 중요성과 활용도가 높아지면서 그것을 관리하고 통제하는 오케스트레이션 솔루션도 각광을 받고 있다. 본 논문에서는 Docker에 내장된 오케스트레이션 기능 중 하나인 Docker Swarm이 과도하게 메모리를 사용하는 문제점을 해결하고자 한다. 먼저, Docker Swarm의 구조에서 Manager 노드와 Worker 노드의 서비스를 증가시켜 실행시킨 후 성능을 평가한 후 과점유의 원인을 파악한다. 실험 결과 메모리 과점유의 원인은 컨테이너가 작동을 멈춘 후에도 여전히 메모리를 점유하고 있어 컨테이너를 증가시킬수록 메모리 이용률이 줄어들지 않는 것이 증명되었다.

Development of a Multiple Container Orchestrator Management System for Multi-purpose Container-based Services (다목적 컨테이너기반 서비스 운용을 위한 다중 컨테이너 오케스트레이터 관리 시스템 개발)

  • Lee, Hyeokju;Kim, Myoungjin;Jung, Jongjin;Cui, Yun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2017.04a
    • /
    • pp.419-421
    • /
    • 2017
  • 최근 서버 가상머신의 단점을 보완하고 클라우드 컴퓨팅 서비스의 민첩성을 향상시키기 위해서 공유 환경 각각의 운영체제 위에 애플리케이션이 동작하는 대신 공통으로 사용하는 운영체제를 공유하는 컨테이너 기술이 부각되고 있다. 그러나 여러 컨테이너 노드를 사용자가 동시에 제어, 운용하는데 있어서는 시스템 운용 복잡도가 높고 어렵다. 이를 해결하기 위해 Kubernetes, Swarm, Mesos와 같은 다수의 컨테이너 노드를 통합 배포 및 제어 할 수 있는 컨테이너 오케스트레이션 기술이 등장하였다. 본 연구에서는 더 나아가 컨테이너 서비스의 워크로드 형태에 따라 적합한 컨테이너 오케스트레이터를 선택하고 컨테이너 클러스터 서비스를 통합 운영 할 수 있는 기술을 개발하였다.

A design of GPU container co-execution framework measuring interference among applications (GPU 컨테이너 동시 실행에 따른 응용의 간섭 측정 프레임워크 설계)

  • Kim, Sejin;Kim, Yoonhee
    • KNOM Review
    • /
    • v.23 no.1
    • /
    • pp.43-50
    • /
    • 2020
  • As General Purpose Graphics Processing Unit (GPGPU) recently plays an essential role in high-performance computing, several cloud service providers offer GPU service. Most cluster orchestration platforms in a cloud environment using containers allocate the integer number of GPU to jobs and do not allow a node shared with other jobs. In this case, resource utilization of a GPU node might be low if a job does not intensively require either many cores or large size of memory in GPU. GPU virtualization brings opportunities to realize kernel concurrency and share resources. However, performance may vary depending on characteristics of applications running concurrently and interference among them due to resource contention on a node. This paper proposes GPU container co-execution framework with multiple server creation and execution based on Kubernetes, container orchestration platform for measuring interference which may be occurred by sharing GPU resources. Performance changes according to scheduling policies were investigated by executing several jobs on GPU. The result shows that optimal scheduling is not possible only considering GPU memory and computing resource usage. Interference caused by co-execution among applications is measured using the framework.

Research on Open Cloud Computing Platform Based on Virtual Network and Container Interface (가상 네트워크와 컨테이너 인터페이스 기반 오픈 클라우드 컴퓨팅 플랫폼 연구)

  • Kim, Ki-Hyeon;Kim, Dongkyun;Kim, Yong-Hwan
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2018.10a
    • /
    • pp.497-500
    • /
    • 2018
  • 데이터 센터를 기반으로 서비스를 수행하는 기업들은 비용절감을 위해 서버 가상화 기술을 이용한다. 서버 가상화를 이용하는 기업들은 대부분 하이퍼바이저 기반의 서버 가상화 기술을 사용하며, 이 경우 하드웨어 가상화를 통해 커널 단에서 많은 I/O와 리소스를 처리해야 한다. 따라서 하이퍼바이저 기반의 서비스는 느리다는 단점이 있으며 이를 해결하기 위해 컨테이너 기반의 가상화 기술을 이용할 수 있다. 하지만 컨테이너 기반의 네트워크 또한 문제점이 존재한다. 컨테이너 기반의 네트워크는 유연한 네트워크를 구성하기 어렵고, 기존의 컨테이너 네트워크 인터페이스를 활용할 경우 데이터 전송 성능이 저하된다. 본 논문에서는 컨테이너 오케스트레이션 툴인 Kubernetes와 SDN (Software-Defined Network) 기반의 가상전용 네트워크 연계 환경을 구축하고 이에 적합한 컨테이너 네트워크를 연구하여 이의 문제점을 해결한다. 즉, 가상전용 네트워크와 Kubernetes의 연계를 통해 고성능의 유연한 네트워크를 구성할 수 있는 프레임워크를 개발하여 기존 컨테이너 기반 네트워크와 비교하고 성능을 검증했다.

A Performance Analysis of Web Applications on Kubernetes with Container Runtimes for Scalable System Design (확장가능한 시스템 설계를 위한 쿠버네티스 컨테이너 런타임별 웹 애플리케이션 성능 분석)

  • Minjae Kang;HyungJun Kim;Heonchang Yu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2023.11a
    • /
    • pp.75-76
    • /
    • 2023
  • 쿠버네티스는 컨테이너 오케스트레이션 플랫폼으로, 마이크로서비스 운영에 널리 사용된다. 이는 쿠버네티스가 오토스케일링을 지원하여 서비스 제공자가 부하의 변동에 효과적으로 대응할 수 있도록 지원하기 때문이다. 본 논문은 쿠버네티스 환경에서 runc 와 runsc 두 런타임을 대상으로 CPU 및 I/O 집약적 부하를 주는 웹 애플리케이션을 실행하여 처리 성능을 분석했다. 분석 결과 초당 요청 수가 일정 수준을 넘자 성능이 급락하였으며, 이를 바탕으로 워크로드를 고려한 오토스케일링의 필요성을 제고한다.

Web-based microservice deployment system in kubernetes environment (쿠버네티스 환경에서 웹 기반의 마이크로 서비스 배포 시스템)

  • Shin, Jung-Eun;Kwon, Jae-Hwan;Kim, Myung-Ho
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2020.07a
    • /
    • pp.45-48
    • /
    • 2020
  • 최근 마이크로서비스 아키텍처(Microservice Architecture)를 도입하는 프로젝트가 많아짐에 따라 컨테이너 오케스트레이션 도구인 쿠버네티스의 필요성이 증대되고 있다. 쿠버네티스 환경을 구성하고 서비스를 테스트 및 배포하기 위해서는 클러스터링을 하고 yaml파일을 작성하고 적용하여 자원을 생성하는 등의 작업이 필요하다. 이렇게 반복되는 작업을 자동화하기 위해 기존에는 쉘스크립트를 사용하는데, 이를 사용하기 위해서는 쿠버네티스 및 인프라에 관한 기초지식이 있어야 하는 문제점이 있다. 본 논문에서는 마이크로서비스를 위한 웹 기반의 배포 시스템을 제안한다. 웹을 통해 배포하고 테스트할 수 있어 기초지식이 없어도 사용할 수 있다. 웹에서 프로젝트 개발자로부터 도커 이미지와 사용할 포트번호 및 레플리카 개수를 입력받아 배포를 요청하면 쿠버네티스 환경에 배포하고, 필요한 자원들이 배포가 완료되면 엔드포인트를 제공한다. 그리고 배포된 서버의 엔드포인트에 요청을 전송하고 응답이 오는 것을 확인할 수 있어 활용성이 높다. 이 시스템은 쿠버네티스를 이용하여 복수 개의 파드(Pod)를 유지하여 가용성을 보장하고 빠르게 배포가 가능하게 한다. 또한 이미지가 업데이트되면 웹에서 요청하여 클러스터에 새 버전의 이미지로 배포한다.

  • PDF

Technique to Reduce Container Restart for Improving Execution Time of Container Workflow in Kubernetes Environments (쿠버네티스 환경에서 컨테이너 워크플로의 실행 시간 개선을 위한 컨테이너 재시작 감소 기법)

  • Taeshin Kang;Heonchang Yu
    • The Transactions of the Korea Information Processing Society
    • /
    • v.13 no.3
    • /
    • pp.91-101
    • /
    • 2024
  • The utilization of container virtualization technology ensures the consistency and portability of data-intensive and memory volatile workflows. Kubernetes serves as the de facto standard for orchestrating these container applications. Cloud users often overprovision container applications to avoid container restarts caused by resource shortages. However, overprovisioning results in decreased CPU and memory resource utilization. To address this issue, oversubscription of container resources is commonly employed, although excessive oversubscription of memory resources can lead to a cascade of container restarts due to node memory scarcity. Container restarts can reset operations and impose substantial overhead on containers with high memory volatility that include numerous stateful applications. This paper proposes a technique to mitigate container restarts in a memory oversubscription environment based on Kubernetes. The proposed technique involves identifying containers that are likely to request memory allocation on nodes experiencing high memory usage and temporarily pausing these containers. By significantly reducing the CPU usage of containers, an effect similar to a paused state is achieved. The suspension of the identified containers is released once it is determined that the corresponding node's memory usage has been reduced. The average number of container restarts was reduced by an average of 40% and a maximum of 58% when executing a high memory volatile workflow in a Kubernetes environment with the proposed method compared to its absence. Furthermore, the total execution time of a container workflow is decreased by an average of 7% and a maximum of 13% due to the reduced frequency of container restarts.

Dynamic Resource Adjustment Operator Based on Autoscaling for Improving Distributed Training Job Performance on Kubernetes (쿠버네티스에서 분산 학습 작업 성능 향상을 위한 오토스케일링 기반 동적 자원 조정 오퍼레이터)

  • Jeong, Jinwon;Yu, Heonchang
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.11 no.7
    • /
    • pp.205-216
    • /
    • 2022
  • One of the many tools used for distributed deep learning training is Kubeflow, which runs on Kubernetes, a container orchestration tool. TensorFlow jobs can be managed using the existing operator provided by Kubeflow. However, when considering the distributed deep learning training jobs based on the parameter server architecture, the scheduling policy used by the existing operator does not consider the task affinity of the distributed training job and does not provide the ability to dynamically allocate or release resources. This can lead to long job completion time and low resource utilization rate. Therefore, in this paper we proposes a new operator that efficiently schedules distributed deep learning training jobs to minimize the job completion time and increase resource utilization rate. We implemented the new operator by modifying the existing operator and conducted experiments to evaluate its performance. The experiment results showed that our scheduling policy improved the average job completion time reduction rate of up to 84% and average CPU utilization increase rate of up to 92%.