15장. Pod Presets를 사용하여 포드에 정보 삽입


15.1. 개요

Pod 사전 설정은 Pod 에 사용자 지정 정보를 생성하는 대로 해당 정보를 삽입하는 오브젝트입니다.

중요

OpenShift Container Platform 3.7부터 Pod 사전 설정은 더 이상 지원되지 않습니다.

Pod 사전 설정 오브젝트를 사용하여 삽입할 수 있습니다.

개발자는 Pod 레이블이 PodPreset의 라벨 선택기와 일치하는지 확인하여 해당 정보를 Pod에 추가합니다. Pod의 레이블 은 Pod를 일치하는 라벨 선택기 가 있는 하나 이상의 Pod 사전 설정 오브젝트와 연결합니다.

개발자는 포드 사전 설정을 사용하여 Pod에서 사용할 서비스에 대한 세부 정보를 알 필요 없이 포드를 프로비저닝할 수 있습니다. 관리자는 개발자가 포드를 배포하지 않고 개발자의 구성 항목을 보이지 않게 유지할 수 있습니다. 예를 들어 관리자는 시크릿 및 환경 변수를 통해 데이터베이스의 이름, 사용자 이름 및 암호를 제공하는 Pod 사전 설정을 생성할 수 있습니다. 포드 개발자는 Pod의 모든 정보를 포함하는 데 사용할 레이블을 알고 있어야 합니다. 개발자는 Pod 사전 설정을 생성하고 동일한 모든 작업을 수행할 수도 있습니다. 예를 들어 개발자는 환경 변수를 여러 포드에 자동으로 삽입하는 사전 설정을 생성할 수 있습니다.

Pod 사전 설정이 Pod에 적용되면 OpenShift Container Platform은 Pod 사양을 수정하여 삽입 가능한 데이터를 추가하고 Pod 사양에서 사전 설정한 Pod에 의해 수정되었음을 표시합니다. 주석은 양식의 일부입니다.

Copy to Clipboard Toggle word wrap
podpreset.admission.kubernetes.io/<pod-preset name>: `resource version`

클러스터에서 Pod 사전 설정을 사용하려면 다음을 수행합니다.

  • 관리자는 /etc/origin/master/master -config.yaml 을 통해 Pod 사전 설정 승인 컨트롤러 플러그인을 활성화해야 합니다.
  • Pod 사전 설정자는 Pod 사전 설정을 통해 API 유형 settings.k8s.io/v1alpha1/podpreset 을 활성화하고 Pod 사전 설정 포드에 삽입 가능한 정보를 추가해야 합니다.

포드 생성에 오류가 발생하면 Pod가 사전 설정된 Pod의 삽입 리소스 없이 Pod가 생성됩니다.

Pod 사양에서 podpreset.admission.kubernetes.io/exclude: "true" 매개변수를 사용하여 Pod 사전 정의된 변경 사항으로 특정 Pod를 제외할 수 있습니다. 아래 Pod 사양 예를 참조하십시오.

참고

Pod Preset 기능은 서비스 카탈로그 가 설치된 경우에만 사용할 수 있습니다.

Pod 사전 설정 오브젝트 샘플

Copy to Clipboard Toggle word wrap
kind: PodPreset
apiVersion: settings.k8s.io/v1alpha1 
1

metadata:
  name: allow-database 
2

spec:
  selector:
    matchLabels:
      role: frontend 
3

  env:
    - name: DB_PORT 
4

      value: "6379" 
5

  envFrom:
    - configMapRef: 
6

      name: etcd-env-config
    - secretKeyRef: 
7

      name: test-secret
  volumeMounts: 
8

    - mountPath: /cache
      name: cache-volume
  volumes: 
9

    - name: cache-volume
      emptyDir: {}

1
settings.k8s.io/v1alpha1 API를 지정합니다.
2
사전 정의된 Pod의 이름입니다. 이 이름은 Pod 주석에 사용됩니다.
3
Pod 사양의 라벨과 일치하는 라벨 선택기입니다.
4 5
컨테이너에 전달할 환경 변수를 생성합니다.
6
Pod 사양에 ConfigMap 을 추가합니다.
7
Pod 사양에 보안 오브젝트를 추가합니다.
8
컨테이너 내에서 외부 스토리지 볼륨을 마운트해야 하는 위치를 지정합니다.
9
컨테이너에서 사용할 수 있는 스토리지 볼륨을 정의합니다.

Pod 사양 샘플

Copy to Clipboard Toggle word wrap
apiVersion: v1
kind: Pod
metadata:
  name: website
  labels:
    app: website
    role: frontend 
1

spec:
  containers:
    - name: website
      image: ecorp/website
      ports:
        - containerPort: 80

1
Pod 사전 설정의 라벨 선택기와 일치해야 하는 레이블입니다.

Pod 사전 설정 후 샘플 Pod 사양

Copy to Clipboard Toggle word wrap
apiVersion: v1
kind: Pod
metadata:
  name: website
  labels:
    app: website
    role: frontend
  annotations:
    podpreset.admission.kubernetes.io/allow-database: "resource version" 
1

spec:
  containers:
    - name: website
      image: ecorp/website
      volumeMounts: 
2

        - mountPath: /cache
          name: cache-volume
      ports:
        - containerPort: 80
      env: 
3

        - name: DB_PORT
          value: "6379"
      envFrom: 
4

        - configMapRef:
          name: etcd-env-config
        - secretKeyRef:
          name: test-secret
  volumes: 
5

    - name: cache-volume
      emptyDir: {}

1
Pod 사양이 수정되지 않도록 구성되어 있지 않은 경우 Pod 사전 설정을 표시하도록 추가된 주석이 삽입되었습니다.
2
볼륨 마운트가 Pod에 추가됩니다.
3
환경 변수가 포드에 추가됩니다.
4
Pod에 추가된 ConfigMap 및 secrets 오브젝트입니다.
5
볼륨 마운트가 Pod에 추가됩니다.

Pod 사전 설정에서 Pod를 제외하는 샘플 Pod 사양

Copy to Clipboard Toggle word wrap
apiVersion: v1
kind: Pod
metadata:
  name: no-podpreset
  labels:
    app: website
    role: frontend
  annotations:
    podpreset.admission.kubernetes.io/exclude: "true" 
1

spec:
  containers:
    - name: hello-pod
      image: docker.io/ocpqe/hello-pod

1
이 매개변수를 추가하여 이 pod가 Pod 사전 설정 기능에 의해 삽입되지 않도록 합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.