본문 바로가기

Kubernetes

[Kubernetes] API version

728x90
반응형

API version

 -  alpha → beta → stable

 - kubernetes Object 정의 시 apiVersion이 필요

 - kubernetes가 update 하는 API가 있으면 새로운 API가 생성됨

 

API Object의 종류 및 버전

 - Deployment                apps/v1

 - Pod                             v1

 - ReplicaSet                  apps/v1

 - ReplicationController  v1

 - Service                        v1

 - PersistentVolume        v1

 

yaml 파일에 API version을 다르게 설정할 경우 아래와 같은 에러가 발생한다.

apiVersion: apps/v1            #Pod의 apiVersion은 v1
kind: Pod
metadata:
  name: mypod
  namespace: orange
spec:
  containers:
  - name: nginx
    image: nginx:1.14
    ports:
    - containerPort: 80
      containerPort: 443

error: unable to recognize "nginx.yaml": no matches for kind "Pod" in version "app/v1"

 

모든 리소스의 apiVersion을 외울수 없기 때문에 kubectl의 explain 명령어를 통해 리소스의 Documentation을 출력하여 apiVersion을 확인한다.

 

# kubectl explain pods

 

    

 

[참고]

- https://www.youtube.com/watch?v=9kk_C4nUmWc 

728x90
반응형