우선 이 글은 cloud의 k8s 서비스들의 보안이 허술했을때 이야기 입니다. 현재로는 대부분의 서비스들이 높은 보안 수준을 유지하고 있기때문에 이런일은 없다고 볼 수 있습니다. 이 글은 픽션이고 k8s의 보안에 대한 경각심과 지식추구를 위해 작성되는 것입니다. 함부로 다른 서비스에 위해를 가하는 것은 엄연한 불법이고 이 글이 지향하는 바는 아닙니다.
우선 이글을 읽기 전에 기초적으로 설명드려야 할 것은 대부분의 cloud의 k8s 서비스들은 master node가 존재하지 않는 구조임을 알고 있어야 합니다. 왜 master가 존재하지 않는지 먼저 설명하기 앞서, 정확하게 유저에 클러스터에 node로 master가 존재하지 않는 것이지 실제로 모든 k8s cluster는 master가 필요합니다. 즉, node로 등록이 안되어 master는 유저가 접근이 불가능하게 되어 있고 master에 유저가 원하는 워크로드를 당연히 올릴 수 없게 되어 있을 뿐이고 실제 master는 cloud에서 직접 관리하는식으로 제공합니다.
그렇다면 왜 master가 숨겨져 있을까요? 이유는 여러가지가 있지만 대부분의 cloud 서비스는 management의 영역과 user의 영역을 정확하게 구분해야 합니다. k8s의 형상이란 걸 정의할때 여러가지 구성요소가 있겠지만 대부분 master와 같은 control plane 노드안에 담겨져 있고 이부분이 user가 변경하지 않아야 k8s 각 클러스터의 보다 정확한 형상관리가 가능해집니다. 그래서 master를 management 영역으로 두고 유저가 원하는 워크로드를 올릴 수 있는 영역을 user 영역으로 두고 있습니다. 그래서 user가 master에 접근을 못하도록 막는 것이 중요합니다.