Container와 Docker

‎김연수·2024년 5월 17일
0

AWS-Cloud-Club-Ewha

목록 보기
2/7

Container

컨테이너는 코드와 그에 필요한 모든 종속성을 패키징하여 응용 프로그램이 한 컴퓨팅 환경에서 빠르고 신뢰성 있게 다른 환경으로 실행되도록 하는 표준 소프트웨어 단위

Docker

Docker는 애플리케이션을 개발, 출시, 실행하는 데 사용하는 개방형 플랫폼입니다. Docker를 사용하면 인프라에서 애플리케이션을 분리하고 인프라를 관리형 애플리케이션처럼 취급할 수 있습니다. Docker는 코드를 더욱 빠르게 출시, 테스트, 배포하고 코드 작성과 실행 주기를 단축하는 데 도움이 됩니다. 이는 Docker의 커널 컨테이너화 기능을 애플리케이션 관리 및 배포를 지원하는 워크플로우 및 도구와 결합하기 때문입니다.
→ 즉, 컨테이너를 관리하기 위한 기술

Docker image와 container

  • 도커 이미지: 애플리케이션을 실행하는데 필요한 모든 것(라이브러리, 코드, 환경 변수 등등)을 포장한템플릿으로, 이미지를 사용해서 실제로 실행되는 컨테이너를 만들 수 있다.
  • 도커 컨테이너: DockerImage를 바탕으로 실제로 실행되는 애플리케이션을 의미한다.

Amazon Elastic Container Registry(ECR)

: 완전 관리형 Docker 컨테이너 레지스트리

  1. 이미지 저장: 도커 이미지, Open Container Initiative(OCI) 이미지 및 OCI 호환 아티팩트를 리포지토리에 저장 가능**

  2. 정책 관리: 리포지토리 정책을 사용하면 리포지토리 및 리포지토리 내 콘텐츠에 대한 액세스를 제어

  3. 이미지 사용: Amazon ECS 태스크 정의 및 Amazon EKS 포드 사양에서 이미지 사용 가능

Kubernetes(aka k8s)

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 컨테이너 오케스트레이션 서비스입니다. 쿠버네티스를 사용하면 선언적 구성과 자동화를 모두 용이하게 관리 가능합니다. 서비스 디스커버리, 자동복구, 롤링 업데이트등의 기능을 제공하여 애플리케이션의 운영을 효율적으로 관리할 수 있습니다.
→ 즉, 컨테이너로 이루어진 워크로드를 자동화하거나 관리하기 위한 기술

쿠버네티스의 특징

  1. 스펙(=원하는 상태)과 status(=현재 상태)현 상태(status):
  • 현재 상태(current state)를 나타내는 것.
  • 원하는 상태(spec): 원하는 상태(desired state)를 명시한 것.
  1. 명령형 접근법과 선언형 접근법
  • 명령형: A에다가 + a를 해줘!
  • 선언형: 내가 원하는 건 B야. → 쿠버네티스는 스펙에 적힌 원하는 상태를 만들어준다.
  1. 쿠버네티스 컨트롤 플레인

Amazon Elastic Kubernetes Service(EKS)

관리형 쿠버네티스 서비스

  • 서비스 통합: Amazon EKS는 다른 AWS 서비스와 통합되어, 컨테이너화된 애플리케이션을 배포하고 관리하기 위한 포괄적인 플랫폼을 제공 가능

  • 규모 조정: Amazon EKS는 CPU 또는 사용자 지정 지표를 기반으로 수평 Pod 자동 규모 조정, 그리고 전체 워크로드 수요를 기반으로 클러스터 자동 규모 조정 가능

쿠버네티스 아키텍처 & 파드

쿠버네티스의 배포란?

쿠버네티스의 서비스란?

0개의 댓글

관련 채용 정보