GUI로 다루는 Civo Kubernetes, Lens·OpenLens·k9s와 무엇이 다른가.
마지막 업데이트 작성자: Marcel R. G. Berger
클러스터를 가리지 않는 도구 셋, Civo만 아는 도구 하나. 그 차이가 무엇을 열어 둘지를 정합니다.
Lens와 OpenLens와 k9s는 흔히 말하는 경쟁 제품이 아닙니다. 이들은 클러스터를 가리지 않습니다. 디스크의 kubeconfig 파일을 읽어서 어떤 제공자의 어떤 Kubernetes 클러스터든 워크로드를 관리합니다. CivoCloudManager는 아예 모양이 다릅니다. Civo 전용이고, 먼저 받아 둬야 하는 파일이 아니라 Civo API에서 클러스터 자격 증명을 직접 가져오며, 클러스터 안의 워크로드뿐 아니라 그 주위의 Civo 리소스까지 다룹니다. 이 페이지는 지금 앞에 놓인 일에 어느 모양이 맞는지에 대한 이야기이고, 다른 도구가 더 나은 지점도 그대로 적습니다.
네 도구가 지금 서 있는 자리
k9s는 터미널에서 도는 Go 바이너리 하나입니다. Apache 2.0이고, 활발히 개발되며, v0.51.0이 2026년 6월에 나왔습니다. Lens Desktop은 Mirantis의 상용 제품입니다. 활성화에 Lens ID 계정이 필요하고, 회사의 지난 12개월 매출이나 투자 유치가 1,000만 USD 아래면 개인 용도는 무료이며, 그 선을 넘으면 사용자마다 유료 Lens Pro 좌석이 있어야 합니다. 소스는 더 이상 공개되지 않습니다. lensapp/lens 저장소에는 README가 남아 있고 마지막 릴리스는 2024년 1월입니다. 그 소스로 만든 커뮤니티 빌드인 OpenLens는 2023년 6월 v6.5.2-366 이후 릴리스가 없고, Flathub 패키지는 수명 종료로 아카이브됐습니다. 유지되는 오픈 소스 후계자는 FreeLens입니다. MIT 라이선스, 로그인 없음, macOS와 Windows와 Linux. OpenLens 대체품을 찾아 여기까지 왔다면 같은 자리를 그대로 메우는 답은 FreeLens입니다. CivoCloudManager는 종류가 다른 도구이고, 아래 표가 그 차이를 정직하게 정리한 것입니다.
Pod 하나를 보기까지 드는 준비 비용
Civo에서 수동 경로는 정해져 있습니다. Civo 대시보드를 열거나 CLI를 돌려서 클러스터 kubeconfig을 내려받고, ~/.kube/config에 병합하고, 컨텍스트를 바꾸고, 현재 IP에 대해 클러스터 방화벽의 6443 포트를 엽니다. Civo Kubernetes API 서버는 방화벽 뒤에 있기 때문입니다. 이 전부가 끝나야 Lens든 FreeLens든 k9s든 무언가를 보여 줍니다. 클러스터가 새로 생길 때마다 같은 순서를 반복하고, IP가 바뀔 때마다 방화벽 규칙은 다시 낡습니다. CivoCloudManager는 한 단계 앞에서, macOS 키체인의 Civo API 키에서 시작합니다. 클러스터를 고르면 앱이 감지된 IP에 6443을 열고, Civo API에서 kubeconfig을 가져오고, 클라이언트 아이덴티티를 메모리에서 만들어 연결합니다. 클러스터에서 나가면 자기가 연 규칙을 닫습니다. 직접 요청하지 않는 한 디스크에 kubeconfig은 없습니다.
그 연결이 실제로 무엇인가
앱은 외부 프로세스를 부르지 않습니다. kubeconfig을 Swift에서 파싱하고, PEM 인증서와 개인 키를 SecItemImport로 들여오고, SecIdentityCreate로 아이덴티티로 묶고, URLSession에서 바로 클라이언트 인증서 mTLS를 엽니다. 그 세션의 신뢰 앵커는 kubeconfig의 CA 하나뿐이라, 호스트가 틀렸거나 관계없는 CA거나 리프가 만료됐다면 더 약한 쪽으로 물러나는 대신 핸드셰이크가 실패합니다. kubectl도 openssl도 끼지 않고, 자격 증명은 Mac을 떠나지 않습니다. 의존성 하나는 짚어 둘 만합니다. CPU와 메모리 게이지는 metrics.k8s.io API를 읽으므로 클러스터에 metrics-server가 떠 있어야 합니다. kubectl top이나 k9s의 리소스 열과 똑같습니다. 없으면 앱이 metrics-server를 쓸 수 없다고 알려 주고 나머지 화면은 그대로 동작합니다.
Lens·OpenLens·k9s가 이기는 지점
Civo만이 아닌 모든 곳입니다. 제공자 둘에 클러스터를 두고 있거나 관리형 클러스터 옆에 로컬 kind 클러스터를 돌린다면, kubeconfig 기반 도구는 키 하나로 컨텍스트를 바꾸고 CivoCloudManager는 다른 클러스터를 아예 보지 못합니다. Lens에는 확장 API와 긴 확장 목록이 있고, k9s에는 플러그인, 커스텀 단축키, 별칭, 스킨, 포트 포워딩, Hey 기반 벤치마킹이 있습니다. 여기에 대응되는 것은 없습니다. k9s는 어떤 GUI도 닿지 못하는 경우까지 가져갑니다. 새벽 세 시에 점프 호스트에 붙은 SSH 세션, 데스크톱 앱은 존재하지 않고 터미널은 있는 자리입니다. 그리고 두 도구 모두 실행 중인 컨테이너 안에서 진짜 대화형 셸을 줍니다. CivoCloudManager는 짧게 도는 Job을 만들어 출력을 돌려주는 방식으로 명령을 실행합니다. 쓸모는 있지만 실행 중인 Pod에 붙는 것과 같지는 않습니다. 마지막으로 저쪽은 Linux와 Windows에서 돕니다. CivoCloudManager는 macOS 15(Sequoia) 이상이 필요합니다.
둘 다 쓰는 쪽, 내보내기는 클릭 한 번이니까
이건 양자택일이 아니고 앱도 그렇게 만들어져 있지 않습니다. 클러스터에서 ‘Kubeconfig 저장’을 누르면 원하는 위치에 YAML이 저장되고, 그 순간부터 k9s든 FreeLens든 kubectl이든 늘 하던 대로 그 클러스터를 다룹니다. 흔한 조합은 이렇습니다. Civo 쪽은 CivoCloudManager로, 클러스터 생성과 삭제, 방화벽, DNS, Object Store, 지출 화면, 그리고 빠른 로그 읽기까지. 클러스터 안에서 깊게 파고드는 대화형 작업은 k9s로. 한 가지만 기억하면 됩니다. 앱이 열어 준 6443 규칙은 클러스터에서 나갈 때 닫히므로, 앱 바깥에서 시작한 터미널 세션에는 자기 방화벽 규칙이 따로 필요할 수 있습니다.
무엇을 고를 것인가
다루는 클러스터가 전부 Civo에 있고 Mac에서 일한다면, CivoCloudManager는 이 일에서 가장 성가신 부분, 즉 클러스터 화면이 뜨기 전까지 벌어지는 모든 것을 없애 주고 Kubernetes 도구가 볼 수 없는 Civo 리소스까지 덮습니다. 여러 제공자를 오가거나, 워크플로를 스크립트로 짜거나, 터미널에 살고 있다면 주력은 여전히 k9s나 FreeLens이고 이 앱은 그 옆에 두는 Civo 콘솔입니다. 아직 OpenLens를 쓰고 있다면 Civo에 대해 어떤 결정을 내리든 FreeLens로 옮기세요.
Civo 사용자가 실제로 치르는 준비 비용
품질이 아니라 범위에 대한 표입니다. 이 중 셋은 클러스터를 가리지 않는 도구가 마침 Civo를 향해 있는 경우이고, 하나는 Civo만 압니다. 아래 항목은 모두 확장이나 셸 스크립트 없이 기본 동작만 가리킵니다.
| 작업 | CivoCloudManager | Lens / OpenLens | k9s | kubectl |
|---|---|---|---|---|
| 디스크에 kubeconfig이 먼저 필요한가 | 아니요, Civo API에서 가져옵니다 | 예 | 예 | 예 |
| Civo 클러스터 생성·크기 조정·삭제 | 예, Civo API v2로 | 아니요 | 아니요 | 아니요 |
| 내 IP에 6443 포트 열기 | 클러스터 선택 시 자동, 나갈 때 닫힘 | 수동, Civo 대시보드나 CLI에서 | 수동 | 수동 |
| 실시간 Pod 로그 | 예, 자동 스크롤 토글 포함 | 예 | 예 | kubectl logs -f |
| 실행 중인 컨테이너의 대화형 셸 | 아니요, 짧게 도는 Job으로 명령을 실행합니다 | 예 | 예, s 키 | kubectl exec -it |
| 디플로이먼트 스케일링, 롤아웃 재시작 | 예 | 예 | 예 | 예 |
| CPU·메모리 게이지 | 예, metrics-server 필요 | 예, metrics-server나 Prometheus로 | 예, metrics-server 필요 | kubectl top, metrics-server 필요 |
| Civo 방화벽·인스턴스·DNS·Object Store | 예, 창 하나에서 전부 | 아니요 | 아니요 | 아니요 |
| Civo Object Storage를 S3로 탐색 | 예, Signature V4를 쓰는 내장 브라우저 | 아니요 | 아니요 | 아니요 |
| 월말 예상치가 붙은 Civo 지출 | 예, Civo charges API에서 | 아니요 | 아니요 | 아니요 |
| 실행 환경 | 네이티브 Swift 앱, 번들 런타임 없음 | Electron 데스크톱 앱 | 터미널에서 도는 Go 바이너리 하나 | Go 바이너리 하나 |
| Linux와 Windows에서 실행 | 아니요, macOS 15(Sequoia) 이상 | 예 | 예 | 예 |
| CI/CD에서 스크립트로 실행 | 아니요, 대화형 앱입니다 | 아니요 | 아니요 | 예, 그 용도로 만들어졌습니다 |
| 라이선스와 계정 | Mac App Store 일회성 구매, 계정 없음 | Lens는 Lens ID가 필요하고 OpenLens는 수명 종료 | 오픈 소스, Apache 2.0 | 오픈 소스, Apache 2.0 |
실제로 많이 나오는 질문
CivoCloudManager가 Lens나 k9s를 대체할 수 있나요?
Civo로 만들지 않은 Kubernetes 클러스터에서도 되나요?
~/.kube/config에 있는 것을 그대로 읽습니다. 그래도 kubectl이 필요한가요?
CivoCloudManager가 Linux나 Windows에서 돌아가나요?
2026년에도 OpenLens가 괜찮은 선택인가요?
가이드
단계별 안내와 솔직한 비교.
- 01 Civo API 키 연결 Civo 대시보드에서 키를 만들고, 한 번 붙여 넣고, 그다음부터는 macOS 키체인이 들고 있습니다.
- 02 내 IP로 방화벽 열기 수동 절차, 그 뒤에 남는 유동 IP 함정, 그리고 마감 시각에 규칙을 닫아 주는 무료 메뉴 막대 경로.
- 03 S3로 쓰는 Civo Object Storage 리전 엔드포인트, s3cmd와 rclone과 AWS CLI에 바로 넣는 설정, 그리고 네이티브 클라이언트가 다르게 하는 일.
- 04 Mac에서 쓰는 Civo DNS 도메인을 Civo 네임서버로 넘긴 다음, 존은 브라우저 탭이 아니라 네이티브 앱에 둡니다.
- 05 변경 이력 출시된 모든 릴리스를 최신순으로, 스토어 릴리스 노트가 담기에는 짧은 설명까지 붙여서.
심층 가이드
Civo 제품별로 따로 읽는 페이지.
CivoCloudManager가 다루는 Civo 영역마다 별도의 페이지가 있습니다. 구체적인 동작, 트레이드오프, 아키텍처 세부까지 담았습니다. 지금 하는 일에 가장 가까운 것을 고르세요.
- 01 Mac을 위한 Civo CLI 대안 GUI가 CLI보다 나은 지점, 그렇지 않은 지점, 그리고 둘을 함께 쓰는 법.
- 02 Mac을 위한 Civo Kubernetes GUI 실시간 클러스터 대시보드, 실시간 Pod 로그, kubectl 불필요.
- 03 Mac을 위한 Civo Object Storage 브라우저 네이티브 S3 호환 브라우저. 쓰지 않는 bucket은 중앙 vault로 Pause.
- 04 Mac 메뉴 막대에서 여는 Civo 방화벽 방화벽마다 클릭 한 번으로 열고 닫기, 자동 IP 감지, 자동 닫힘 타이머.
- 05 Mac을 위한 Civo 비용 대시보드 Civo charges API의 실제 청구 데이터. 기간 선택기와 월말 예상치.
- 06 Civo 리전 어떤 Civo 제품이 어느 리전에서 실행되는지, GPU는 어디에 있는지, 그리고 CivoCloudManager가 네 리전을 한 창에 담는 방법.
다른 도구, 다른 일.
메뉴 막대 방화벽 제어는 평생 무료이고, 전체 기능은 첫 실행부터 7일간 열리며, 그 뒤 대시보드는 Mac App Store에서 일회성 구매입니다.