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에 의해 수정되었음을 표시합니다. 주석은 양식의 일부입니다.

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

클러스터에서 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 사전 설정 오브젝트 샘플

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: {}
Copy to Clipboard Toggle word wrap

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

Pod 사양 샘플

apiVersion: v1
kind: Pod
metadata:
  name: website
  labels:
    app: website
    role: frontend 
1

spec:
  containers:
    - name: website
      image: ecorp/website
      ports:
        - containerPort: 80
Copy to Clipboard Toggle word wrap

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

Pod 사전 설정 후 샘플 Pod 사양

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: {}
Copy to Clipboard Toggle word wrap

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

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

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
Copy to Clipboard Toggle word wrap

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

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat