링크된 문서
Kubernetes and OpenShift
Kubernetes and OpenShift
Kubernetes and OpenShift MCP 서버는 쿠버네티스 클러스터와 그 위에 구축된 Red Hat OpenShift 플랫폼을 관리하기 위한 강력한 도구 모음을 제공합니다. 이 MCP 서버는 기본 쿠버네티스 리소스에 대한 표준 CRUD 작업뿐만 아니라 OpenShift의 추가 기능에 대한 지원도 포함하고 있어, 클라우드 네이티브 애플리케이션의 배포와 관리를 간소화합니다.
특징
- 쿠버네티스 리소스 관리: 모든 쿠버네티스 리소스(파드, 디플로이먼트, 서비스, 컨피그맵 등)에 대한 포괄적인 CRUD 작업 지원
- OpenShift 확장 지원: OpenShift 특화 리소스(Route, BuildConfig, DeploymentConfig 등)에 대한 접근 및 관리 기능
- 멀티 클러스터 관리: 여러 쿠버네티스/OpenShift 클러스터를 동시에 관리할 수 있는 능력
- 실시간 모니터링: 클러스터 상태, 노드 리소스 사용량, 포드 상태 등의 실시간 모니터링 기능
- 로그 및 이벤트 분석: 애플리케이션 및 시스템 로그, 이벤트 조회 및 분석 기능
- 보안 접근 제어: RBAC(Role-Based Access Control)를 통한 세밀한 권한 관리
- 자동화 워크플로우: 일반적인 배포 및 관리 작업을 자동화하는 템플릿 및 워크플로우
API
리소스
- 클러스터: 쿠버네티스/OpenShift 클러스터 연결 정보
- 네임스페이스: 쿠버네티스/OpenShift 네임스페이스 목록
- 포드: 실행 중인 컨테이너 그룹
- 서비스: 네트워크 서비스 엔드포인트
- Route: OpenShift 라우트 (외부 접근 URL)
도구
cluster_info
현재 연결된 클러스터에 대한 상세 정보를 제공합니다. - 입력: 없음 - 출력: 클러스터 버전, 상태, 노드 수 등의 정보
list_namespaces
클러스터의 네임스페이스 목록을 반환합니다.
- 입력:
- filter: 선택적 필터링 기준
- 출력: 네임스페이스 목록 및 상태
get_pods
특정 네임스페이스 또는 모든 네임스페이스의 포드 목록을 조회합니다.
- 입력:
- namespace: 네임스페이스 이름 (선택 사항)
- label_selector: 레이블 기반 필터 (선택 사항)
- 출력: 포드 목록, 상태, 리소스 사용량
create_deployment
새로운 디플로이먼트를 생성합니다.
- 입력:
- namespace: 네임스페이스 이름
- name: 디플로이먼트 이름
- image: 컨테이너 이미지
- replicas: 복제본 수
- env_vars: 환경 변수 맵 (선택 사항)
- resources: 리소스 제한 및 요청 (선택 사항)
scale_deployment
디플로이먼트의 복제본 수를 조정합니다.
- 입력:
- namespace: 네임스페이스 이름
- name: 디플로이먼트 이름
- replicas: 새로운 복제본 수
get_logs
특정 포드의 로그를 조회합니다.
- 입력:
- namespace: 네임스페이스 이름
- pod_name: 포드 이름
- container: 컨테이너 이름 (선택 사항)
- tail_lines: 조회할 로그 라인 수 (선택 사항)
exec_command
포드 내 컨테이너에서 명령을 실행합니다.
- 입력:
- namespace: 네임스페이스 이름
- pod_name: 포드 이름
- container: 컨테이너 이름 (선택 사항)
- command: 실행할 명령어 배열
create_route (OpenShift 전용)
서비스에 대한 외부 라우트를 생성합니다.
- 입력:
- namespace: 네임스페이스 이름
- name: 라우트 이름
- service_name: 대상 서비스 이름
- port: 서비스 포트
- host: 호스트 이름 (선택 사항)
- tls: TLS 구성 (선택 사항)
start_build (OpenShift 전용)
BuildConfig에서 새로운 빌드를 시작합니다.
- 입력:
- namespace: 네임스페이스 이름
- build_config: BuildConfig 이름
사용 방법
설치
# npm을 통한 설치
npm install -g kube-openshift-mcp
# 또는 소스에서 빌드
git clone https://github.com/example/kube-openshift-mcp.git
cd kube-openshift-mcp
npm install
npm run build
구성
MCP 클라이언트 구성 예시:
{
"mcpServers": {
"kubernetes-openshift": {
"command": "kube-openshift-mcp",
"args": ["--kubeconfig=/path/to/kubeconfig"],
"env": {
"OPENSHIFT_TOKEN": "your-openshift-token"
}
}
}
}
인증
이 MCP 서버는 여러 인증 방법을 지원합니다:
- kubeconfig 파일: 표준 쿠버네티스 kubeconfig 파일을 이용한 인증
- 서비스 계정 토큰: 쿠버네티스/OpenShift 서비스 계정 토큰을 사용한 인증
- OpenShift OAuth: Red Hat OpenShift의 OAuth 인증 지원
실제 사용 사례
- 애플리케이션 배포 및 관리: 개발 환경에서 프로덕션 환경까지 애플리케이션의 전체 수명 주기 관리
- 클러스터 상태 모니터링: 클러스터 건강 상태, 리소스 사용량, 이벤트 등의 실시간 모니터링
- 문제 해결: 애플리케이션 로그 분석, 문제 발생 시 포드 내 명령 실행을 통한 디버깅
- CI/CD 통합: 지속적 통합 및 배포 파이프라인과의 통합을 통한 자동화된 애플리케이션 업데이트
연결된 구성 요소
- Docker - 컨테이너 이미지 관리 및 빌드
- Git - 소스 코드 관리 및 CI/CD 통합
- Kubernetes - 기본 쿠버네티스 기능
- Terminal-Control - 터미널 명령 실행 및 관리