반응형
1. 개념
- 디플로이먼트, 레플리카셋 등 기본적으로 정의된 리소스 외에 Custom Resource를 활용하여 관리자가 원하는 리소스를 정의하고 사용 가능
2. Custom Resource 생성
- crd 생성
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: internals.datasets.kodekloud.com
spec:
group: datasets.kodekloud.com
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
internalLoad:
type: string
range:
type: integer
percentage:
type: string
scope: Namespaced
names:
plural: internals
singular: internal
kind: Internal
shortNames:
- int
- .metadata.name : crd의 이름. plural+group의 조합으로 구성
- .spec.group : API 이름
- .spec.versions.name : API 버전
- .spec.versions.schema.openAPIV3Schema.properties.spec.properties : crd에서 요구하는 값
- .spec.scope : crd 적용 범위. Namespaced 또는 Cluster
- .spec.names.plural : URL로 호출 시 사용할 alias
- .spec.names.singular : CLI로 핸들링 시 사용할 alias
- .spec.names.kind : crd 매니페스트 생성 시 기입할 kind. 일반적으로 singular를 카멜케이스 형식으로 작성
- .spec.names.shortNames : crd의 단축어
3. Custom Resource 사용
- 생성한 crd에 맞춰 리소스 생성
kind: Internal
apiVersion: datasets.kodekloud.com/v1
metadata:
name: crd-test-internal
namespace: default
spec:
internalLoad: "high"
range: 80
percentage: "50"
- .apiVersion : .spec.group/.spec.versions.name
- .spec : .spec.versions.schema.openAPIV3Schema.properties.spec.properties에 정의한 값
4. Custom Resource 핸들링
- k get crd : Custom Resource 목록 확인
- k describe crd [crd_name] : Custom Resource 세부 정보 확인
- k delete crd [crd_name] : Custom Resource 삭제
- k get [shortNames] : crd를 통해 생성한 리소스 확인
반응형
'Kubernetes' 카테고리의 다른 글
Kubernetes 보안 기초 (0) | 2024.02.28 |
---|---|
Kubernetes Blue·Green / Canary 배포 방법 (0) | 2023.03.16 |
Kubernetes Admission Controller(Mutating / Validating) 개념 및 설정 (0) | 2023.03.16 |
Kubernetes Statefulset 개념 및 설정 (0) | 2023.03.16 |
Kubernetes Job, CronJob 개념 및 설정 (0) | 2023.03.16 |