https://www.notion.so/K8s-Apiversion-a7c2c8da3e184d659175d191820db1e0
왜 api버전이 바뀌어 있을까 ?
머선129
- hpa autoscaling v2beta2버전으로 배포한 어느날 수정을 위해 k edit hpa -n ns hpa-name 명령어로 조회한 순간 apiversion이 autoscaling/v1으로 변경된것을 확인했다.
- 어찌된 일일까 ?
출처
```java
To demonstrate the general process, here is a (hypothetical) example:
1. A user POSTs a Pod object to /api/v7beta1/...
2. The JSON is unmarshalled into a v7beta1.Pod structure
3. Default values are applied to the v7beta1.Pod
4. The v7beta1.Pod is converted to an api.Pod structure
5. The api.Pod is validated, and any errors are returned to the user
6. The api.Pod is converted to a v6.Pod (because v6 is the latest stable version)
7. The v6.Pod is marshalled into JSON and written to etcd
```
- 공식문서에 보면 beta버전으로 등록할 경우 베타버전으로 등록되지않고 최신안정화버전으로 변경되어 등록된 후 etcd에 저장된다.
Now that we have the Pod object stored, a user can GET that object in any supported api version. For example:
1. A user GETs the Pod from /api/v5/...
2. The JSON is read from etcd and unmarshalled into a v6.Pod structure
3. Default values are applied to the v6.Pod
4. The v6.Pod is converted to an api.Pod structure
5. The api.Pod is converted to a v5.Pod structure
6. The v5.Pod is marshalled into JSON and sent to the user
- 호출할 경우 지원되는 모든버전으로 호출할수 있습니다.
이런 이유로 v2beta2로 등록한 autoscaling이 버전없이 조회할경우 etcd에 저장된 v1버전으로 조회가 된것.
'개발 > Kubernetes' 카테고리의 다른 글
컨테이너 런타임 (0) | 2021.03.07 |
---|---|
Mutating Webhook 를 이용한 pod injection (0) | 2021.02.16 |
쿠버네티스의 클러스터 구성 (0) | 2021.01.28 |
k8s 에서 spring boot jib image command 수정 (0) | 2020.12.24 |
클러스터 구성 (0) | 2020.09.13 |