본문 바로가기
CSP (Cloud Service Provider)/GCP

[GKE 사용하기] 쿠버네티스 핵심 기능

by BTC_yljo 2022. 10. 6.
이번 시간에는 GKE를 잘 사용하기 위해 쿠버네티스의 핵심 기능 10가지에 대해 알아보도록 하겠습니다. 
 
 

1. 자동화된 롤아웃과 롤백(Automated rollouts and rollbacks)

쿠버네티스는 애플리케이션 또는 애플리케이션의 설정을 변경하는 경우, 점진적으로 롤아웃하는 동시에 애플리케이션을 모니터링해서 모든 인스턴스가 동시에 종료되지 않도록 보장합니다. 만약 어떤 문제가 발생하면 쿠버네티스는 변경 사항을 롤백합니다. 즉, 다운타임 없이 애플리케이션의 새로운 버전 및 설정에 대해서 롤아웃과 롤백이 가능하다는 것입니다.

2. 서비스 디스커버리와 로드밸런싱(Service discovery and load balancing)

쿠버네티스를 사용하면 익숙하지 않은 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없습니다. 쿠버네티스는 컨테이너에 고유한 IP를 부여하고, 여러 개의 컨테이너를 묶어 단일 서비스(Service)로 부여하는 경우, 단일 DNS name으로 접근하도록 로드밸런싱을 제공합니다.

3. 스토리지 오케스트레이션(Storage orchestration)

소프트웨어 정의 저장장치를 기반으로 로컬 스토리지, CSP 또는 NFS 등과 같은 네트워크 스토리지 시스템에서 원하는 스토리지 시스템을 자동으로 컨테이너에 마운트할 수 있습니다.

4. 시크릿과 구성관리(Secret and configuration management)

애플리케이션의 시크릿과 설정 정보를 이미지와 독립적으로 구분하여, 사용자의 이미지를 다시 빌드하거나 스택 구성의 시크릿을 노출하지 않고 시크릿과 애플리케이션 구성을 배포하고 업데이트합니다.


5. 자동 빈 패킹(Automatic bin packing)

리소스 요구 사항과 기타 제약 조건에 따라 컨테이너를 자동으로 배치하지만, 가용성은 그대로 유지합니다. 리소스 사용과 제약 사항을 기준으로 자동적으로 컨테이너를 스케줄합니다.


6. 배치 실행(Batch execution)

쿠버네티스는 서비스 외에도 배치와 CI 워크로드를 관리할 수 있으며, 원하는 경우 실패한 컨테이너를 교체할 수 있습니다. 그리고 corntab 형식으로 스케줄링도 가능합니다.


7. IPv4/IPv6 이중 스택(IPv4/IPv6 dual-stack)

파드와 서비스에 IPv4와 IPv6 주소 할당합니다.

 

8. 수평적 스케일링(Horizontal scaling)

간단한 명령어나 UI를 통해서 CPU나 메모리와 같은 리소스 사용량에 따라 사용자 정의 측정값을 기준으로 한 동적인 애플리케이션의 스케일을 업 또는 다운을 지원합니다.

 

9. 자가 치유(Self-healing)

오류가 발생한 컨테이너를 재시작하고, 노드가 죽었을 때 컨테이너를 교체하기 위해 다시 스케줄하고, 사용자 정의 상태 체크에 응답하지 않는 컨테이너를 제거하며, 서비스를 제공할 준비가 될 때까지 클라이언트에 해당 컨테이너를 알리지 않습니다. 즉, 롤, 정책에 따라 헬스체크를 하고, 자동으로 문제가 발생한 노드의 컨테이너를 대체하는 것입니다.


10. 확장성을 고려하여 설계됨(Designed for extensibility)

쿠버네티스 업스트림 소스 코드 수정 없이 쿠버네티스 클러스터에 기능을 추가할 수 있습니다.

 

출처
https://kubernetes.io/

 

Production-Grade Container Orchestration

Production-Grade Container Orchestration

kubernetes.io

 

댓글