API 버전, 그룹, Deprecation 작업

1 개요[ | ]

API 버전, 그룹, Deprecation 작업

2 시나리오[ | ]

Api 버전 얻기
  • 3개의 줄을 가진 /root/versions 파일 생성. 단, 각 줄은 설치된 K8s 서버 버전의 숫자를 나누어 기입
    • Major
    • Minor
    • Patch
Api 그룹 식별
  • Deployment들의 Api 그룹을 /root/group에 쓰기
Deprecated CronJob 리소스 변환
  • /apps/cronjob.yaml에 있는 CronJob 파일은 deprecated Api 버전을 사용한다.
  • non deprecated 버전을 사용하도록 파일 업데이트
Deprecated FlowSchema 리소스 변환
  • /apps/flowschema.yaml에 있는 FlowSchema 파일은 deprecated Api 버전을 사용한다.
  • non deprecated 버전을 사용하도록 파일 업데이트

3 실습[ | ]

Api 버전 얻기
$ k version
Client Version: v1.30.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0
$ vi /root/versions
1
30
0
Api 그룹 식별
$ k explain deploy
GROUP:      apps
KIND:       Deployment
VERSION:    v1
...
$ echo apps > /root/group
Deprecated CronJob 리소스 변환
$ k create -f /apps/cronjob.yaml
error: resource mapping not found for name: "backup" namespace: "" from "/apps/cronjob.yaml": no matches for kind "CronJob" in version "batch/v1beta1"
ensure CRDs are installed first
$ vi /apps/cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: backup
...
Deprecated FlowSchema 리소스 변환
$ k create -f /apps/flowschema.yaml 
error: resource mapping not found for name: "health-for-strangers" namespace: "" from "/apps/flowschema.yaml": no matches for kind "FlowSchema" in version "flowcontrol.apiserver.k8s.io/v1beta2"
ensure CRDs are installed first
 $ k api-resources | grep flowschema 
flowschemas                                      flowcontrol.apiserver.k8s.io/v1   false        FlowSchema
$ vi /apps/flowschema.yaml
apiVersion: flowcontrol.apiserver.k8s.io/v1
kind: FlowSchema
metadata:
  name: health-for-strangers
...
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}