6.8.3.3. 워크로드 리소스 매핑


참고
  • 워크로드 리소스 매핑은 API 그룹 binding.operators.coreos.comservicebinding.io 에 대해 ServiceBinding CR(사용자 정의 리소스)의 보조 워크로드에 사용할 수 있습니다.
  • servicebinding.io API 그룹에서만 ClusterWorkloadResourceMapping 리소스를 정의해야 합니다. 그러나 ClusterWorkloadResourceMapping 리소스는 binding.operators.coreos.comservicebinding.io API 그룹 모두에서 ServiceBinding 리소스와 상호 작용합니다.

컨테이너 경로에 구성 방법을 사용하여 사용자 정의 경로 위치를 구성할 수 없는 경우 바인딩 데이터를 예상해야 하는 위치를 정확하게 정의할 수 있습니다. servicebinding.io API 그룹에서 ClusterWorkloadResourceMapping 리소스를 정의하여 지정된 워크로드에 대한 바인딩 데이터를 프로젝트할 위치를 지정합니다.

다음 예제에서는 CronJob.knativech/v1 리소스에 대한 매핑을 정의하는 방법을 보여줍니다.

예: CronJob.knativech/v1 리소스 매핑

apiVersion: servicebinding.io/v1beta1
kind: ClusterWorkloadResourceMapping
metadata:
 name: cronjobs.batch 
1

spec:
  versions:
  - version: "v1" 
2

    annotations: .spec.jobTemplate.spec.template.metadata.annotations 
3

    containers:
    - path: .spec.jobTemplate.spec.template.spec.containers[*] 
4

    - path: .spec.jobTemplate.spec.template.spec.initContainers[*]
      name: .name 
5

      env: .env 
6

      volumeMounts: .volumeMounts 
7

    volumes: .spec.jobTemplate.spec.template.spec.volumes 
8

1
매핑된 워크로드 리소스의 plural.group 으로 자격을 부여해야 하는 ClusterWorkloadResourceMapping 리소스의 이름입니다.
2
매핑되는 리소스의 버전입니다. 지정되지 않은 버전은 "*" 와일드카드와 일치할 수 있습니다.
3
선택 사항: 고정된 JSONPath로 지정된 Pod의 .annotations 필드의 식별자입니다. 기본값은 .spec.template.spec.annotations 입니다.
4
Pod의 .containers.initContainers 필드의 식별자로 JSONPath로 지정됩니다. containers 필드에 항목이 정의되지 않은 경우 Service Binding Operator의 기본값은 .spec.template.spec.containers[*].spec.template.spec.initContainers[\*] 이며 다른 모든 필드는 기본값으로 설정됩니다. 그러나 항목을 지정하는 경우 .path 필드를 정의해야 합니다.
5
선택 사항: 고정된 JSONPath로 지정된 컨테이너의 .name 필드의 식별자입니다. 기본값은 .name 입니다.
6
선택 사항: 고정된 JSONPath로 지정된 컨테이너의 .env 필드의 식별자입니다. 기본값은 .env 입니다.
7
선택 사항: 고정된 JSONPath로 지정된 컨테이너의 .volumeMounts 필드의 식별자입니다. 기본값은 .volumeMounts 입니다.
8
선택 사항: 고정된 JSONPath로 지정된 Pod의 .volumes 필드의 식별자입니다. 기본값은 .spec.template.spec.volumes 입니다.
중요
  • 이 컨텍스트에서 고정된 JSONPath는 다음 작업만 허용하는 JSONPath grammar의 서브 세트입니다.

    • 필드 조회: .spec.template
    • 배열 인덱싱: .spec['template']

    다른 모든 작업은 허용되지 않습니다.

  • 이러한 필드의 대부분은 선택 사항입니다. 지정하지 않으면 Service Binding Operator는 PodSpec 리소스와 호환되는 기본값을 가정합니다.
  • Service Binding Operator를 사용하려면 이러한 각 필드가 Pod 배포의 해당 필드와 구조적으로 같아야 합니다. 예를 들어 워크로드 리소스의 .env 필드의 콘텐츠는 Pod 리소스의 .env 필드와 동일한 데이터 구조를 허용할 수 있어야 합니다. 그렇지 않으면 이러한 워크로드에 바인딩 데이터를 예상하면 Service Binding Operator에서 예기치 않은 동작이 발생할 수 있습니다.

binding.operators.coreos.com API 그룹과 관련된 동작

ClusterWorkloadResourceMapping 리소스가 binding.operators.coreos.com API 그룹에서 ServiceBinding 리소스와 상호 작용할 때 다음 동작을 기대할 수 있습니다.

  • bindAsFiles: false 플래그 값이 있는 ServiceBinding 리소스가 이러한 매핑 중 하나와 함께 생성되는 경우 해당 ClusterWorkloadResourceMapping 리소스에 지정된 각 경로 필드 아래의 .envFrom 필드에 환경 변수가 projected됩니다.
  • 클러스터 관리자는 바인딩 목적으로 ServiceBinding.bindings.coreos.com 리소스에서 ClusterWorkloadResourceMapping 리소스와 .spec.application.bindingPath.containersPath 필드를 모두 지정할 수 있습니다.

    Service Binding Operator는 ClusterWorkloadResourceMapping 리소스와 .spec.application.bindingPath.containersPath 필드 모두에 지정된 위치에 데이터를 바인딩하려고 합니다. 이 동작은 path: $containersPath 특성과 함께 기본값을 사용하는 기타 모든 값과 함께 해당 ClusterWorkloadResourceMapping 리소스에 컨테이너 항목을 추가하는 것과 동일합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동