Kubernetes 오브젝트는 etcd에 저장되는 JSON 객체. Kubernetes 공식 문서
Kubernetes에서 오브젝트는 클러스터의 상태를 정의하고 관리하기 위한 기본 단위입니다. 이러한 오브젝트는 etcd에 JSON 형식으로 저장됩니다. 이는 Kubernetes의 안정성과 확장성을 보장하는 데 중요한 역할을 합니다.
오브젝트의 정의
Kubernetes 오브젝트는 클러스터에서 관리되는 엔티티를 나타내며, API 서버를 통해 생성, 수정 및 조회할 수 있습니다. 각 오브젝트는 다음과 같은 필드를 포함하는 JSON 형식으로 표현됩니다:
apiVersion
: 오브젝트의 API 버전을 나타냅니다.kind
: 오브젝트의 유형을 나타냅니다 (예: Pod, Service, Deployment).metadata
: 이름, 네임스페이스, 레이블, 어노테이션 등의 메타데이터를 포함합니다.spec
: 오브젝트의 원하는 상태를 정의하는 스펙입니다.status
: 오브젝트의 현재 상태를 나타내며, 보통 시스템에 의해 자동으로 설정됩니다.
예를 들어, Pod 오브젝트의 JSON 표현은 다음과 같습니다:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "nginx-pod",
"namespace": "default",
"labels": {
"app": "nginx"
}
},
"spec": {
"containers": [
{
"name": "nginx",
"image": "nginx:1.14.2",
"ports": [
{
"containerPort": 80
}
]
}
]
},
"status": {
"phase": "Running"
}
}