구글 쿠버네티스 엔진 1.10이 정식 출시되었습니다. 구글 클라우드 플랫폼(이하 GCP) 환경이 쿠버네티스 분야에서는 광속 행보를 보이는 것으로 유명하죠. 1.10으로 버전이 올라가면서 더욱 엔터프라이즈 친화적인 환경으로 쿠버네티스가 발전했습니다. 무슨 소리냐? 컨테이너 환경에 대한 보안, 네트워크, 로그, 모니터링 기능이 엔터프라이즈의 눈높이에 더 가까이 다가갔다는 소리죠. 1.10 버전에 추가된 중요 기능을 추려 보면 대략 세 가지 정도입니다. 가장 중요한 보안은 뭐 강조할 필요 없이 두루 강화되었습니다.
- 공유 VPC(Virtual Private Cloud)를 통한 네트워크 자원에 대한 통제력 강화
- 더 강력해진 고가용성 및 안정성 보장과 강화된 SLA
- Node Auto-Repair와 Horizontal Pod Autoscaler를 통해 자동화 수준 향상
각 특징을 간단히 살펴보시죠. 먼저 공유 VPC를 활용해 애플리케이션을 위한 네트워크 확장입니다. 일반적으로 기업은 물리적인 자원을 논리적으로 분할하여 부서나 팀이 공유합니다. 각각 논리적으로 격리된 환경을 제공하는 것입니다. 이런 식으로 컨테이너 기반 워크로드를 구글의 글로벌 공유 VPC에 배포가 가능해졌습니다. 공유 VPN 모델을 따르되 부서별 워크로드 단위로 격리된 환경을 제공하는 것이죠. 공유 VPC를 이용하면 서브넷 설정, 라우팅 경로 지정, 방화벽 설정 등을 중앙집중적으로 제어할 수 있다는 점이 좋습니다. 반면에 인스턴스나 클러스터 생성 같은 작업은 부서나 팀에 권한을 위임하여 자유롭게 할 수 있도록 할 수 있습니다. 통제할 것과 편의성과 자율성을 줄 것, 양쪽을 모두 만족하는 것입니다.
“스토리지 수준의 상시 복제로 고가용성 강화”
다음은 고가용성 보장에 대한 것입니다. 고가용성 보장을 위해 1.10 버전에는 Regional PD(Persistent Disk) 지원이 포함되었습니다. 이를 이용하면 스토리지 수준에서 복제가 이루어지기 때문에 더욱 안정성 높은 쿠버네티스 환경이 됩니다. Regional PD는 곧 정식으로 제공될 예정이라고 하는데요, 같은 리전에 있는 서로 다른 위치(zone)에 있는 블록 스토리지를 통해 데이터를 동기화하는 방식으로 복제를 하는 구조라고 합니다.
“쿠버네티스 엔진 마스터 분산을 통해 업타임 보장 수준 높여”
다음은 안정성에 대한 것입니다. 1.10 버전은 Regional 클러스터를 통해 같은 리전 내의 여러 위치에 마스터를 분산할 수 있습니다. 이를 통해 마스터 하나에 문제가 생겨도 전체 클러스터의 업타임에 영향을 주지 않도록 하는 것인데요, Regional 클러스터는 이 외에도 다운타임을 잡지 않고 쿠버네티스 엔진 마스터를 업그레이드하는 것도 지원한다고 합니다. 더 놀라운 것은 Regional 클러스터에 포함된 Node Auto-Repair 기능입니다. 평소에 각각의 노드 상태를 모니터링을 하다가 이상 징후가 보이는 노드가 발견되면 자동으로 오류 내용을 찾아 수정한다고 하네요. 참고로 Regional 클러스터도 곧 정식 공개가 될 예정입니다.
“자동 확장! Auto-scaling! 이 정도면 되겠니?!”
자동으로 확장하는 기능도 오랫동안 엔터프라이즈 사용자들이 요구한 것입니다. 그래서 1.10 버전에 Horizontal Pod Autoscaler가 포함되었습니다. 자동 확장은 사용자가 설정한 커스텀 메트릭에 따라 이루어집니다. 가령 Cloud Pub/Sub 큐 길이를 자동 확장 기준으로 잡거나, 포드당 열려 있는 커넥션 수에 따라 확장을 하는 등으로 기준을 잡을 수 있죠. 이 정도면 ~ 엔터프라이즈 READY 아닐까요?