container orchestration 참조문서(redhat)
사전 정의
개요
어디에 쓰이는가
Tools
어떻게 동작하는가?
container ->
(화물 수송용) 컨테이너, 그릇 ,용기
orchestration ->
1.[U] 관현악 편곡(법), 악기 편성법, 관현악 조곡(組曲)2.통합, 결집, 편성; 조직화; (솜씨 있는) 조정 ((of))
ref. papago
Container orchestration 은 컨테이너의 배포, 운영, 확장 및 networking을 자동화합니다. 컨테이너를 사용하는 모든 환경에서 사용 가능합니다
컨테이너 안의 서비스를 작은 단위로 쪼개서 개별적으로 배포 및 관리 가능하게 만들어주는 마이크로서비스를 사용하기 위해서 컨테이너 안의 각 서비스를 독립적인 컨테이너로 패키징하여 배포하고, Container orchestration을 사용하여 관리합니다
micro service Container orchestration은 각 마이크로 서비스가 요구하는 resource를 자동으로 할당하고 서비스 상태를 모니터링하며 필요한 경우 서비스를 다시 시작하거나 확장하여 시스템의 가용성의 보장합니다. 이로 인해 마이크로 서비스 아키텍쳐에서는 서비스의 배포 및 관리가 용이해지며, 시스템 전반적으로 유연성과 안정성이 확장됩니다.아래의 task들을 자동화 하고 운영하는데 사용됩니다.
1. Provisioning, 배포
2. Configuration, scheduling
3. 자원 할당
4. 컨테이너 가용성
5. Scaling or removing containers (인프라 전반의 워크로드 balancing을 기반으로)
6. Load balancing and traffic routing
모니터링은 개발 및 운영팀에게 중요한 정보를 제공하여, 서비스의 안정성을 높이고 문제 발생 시 대응하는 데 도움을 줍니다. 따라서 컨테이너 오케스트레이션에서 "Monitoring container health"는 핵심적인 기능 중 하나로 간주됩니다.
(- chat gpt -)
Kubernetes
Docker Swarm
Apache Mesos
K8s를 사용할 때 YAML, JSON 파일을 사용해서 configuration of application을 설정할 수 있습니다.
configuration file은 configuration management tool에게 {컨테이너 image가 어디에 위치한지, how to establish network, where to store logs}를 알려줍니다
새 컨테이너를 배포할 때, container management tool은 자동으로 클러스터에 배포를 scheduling하고 올바른 host를 찾습니다(정의된 requirements 또는 restrictions을 고려(taking into account)하여).
그러면 orchestration tool은 컨테이너의 lifecycle을 manage합니다(compose file에 정의된 specification(명세서)에 기반하여)
K8s patterns을 사용해서 컨테이너 기반 application과 서비스들의 configuration, lifecycle, scale을 관리할 수도 있습니다.
출처 : redhat, AWS, openai