쿠버네티스 1.9가 공개되었는데요, 역시 최신 버전을 구글이 가장 빨리 서비스에 반영했습니다. 구글 클라우드 플랫폼(Google Cloud Platform: 이하 GCP) 사용자는 Google Kubernetes Engine을 통해 쿠버네티스 1.9를 EAP(Early Access Program)로 미리 접해볼 수 있습니다. 쿠버네티스 1.9에서 주목할 점은 스테이트풀(Stateful) 애플리케이션 지원이 강화된 것과 하드웨어 가속 기반 머신 러닝 워크로드를 처리할 수 있다는 것입니다. 따라서 인프라와 성능 걱정 없이 실제 운영 환경에 다양한 애플리케이션과 워크로드를 올리는 데 심리적(?) 안정감을 더 줄 수 있게 되었습니다.
“최신 버전의 쿠버네티스, 왜 GCP에 늘 먼저 적용되는가?”
널리 알려진 바와 같이 구글은 쿠버네티스를 만든 장본이자 가장 크게 이바지하고 하고 있는 사업자입니다. 그러다 보니 클라우드 컴퓨팅 업계에서 최신 버전의 쿠버네티스 적용 속도가 가장 빠릅니다.단순 지원이 아니라 관리, 확장, 업그레이드, 백업, 보안 등을 모두 구글이 책임지는 매니지드 서비스인 Google Kubernetes Engine에 반영하여, 모든 고객이 쿠버네티스의 기술적, 기능적 개선 사항을 누릴 수 있게 합니다. 즉, GCP 사용 기업에 쿠버네티스는 늘 최신 버전이 유지된다고 봐도 됩니다. 바로 이 점이 쿠버네티스를 통해 서버 리스 컴퓨팅이나 마이크로서비스 아키텍처를 구현하고자 하는 조직에서 GCP를 가장 먼저 고려 대상에 올려 놓는 이유입니다. 참고로 구글은 최근 Google Kubernetes Engine에서 클러스터 관리 비용을 파격적(?)으로 조정해 아예 비용을 받지 않습니다. 이 정도면 뭐 거의 매니지드 서비스를 안 쓸 이유가 없어 보입니다.
“쿠버네티스 1.9 개선 사항”
그럼 이제 쿠버네티스 1.9의 주요 개선 사항을 소개하겠습니다. 4개 정도로 압축해 볼 수 있겠네요.
- Workload API: 드디어 워크로드 API가 GA(General Availability)로 풀렸습니다. DaemonSet, Deployment, ReplicaSet, StatefulSet API를 통해 이제 프로덕션 환경 수준의 품질 보장과 함께 하위 호환성 보장이 더 쉬워졌습니다.
- GPU 하드웨어 기반 가속: GCP는 컨테이너 환경에서 머신 러닝과 데이터 분석 워크로드를 돌릴 수 있는 최적의 환경을 제공하는 것으로 유명하죠. 이번 1.9 버전 릴리즈는 엔비디아 테슬라 P100과 K80 GPU 기반 가속을 지원합니다. 금융 분석, 추천 시스템, 각종 시뮬레이션, 공간 정보 처리 등 컴퓨트 자원 집약적인 워크로드를 돌린다면 GPU를 이용한 하드웨어 기반 가속을 통해 더 빠르고 효율적으로 머신 러닝을 수행할 수 있습니다.
- 로컬 스토리지 지원 개선: 이번 릴리즈에서는 쿠버네티스 스케줄러가 개선되어 로컬 스토리지 사용이 더 쉬워졌습니다. 현재 알파 단계인 이 기능은 쿠버네티스 표준PVC(Persistent Volume Claim) 인터페이스를 통해 로컬에 장착된 SSD에 접근할 수 있게 합니다. 예를 들자면 원격 PVC를 통해 Helm 차트나 StatefulSet을 사용할 경우 스토리지 클래스 이름만 변경하면 저장 공간을 간단히 로컬 스토리지로 바꿀 수 있습니다. 로컬 SSD를 이용하면 IOPS 성능이 아무래도 높고, 레이턴시가 낮으므로 고성능을 요구하는 워크로드나 분산 데이터베이스, 분산 파일시스템 등의 스테이트풀 워크로드 운영에 유리합니다.
- 스토리지와 CSI 간 상호호환성:CSI(Container Storage Interface)가 알파 단계로 포함되었습니다. CSI는 여러 스토리지 제공자를 이용할 때 일관성 있는 단일 인터페이스를 제공하기 위한 기능으로 코드 수정 없이 서로 다른 스토리지 볼륨을 추가할 수 있는 편의성을 제공합니다.