반응형
예를 들어 kubernetes에서 돌고있는 pod의 특정 정보를 뽑아내야 한다고 하자.
추출할 정보 예시:
1. deployment로 배포한 pod의 deployment 이름
2. 배포한 pod의 개수(replica)
3. 컨테이너 각각의 이름, 리소스
kubectl get deployments -o json | jq -c '
.items[] |
{
name: .metadata.name,
newReplicaSet: .status.replicas,
containers: [
.spec.template.spec.containers[] |
{name, resources: .resources}
]
}
'
필요한 필드값을 명시하면 된다.
결괴 예시:
web deployment로 만들어진 pod는 6개, pod 안의 컨테이너는 각각 nginx와 web-service 라는 이미지로 만들어졌으며 리소스는 다음과 같다.
was deployment로 만들어진 pod는 2개, pod 안의 컨테이너는 각각 tomcat과 was-service 라는 이미지로 만들어졌으며 리소스는 다음과 같다.
{"name":"web","newReplicaSet":6,"containers":[{"name":"nginx","resources":{"limits":{"cpu":"100m","memory":"100Mi"},"requests":{"cpu":"100m","memory":"100Mi"}}},{"name":"web-server","resources":{"limits":{"cpu":"1","memory":"1000Mi"},"requests":{"cpu":"100m","memory":"500Mi"}}}]}
{"name":"was","newReplicaSet":2,"containers":[{"name":"tomcat","resources":{"limits":{"cpu":"100m","memory":"100Mi"},"requests":{"cpu":"100m","memory":"100Mi"}}},{"name":"was-server","resources":{"limits":{"cpu":"1","memory":"1000Mi"},"requests":{"cpu":"100m","memory":"500Mi"}}}]}
이런식으로 필요한 정보만 추출할 수 있다.
만약 한 줄로 출력하기를 원하지 않는다면 -c 옵션을 제외하면 된다.
kubectl get deployments -o json | jq
반응형
'Docker & Kubernetes > 쿠버네티스' 카테고리의 다른 글
ubuntu에 쿠버네티스 설치하는 방법 (0) | 2024.12.02 |
---|---|
Kubernetes 컨테이너 런타임 추천(containerd, CRI-O, Docker Engine) (0) | 2024.11.20 |
[kubernetes] kubectl 축약 & 명령어 자동완성 (0) | 2024.01.09 |
multi control plane: 클러스터에 여러개의 마스터 노드 구성 (0) | 2024.01.08 |
Kubeadm으로 k8s 설치하기 (2) | 2024.01.05 |