설치 진단 스크립트 사용 가이드
개요
Kubernetes 클러스터의 상태를 점검하고 특히 RBI(Remote Browser Isolation) 관련 구성 요소의 상태를 진단하는 스크립트입니다. 이 스크립트는 K3s 또는 RKE2 서비스 상태, 노드 상태, 시스템 파드, 네임스페이스, Deployment, 서비스, Ingress 등 다양한 Kubernetes 리소스의 상태를 확인합니다.
실행 환경
- 운영체제: Linux (Ubuntu, Debian, CentOS, RHEL, Fedora, Alpine 지원)
- 실행 위치: Kubernetes 클러스터의 마스터 노드 또는 kubectl이 구성된 관리 시스템
- 필요 권한:
- kubectl 명령어 실행 권한
- 일부 네트워크 테스트를 위한 sudo 권한
- UDP 포트 바인딩 권한
- 네트워크 요구사항:
- 클러스터 내부 네트워크 접근
- STUN 서버 접근 (UDP)
- WebRTC UDP 포트 범위 접근
사전 요구 사항
- Kubernetes 클러스터 (K3s 또는 RKE2)
- kubectl 명령어 설치 및 구성
- 관리자 권한 (일부 기능에 필요)
- netcat (UDP 포트 테스트에 필요)
설치 방법
- 스크립트 파일을 다운로드합니다.
- 실행 권한을 부여합니다:
chmod +x checkgate.sh
사용법
스크립트는 다음과 같은 방식으로 실행할 수 있습니다:
./checkgate.sh [옵션]
옵션
all: 모든 기능을 실행합니다.rbi: RBI 관련 기능만 실행합니다.[네임스페이스 이름]: 지정한 네임스페이스의 상태만 점검합니다.
예 시
-
모든 기능 실행:
./checkgate.sh all -
RBI 관련 기능만 실행:
./checkgate.sh rbi -
특정 네임스페이스 점검:
./checkgate.sh kube-system -
옵션 없이 실행 (네임스페이스 목록 표시):
./checkgate.sh
주요 기능
기본 시스템 점검
- K3s 또는 RKE2 서비스 상태 확인
- 노드 상태 확인
- 시스템 파드 상태 확인
- 네임스페이스 상태 확인
Kubernetes 리소스 점검
- Deployment 상태 확인
- 서비스 상태 확인
- Ingress 상태 확인
- 특정 네임스페이스의 모든 리소스 상태 확인
RBI 관련 점검
- webiso2 및 shieldgate 네임스페이스 리소스 점검
- STUN 서버 연결 상태 점검
- WebRTC UDP 포트 범위 확인 및 테스트
출력 정보
스크립트는 실행 시 로그 파일을 생성합니다. 로그 파일 이름은 checkgate_YYYYMMDD_HHMMSS.log 형식으로 생성됩니다. 모든 출력은 터미널과 로그 파일에 동시에 저장됩니다.
문제 해결
- 스크립트 실행 중 오류가 발생하면 로그 파일을 확인하세요.
- 일부 기능은 관리자 권한이 필요할 수 있습니다. 필요한 경우
sudo를 사용하여 실행하세요. - netcat이 설치되어 있지 않은 경우, 스크립트는 자동으로 설치를 시도합니다.
- UDP 포트 테스트 실패 시 방화벽 설정을 확인하세요.
- STUN 서버 연결 실패 시 네트워크 연결 및 DNS 설정을 확인하세요.
주의 사항
- 일부 테스트는 클러스터 리소스에 부하를 줄 수 있으므로 프로덕션 환경에서는 주의해서 사용하세요.
- UDP 포트 테스트는 방화벽 설정에 따라 결과가 달라질 수 있습니다.
- 외부 네트워크 테스트는 네트워크 환경에 따라 결과가 달라질 수 있습니다.
- 관리자 권한이 필요한 명령어는 시스템 보안 정책에 따라 제한될 수 있습니다.