컨테이너, 포드, 노드 및 클러스터에 들어오고 나가는 모든 트래픽과 페이로드를 캡처하고 모니터링하는 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*)”
- Application container이전에 실행되는 특수 컨테이너 → app.Container 실행환경 준비
- 다양한 목적으로 사용 가능하지만 Application container 가 원하는 방향으로 실행 될수 준비하는것이 주목적 →메인프로세스 환경의 초기화
- App.Container 소스코드 변경 할 필요 없이 환경을 구성가능하게 함
- Pod에 관련된 모든 네트워킹 및 스트리지가 프로비저닝 된 후에 실행
- Pod의 initial container가 실피시 kublet은 성공 할 때 까지 init.Container를 반복적으로 재시작
- 단, Pod restartPolicy: Never가 지정되었을땐, init.Container가 실패하면 Kubernetes는 전체 Pod를 실패 처리 후 종료
- MSA 소스로부터 최신 구성 파일을 가져오는 작업 → App.Container는 항상 최신 구성이 가능 해짐
- DB init 또는 초기(기본) 데이터를 채우는 작업 구성(스키마 생성, 데이터 마이그레이션)을 처리하여 DB가 App.Container와 상호 작용 준비가 되었는지 확인 할 수 있음 → App.Container 경량화
- Local volume 영역을 생성
- Init.Container는 curl로 외부 리소스를 받아 해당데이터를 Local volume에 기록
- App.Container는 시작과 함게 Local volume에서 필요한 데이터를 읽어 작동