Sandbox key 정보로 Pod안의 Container 찾기 : 첫번째 방법
Sandbox key 정보로 Pod안의 Container 찾기 관련 글 목록
Sandbox key 정보로 Pod안의 Container 찾기 : 환경구성
Sandbox key 정보로 Pod안의 Container 찾기 : 첫번째 방법
Sandbox key 정보로 Pod안의 Container 찾기 : 두번째 방법
config.v2.json 파일과 kubectl 명령으로 Container ID를 찾아보기
목표
Sandbox Key, Pod의 IP, Container의 Port
3가지 정보만 가지고 Container ID를 찾아보기
즉 어떤 Pod안에 있는 어떤 Container인지 확인해보기
이전 환경구성에서 확인한 Mysql Pod 정보를 가지고 시작함.
Sandbox Key : "/var/run/docker/netns/2b4a6689e6ef"
IP : 10.244.1.48 (pod 의 ip)
Port : 3306 (mysql container port)
1. 각 worker node로 접속해서 Sandbox Key에 해당하는 Container를 찾음
1.1. worker node 가 몇개인지 확인
명령어 : kubectl get nodes -o wide
확인 결과 : 1개의 master node 와 2개의 worker node IP확인가능
worker node one : 10.2.13.128
worker node two : 10.2.13.129
1.2. 확인한 worker node 로 접속
worker node one 으로 접속
경로 이동 : /var/lib/docker/containers
1.3. 조회되는 모든 directory 의 config.v2.json 파일 정보 확인
많은 디렉터리의 config.v2.json 내용 중 Sandbox Key 정보를 확인해서
사전에 받은 Sandbox Key 정보인
Sandbox Key : "/var/run/docker/netns/2b4a6689e6ef" 와 일치되는 값을 확인
일치되는 값을 찾음
해당 단계까지가 찾고자 하는 Container 가 있는 Pod 의 Pause Container 정보를 찾은 상태
[이 단계에서 확인한 정보] workerNode : worker one workerNode IP : 10.2.13.128 [지금까지 단계에서 확인한 정보] workerNode : worker one workerNode IP : 10.2.13.128 |
1.4. 일치되는 값을 찾았다면 해당 Container가 있는 Pod 정보를 알아내야함
"metadata":{\"annotations\":{},\"labels\":{\"app\":\"mysql\"},\"name\":\"iksoon-pod-mysql\",\"namespace\":\"iksoon-park\"}
metadata 항목에서
name : Pod의 이름 확인
namespace : NameSpace 이름 확인
kubernetes cluster에서 namespace 안의 pod 이름은 유니크한 값임.
서로 다른 namespace 간에는 동일한 이름의 pod 가 존재할 수 있음으로
Pod Name과 Pod가 생성되는 NameSpace Name 이 2가지를 확인해야함
[이 단계에서 확인한 정보] Pod Name : iksoon-pod-mysql NameSpace : iksoon-park [지금까지 단계에서 확인한 정보] workerNode : worker Node one workerNode IP : 10.2.13.128 Pod Name : iksoon-pod-mysql NameSpace : iksoon-park |
1.5. kubectl (혹은 curl, API)로 Pod 정보 확인
상위에서 확인한 pod name과 namespace name 으로 Pod 정보 확인
명령어 : kubectl describe pod iksoon-pod-mysql -n iksoon-park
1. 사전에 알고있던 IP와 해당 Pod IP가 일치하는지 확인 (IP : 10.244.1.48 (pod 의 ip))
2. Port 정보에 해당하는 Pod 내부 container 확인 (Port : 3306 (mysql container port))
3. 찾고자 하는 Container ID 확인 ( 467ea5695824ab2f47c64a9d3bb55005272c2186dbc8f33035a0867617411d0b )
[이 단계에서 확인한 정보] Container ID : 467ea5695824ab2f47c64a9d3bb55005272c2186dbc8f33035a0867617411d0b [지금까지 단계에서 확인한 정보] workerNode : worker Node one workerNode IP : 10.2.13.128 Pod Name : iksoon-pod-mysql NameSpace : iksoon-park Container ID : 467ea5695824ab2f47c64a9d3bb55005272c2186dbc8f33035a0867617411d0b |
이와같은 과정으로 Container ID를 찾아냄
제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!
'Kubernetes > Kubernetes 이론' 카테고리의 다른 글
Kubernetes StatefulSet Controller (1) | 2020.12.03 |
---|---|
Sandbox key 정보로 Pod안의 Container 찾기(3) : 두번째 방법 (0) | 2020.11.07 |
Sandbox key 정보로 Pod안의 Container 찾기(1) : 환경구성 (0) | 2020.11.07 |
Kubernetes Version upgrade (7) | 2020.11.07 |
Kubernetes hyperkube container (0) | 2020.11.05 |