メインコンテンツまでスキップ

설치 진단 스크립트 사용 가이드

개요

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 포트 테스트에 필요)

설치 방법

  1. 스크립트 파일을 다운로드합니다.
  2. 실행 권한을 부여합니다:
    chmod +x checkgate.sh

사용법

스크립트는 다음과 같은 방식으로 실행할 수 있습니다:

./checkgate.sh [옵션]

옵션

  • all: 모든 기능을 실행합니다.
  • rbi: RBI 관련 기능만 실행합니다.
  • [네임스페이스 이름]: 지정한 네임스페이스의 상태만 점검합니다.

예시

  1. 모든 기능 실행:

    ./checkgate.sh all
  2. RBI 관련 기능만 실행:

    ./checkgate.sh rbi
  3. 특정 네임스페이스 점검:

    ./checkgate.sh kube-system
  4. 옵션 없이 실행 (네임스페이스 목록 표시):

    ./checkgate.sh

주요 기능

기본 시스템 점검

  • K3s 또는 RKE2 서비스 상태 확인
  • 노드 상태 확인
  • 시스템 파드 상태 확인
  • 네임스페이스 상태 확인

Kubernetes 리소스 점검

  • Deployment 상태 확인
  • 서비스 상태 확인
  • Ingress 상태 확인
  • 특정 네임스페이스의 모든 리소스 상태 확인

RBI 관련 점검

  • webiso2 및 shieldgate 네임스페이스 리소스 점검
  • STUN 서버 연결 상태 점검
  • WebRTC UDP 포트 범위 확인 및 테스트

출력 정보

스크립트는 실행 시 로그 파일을 생성합니다. 로그 파일 이름은 checkgate_YYYYMMDD_HHMMSS.log 형식으로 생성됩니다. 모든 출력은 터미널과 로그 파일에 동시에 저장됩니다.

문제 해결

  • 스크립트 실행 중 오류가 발생하면 로그 파일을 확인하세요.
  • 일부 기능은 관리자 권한이 필요할 수 있습니다. 필요한 경우 sudo를 사용하여 실행하세요.
  • netcat이 설치되어 있지 않은 경우, 스크립트는 자동으로 설치를 시도합니다.
  • UDP 포트 테스트 실패 시 방화벽 설정을 확인하세요.
  • STUN 서버 연결 실패 시 네트워크 연결 및 DNS 설정을 확인하세요.

주의 사항

  • 일부 테스트는 클러스터 리소스에 부하를 줄 수 있으므로 프로덕션 환경에서는 주의해서 사용하세요.
  • UDP 포트 테스트는 방화벽 설정에 따라 결과가 달라질 수 있습니다.
  • 외부 네트워크 테스트는 네트워크 환경에 따라 결과가 달라질 수 있습니다.
  • 관리자 권한이 필요한 명령어는 시스템 보안 정책에 따라 제한될 수 있습니다.