런타임 환경
경로: /runtimes, /runtimes/:infraId
서비스를 실제로 실행할 인프라 환경(Kubernetes 클러스터, Docker 호스트, Podman)을 등록·관리하는 페이지입니다.


권한 안내 — 이 페이지에 접근할 수 없다면 기관 관리자에게 런타임 관리 권한을 요청하세요.
처음 시작하나요? — 먼저 장비 관리 페이지에서 서버를 등록한 뒤 이 페이지에서 런타임을 설정하세요.
무엇을 하는 곳인가
개발/스테이징/운영 환경을 분리 등록하고, 각 런타임의 리소스 현황을 모니터링하며, 여러 클러스터·호스트를 중앙에서 관리합니다. 지원하는 세 가지 런타임:
- Kubernetes: 자동 확장·무중단 업데이트·장애 자동 복구. 대규모 운영 환경 권장.
- Docker: 가장 널리 쓰이는 단순·직관적 런타임. 개발·소규모 서비스·단일 서버 배포 권장.
- Podman: Docker 호환 + root 권한 없이 실행(rootless). 보안이 중요한 환경 권장.
핵심 요소
런타임별 기능
- Kubernetes: 노드 상태 모니터링(Ready/NotReady), 네임스페이스 관리(클러스터 리소스 논리 분리), 리소스 사용량 확인(별도 설치 불요).
- Docker/Podman: 컨테이너 관리(시작/중지/재시작), 이미지 관리(정리로 디스크 확보), 볼륨 관리.
런타임 목록
등록된 런타임을 이름, 타입(Kubernetes/Docker/Podman), 노드 수(K8s), 건강 상태로 표시합니다(상태 값은 상태 사전 참고). 이름 클릭 시 상세 이동, 톱니바퀴 아이콘으로 설정 변경, 삭제로 등록 해제.
상세 페이지 탭
- Kubernetes (7개 탭): 개요 / 노드 목록 / 런타임 환경 / 설정·시크릿 관리(네임스페이스 단위 ConfigMap·Secret 조회·편집, 관리 권한 필요) / 실시간 모니터링 / 인증서 관리 / 권한 관리(RBAC).
- Docker·Podman (3개 탭): 개요 / 런타임 환경 / 실시간 모니터링.











사용 방법
Kubernetes 클러스터 등록
내부 클러스터는 KIOPS가 관리하는 클러스터로, 장비 관리에 등록된 서버에서 K8s가 실행 중인 경우입니다. 런타임 추가 → Kubernetes → 내부 클러스터 → 마스터 노드 장비 선택 순으로 진행합니다. kubeconfig는 자동으로 감지되며, 감지되지 않으면 경로를 직접 입력합니다(기본값 ~/.kube/config). 마지막으로 연결 테스트를 거쳐 저장합니다.
외부 클러스터는 이미 운영 중인 EKS·GKE·자체 구축 클러스터를 연결하는 경우입니다. 런타임 추가 → Kubernetes → 외부 클러스터 순으로 들어갑니다. VPN이 걸려 있으면 연결 방식 선택 모달이 열리고, 경로가 하나뿐이면 모달 없이 바로 연결됩니다. 이어서 kubeconfig를 업로드하거나 붙여넣고, 컨텍스트가 여러 개면 하나를 선택합니다. 마지막으로 연결 테스트를 거쳐 저장합니다.
kubeconfig에는 클러스터 접근 인증 정보가 포함됩니다. 유출 시 무단 접근될 수 있으니 안전하게 관리하세요.
Docker / Podman 런타임 등록
런타임 추가 → Docker(또는 Podman) → 호스트 장비 선택 순으로 진행한 뒤, 소켓 경로를 확인하고 연결 테스트를 거쳐 저장합니다. 소켓 경로 기본값은 Docker가 /var/run/docker.sock(원격은 tcp://192.168.1.100:2375), Podman이 /run/podman/podman.sock 입니다.
연결 전 확인 — Kubernetes는 API 서버(기본 포트 6443)에 네트워크 접근이 가능해야 하고, Docker/Podman은 소켓 파일에 대한 읽기/쓰기 권한이 필요합니다.
리소스 사용량 확인 (Kubernetes)
노드·파드의 CPU·메모리·네트워크·디스크 사용량은 K8s 상세 → 실시간 모니터링 탭에서 확인합니다. kubelet 내장 메트릭을 직접 읽으므로 설치 절차가 없습니다. HPA를 쓰려면 클러스터에 metrics-server가 별도로 필요합니다 — 파드 리소스 메트릭 참고.
자주 쓰는 바로가기
- 런타임 설정 변경: 목록 → 대상 런타임의 톱니바퀴 아이콘.
- 외부 Kubernetes 연결: 런타임 추가 → Kubernetes → 외부 클러스터.
- 인증서 갱신: K8s 상세 → 인증서 관리 탭 → 대상 인증서 갱신.
연결 방식 (VPN / 직접 SSH)
런타임 등록·연결 테스트, 외부 클러스터 가져오기, 배포·운영 등 SSH 명령이 필요한 작업을 시작하면 KIOPS가 대상의 접속 경로를 판단합니다. 경로가 하나뿐이면 자동 직접 연결, 직접·VPN이 모두 가능하면 연결 방식 선택 모달이 표시됩니다.

- VPN: VPN 터널로 접속. 활성 세션이 없으면 빠른 연결 모달이 자동으로 떠 연결을 유도하며, 대상 IP가 AllowedIPs 범위 밖이면 오류 메시지로 알립니다(모달이 뜰 때 활성 세션이 있으면 VPN 기본 선택).
- 직접 SSH: VPN 없이 등록된 다중 홉(점프 서버 → 타겟)을 그대로 사용.
과거의 자동/VPN/직접 SSH 3모드는 VPN / 직접 SSH 2종으로 정리되었습니다.
저장된 SSH 자격증명이 있으면 KIOPS가 자동으로 사용해 별도 입력 없이 연결됩니다. 없거나 잘못되면 등록 장비는 [장비 관리]의 편집 화면으로 이동해 인증을 수정하도록 안내하고(인증 단일 관리 지점), 미등록 대상이거나 일부 마법사 흐름에서는 원격 접속 설정 모달에서 호스트·포트·사용자명·인증 방식(비밀번호/SSH 키)을 그 자리에서 입력합니다. 입력 자격증명은 브라우저가 아니라 KIOPS 서버에 암호화 저장되어 다음 연결에 재사용됩니다.

VPN 활성 시 점프 서버 홉 자동 우회 — 활성 VPN 세션이 있고 대상 IP가 VPN의 AllowedIPs에 포함되면 KIOPS는 등록된 점프 서버 홉을 건너뛰고 타겟 서버(또는 API Server) SSH 정보만으로 직접 접속합니다. 외부 클러스터 등록 시에도 점프 서버나 SSH 터널 호스트를 따로 지정할 필요가 없습니다 — VPN이 게이트웨이 역할을 대체합니다. 상세 동작 원칙과 endpoint 일치 조건은 VPN 설정 → 연결 방식 문서를 참고하세요.