
Kubernetes는 오픈 소스 플랫폼입니다. 따라서 특정 공급업체에 종속되지 않아 한 Kubernetes 구현 환경에서 다른 구현 환경으로 쉽게 이전할 수 있는 플랫폼이라고 생각할 수 있습니다.
하지만 이는 잘못된 생각입니다. 실제로 많은 Kubernetes 솔루션, 특히 특정 퍼블릭 클라우드에 종속된 솔루션은 생각보다 훨씬 더 특정 공급업체에 의존적입니다.
다행히도 종속을 피하고 싶다고 해서 퍼블릭 클라우드를 Kubernetes 호스팅 솔루션으로 활용할 수 없는 것은 아닙니다. 활용할 수는 있지만, 클라우드 기반 Kubernetes의 이점을 누리면서도 특정 클라우드 제공업체의 Kubernetes 서비스에 종속되지 않도록 Kubernetes 전략을 설계해야 합니다.
클라우드 기반 Kubernetes 옵션
오늘날 모든 주요 퍼블릭 클라우드는 SaaS 아키텍처를 통해 호스팅형 Kubernetes 서비스를 제공합니다. Amazon은 Elastic Kubernetes Service를, Azure는 Azure Kubernetes Service를, Google은 Google Kubernetes Engine을, IBM은 IBM Cloud Kubernetes Service를 제공합니다.
이러한 서비스는 클라우드 기반 인프라와 Kubernetes 배포 및 관리를 자동화하는 데 도움이 되는 소프트웨어를 결합하므로, Kubernetes를 신속하게 도입하고 운영하려는 조직에 매력적인 솔루션입니다.
클라우드 Kubernetes의 종속 위험
이러한 클라우드 Kubernetes 서비스가 특정 공급업체에 종속되지 않는 것처럼 보인다는 점도 매력을 높입니다. 표면적으로는 한 Kubernetes SaaS 플랫폼에서 다른 플랫폼으로 쉽게 이전할 수 있을 것처럼 보입니다. 이러한 플랫폼은 모두 표준 오픈 소스 Kubernetes를 기반으로 합니다. 동일한 Kubernetes 도구(예: kubectl)를 사용할 수 있으며, 일반적으로 동일한 유형의 스토리지 및 네트워킹 구성을 지원합니다. 이런 관점에서 보면 상당히 공급업체 중립적인 것처럼 보입니다.
하지만 자세히 살펴보면 Kubernetes를 호스팅 서비스로 제공하는 퍼블릭 클라우드가 겉보기만큼 유연하거나 범용적이지 않다는 사실을 알 수 있습니다. 이러한 서비스는 자신을 호스팅하는 퍼블릭 클라우드에서 실행되는 다른 서비스와 다양한 방식으로 통합되고 이에 의존합니다. Kubernetes 클러스터를 관리하려면 사용하는 클라우드에서 IAM 정책을 생성해야 합니다. 인증을 위해 Azure Kubernetes Service의 경우 Azure Active Directory와 같은 공급업체별 서비스를 사용하게 될 수도 있습니다. 또한 Kubernetes 서비스가 반드시 요구하지는 않더라도 사용을 권장하는 추가 도구나 대체 도구가 있는 경우도 많습니다. 예를 들어 Google Kubernetes Engine은 kubectl 대신 gke-deploy를 사용하도록 권장하며, Elastic Kubernetes Service는 Amazon의 독점 도구인 eksctl을 사용하도록 설계되었습니다.
따라서 Kubernetes를 호스팅하는 클라우드가 어디든 기본 Kubernetes 코드는 동일할 수 있고, 마음만 먹으면 기술적으로 범용 도구만 사용할 수도 있지만, 실제로 사용하게 될 가능성이 높은 도구와 구성은 특정 공급업체에 종속되지 않는 형태가 아닙니다. 사용하는 Kubernetes 서비스에 따라 달라집니다.
이로 인해 가령 Azure Kubernetes Service에서 Google Kubernetes Engine으로 이전하려는 경우 큰 장벽에 부딪히게 됩니다. Kubernetes 워크로드는 그대로 이전할 수 있더라도, 이를 지원하는 도구 체인과 구성 파일까지 같은 방식으로 이전할 수는 없습니다.
클라우드 Kubernetes 종속 방지
Kubernetes 클러스터를 배포할 때 퍼블릭 클라우드의 편의성과 확장성을 활용하면서도 특정 클라우드에 종속되는 것은 피하고 싶다면, 두 가지 기본적인 해결책이 있습니다.
한 가지 방법은 클라우드 기반 가상 머신을 사용해 자체 클러스터를 수동으로 구축한 다음 직접 관리하는 것입니다. 이 방식을 사용하면 클라우드 제공업체의 SaaS Kubernetes 서비스가 제공하는 자동화 및 통합 기능은 이용할 수 없지만, 인프라는 그대로 활용할 수 있습니다. 특수 도구를 사용하지 않으므로 모든 것을 다시 구축하지 않고도 클러스터를 한 클라우드 호스트에서 다른 호스트로 더 쉽게 마이그레이션할 수 있습니다. 물론 클러스터를 구축하고 관리하는 데 상당한 수작업이 필요하다는 단점이 있습니다.
또 다른 접근 방식은 더욱 자동화되고 확장 가능한 방법으로, Volterra의 VoltStack® 서비스를 사용하여 클러스터가 어느 클라우드에 있든 관리하는 것입니다. 이 전략을 사용하면 각 공급업체 플랫폼의 클라우드별 도구를 모든 퍼블릭 클라우드에서 작동하는 중앙 집중식 명령 및 제어 센터로 대체하여 서로 다른 퍼블릭 클라우드 간에 클러스터를 쉽게 마이그레이션하거나 복제할 수 있습니다. 특정 퍼블릭 클라우드에 종속되지 않으면서도 Google Kubernetes Engine 및 Azure Kubernetes Engine과 같은 서비스와 동일한 수준의 관리 편의성을 누릴 수 있습니다.
결론
Kubernetes는 어디서 어떻게 실행하든 다 똑같다고 생각하는 실수를 범하지 마세요. 클라우드 기반 Kubernetes 서비스마다 큰 차이가 있어 Kubernetes 클러스터를 한 클라우드에서 다른 클라우드로 이전하기가 어려울 수 있습니다. 게다가 클라우드마다 사용하는 도구가 서로 달라 여러 클라우드의 클러스터를 관리하기도 어렵습니다.
다행히도 해결책은 있습니다. Volterra의 VoltStack 서비스와 같은 클라우드 독립형 Kubernetes 관리 솔루션을 사용해 모든 클러스터를 관리하면, 클라우드 기반 Kubernetes의 편의성을 그대로 누리면서도 특정 클라우드 제공업체에 대한 종속에서 벗어날 수 있습니다.
작성자 소개
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.