20.2. 사용자 정의 리소스 정의 생성


사용자 정의 오브젝트를 생성하려면 먼저 CRD(사용자 정의 리소스 정의)를 생성해야 합니다.

참고

클러스터 관리자만 CRD를 생성할 수 있습니다.

절차

CRD를 생성하려면 다음을 수행합니다.

  1. 다음 예제의 필드가 포함된 YAML 파일을 생성합니다.

    사용자 정의 리소스 정의에 대한 YAML 파일의 예

    apiVersion: apiextensions.k8s.io/v1beta1 1
    kind: CustomResourceDefinition
    metadata:
      name: crontabs.stable.example.com 2
    spec:
      group: stable.example.com 3
      version: v1 4
      scope: Namespaced 5
      names:
        plural: crontabs 6
        singular: crontab 7
        kind: CronTab 8
        shortNames:
        - ct 9

    1
    apiextensions.k8s.io/v1beta1 API를 사용합니다.
    2
    정의의 이름을 지정합니다. groupplural 필드의 값을 사용하는 <plural-name><group> 형식이어야 합니다.
    3
    API의 그룹 이름을 지정합니다. API 그룹은 논리적으로 관련된 오브젝트의 컬렉션입니다. 예를 들어 Job 또는 ScheduledJob 과 같은 모든 배치 오브젝트는 배치 API 그룹(예: batch.api.example.com)에 있을 수 있습니다. 조직의 정규화된 도메인 이름을 사용하는 것이 좋습니다.
    4
    URL에 사용할 버전 이름을 지정합니다. 각 API 그룹은 여러 버전에 존재할 수 있습니다. 예: v1alpha,v1beta,v1.
    5
    특정 프로젝트(Namespaced) 또는 클러스터의 모든 프로젝트(Cluster)에서 사용자 정의 오브젝트를 사용할 수 있는지 지정합니다.
    6
    URL에서 사용할 복수형 이름을 지정합니다. plural 필드는 API URL의 리소스와 동일합니다.
    7
    CLI 및 디스플레이에서 별칭으로 사용할 단수형 이름을 지정합니다.
    8
    생성할 수 있는 오브젝트의 종류를 지정합니다. 유형은 CamelCase에 있을 수 있습니다.
    9
    CLI의 리소스와 일치하는 짧은 문자열을 지정합니다.
    참고

    기본적으로 사용자 정의 리소스 정의는 클러스터 범위이며 모든 프로젝트에서 사용할 수 있습니다.

  2. 오브젝트를 생성합니다.

    oc create -f <file-name>.yaml

    다음에 새 RESTful API 끝점이 생성됩니다.

    /apis/<spec:group>/<spec:version>/<scope>/*/<names-plural>/...

    예를 들어 예제 파일을 사용하면 다음 끝점이 생성됩니다.

    /apis/stable.example.com/v1/namespaces/*/crontabs/...

    이 끝점 URL을 사용하여 사용자 지정 오브젝트를 생성하고 관리할 수 있습니다. 오브젝트의 종류는 생성한 Custom Resource Definition 오브젝트의 spec.kind 필드를 기반으로 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.