Kubeshark - 트래픽 분석 도구
목차
컨테이너, 포드, 노드 및 클러스터에 들어오고 나가는 모든 트래픽과 페이로드를 캡처하고 모니터링하는 API 트래픽 분석기
내부 네트워크에 대한 실시간 프로토콜 가시성 제공
eBPF를 통해 구현, 커널 공관과 유저 공간의 모니터링을 통해 인사이트 제공
kprobe를 사용해 TCP 커넥션에 대한 정보(Source, Destination IP Port)를 수집(Trace)하여 Request/Reponse를 하나로 묶어 제공
실제 TCP 패킷은 PCAP 파일로 임시 저장하여 다운로드 가능
TLS로 암호화된 패킷은 평문으로 확인 가능
통신 간 발생하는 Request, Reponse Header 확인을 통한 애플리케이션 인증 문제확인
Network, Memory 자원을 많이 사용하므로 ks tab 명령 사용 시 대상을 정확히 지정하여 trace 하는 것을 권장
- ex : ks tab -n default “(calico\\* | myweb\\*)”설치
#설치
$ sh <(curl -Ls https://kubeshark.co/install)
🦈 Started to download Kubeshark
######################################################################################################################################################## 100.0%
⬇️ Kubeshark is downloaded into /home/kuber/dashboard_rbac/kubeshark
Do you want to install system-wide? Requires sudo 😇 (y/N)? y
[sudo] password for kuber:
Kubeshark is installed into /usr/local/bin/kubeshark
Do you want to add 'ks' alias for Kubeshark? (y/N)? y
✅ You can use the ks command now.
Please give us a star 🌟 on https://github.com/kubeshark/kubeshark if you ❤️ Kubeshark!
#실행
$ ks tab
#실행 후 맨아래서 확인 가능
... Kubeshark is available at: url=http://127.0.0.1:8899외부접속 설정
- 마스터 노드에서만 브라우저 접속가능
- HOME/.kubeshark/config.yaml 에 설정
- 4개 노드까지만 무료 사용가능
- 보안 취약 사용하지 않는걸 추천
- ks tap –proxy-host 0.0.0.0 을 통해 커맨드에서 바로 사용 가능
$ cd $HOME
$ mkdir .kubeshark
$ vi .kubeshark.config.yamltap:
proxy:
host: 127.0.0.1