Quiz: sidecar lifecycle and resources
한국어 원문으로 표시합니다.
proxy.istio.io/config 주석은 주입 결과에서 어떤 모습이 되나?
- istio-proxy 컨테이너의 명령줄 인자로 하나씩 펼쳐진다
- 파드에 붙는 ConfigMap 볼륨으로 마운트된다
- istio-init 컨테이너의 환경변수로 옮겨 간다
- istio-proxy 의 환경변수 PROXY_CONFIG 에 JSON 으로 들어간다
holdApplicationUntilProxyStarts: true 를 켜면 주입 결과에서 무엇이 달라지나?
- 앱 컨테이너에 프록시를 기다리는 초기화 스크립트가 추가된다
- istio-proxy 가 컨테이너 목록 맨 앞으로 오고 postStart 훅이 붙는다
- istio-init 이 프록시가 준비될 때까지 종료하지 않는다
- 파드의 readinessProbe 가 프록시 포트를 보도록 바뀐다
Job 파드에 프록시가 일반 컨테이너로 들어가면 무슨 일이 생기나?
- 본체가 끝나면 프록시도 함께 종료되어 문제가 없다
- 쿠버네티스가 프록시를 무시하고 Job 을 완료로 표시한다
- 본체 작업이 끝나도 프록시가 살아 있어 파드가 완료로 넘어가지 못한다
- Job 컨트롤러가 파드를 재시작해 작업이 두 번 실행된다
sidecar.istio.io/nativeSidecar: "true" 를 붙이면 주입 결과가 어떻게 바뀌나?
- istio-proxy 가 initContainers 로 옮겨 가고 restartPolicy Always 를 받는다
- istio-proxy 가 사라지고 노드의 공유 프록시를 쓰게 된다
- istio-init 이 사라지고 프록시가 iptables 규칙까지 직접 건다
- 프록시 컨테이너에 preStop 훅이 붙어 본체보다 늦게 종료된다
traffic.sidecar.istio.io/excludeOutboundPorts 주석은 어디에 반영되나?
- istio-proxy 의 환경변수에 제외 목록으로 들어간다
- istio-init 컨테이너의 명령줄 인자로 내려간다
- 파드의 네트워크 정책 오브젝트가 함께 만들어진다
- istio-proxy 의 리스너 설정에서 해당 포트가 빠진다
프록시 자원 주석을 Deployment 의 metadata.annotations 에 붙이면?
- Deployment 전체에 적용되어 모든 파드가 값을 받는다
- 주입기가 오류를 내고 매니페스트를 거절한다
- kubectl 이 알 수 없는 주석이라며 경고를 낸다
- 문법은 맞지만 아무 일도 일어나지 않는다