Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

20.7. 예

예 20.1. 파일 4개를 생성할 YAML 보안

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
data:
  username: dmFsdWUtMQ0K     1
  password: dmFsdWUtMQ0KDQo= 2
stringData:
  hostname: myapp.mydomain.com 3
  secret.properties: |-     4
    property1=valueA
    property2=valueB
1
파일에 디코딩된 값이 포함되어 있습니다.
2
파일에 디코딩된 값이 포함되어 있습니다.
3
파일에 제공된 문자열이 포함되어 있습니다.
4
파일에 제공된 데이터가 포함되어 있습니다.

예 20.2. 보안 데이터로 볼륨의 파일을 채우는 Pod의 YAML

apiVersion: v1
kind: Pod
metadata:
  name: secret-example-pod
spec:
  containers:
    - name: secret-test-container
      image: busybox
      command: [ "/bin/sh", "-c", "cat /etc/secret-volume/*" ]
      volumeMounts:
          # name must match the volume name below
          - name: secret-volume
            mountPath: /etc/secret-volume
            readOnly: true
  volumes:
    - name: secret-volume
      secret:
        secretName: test-secret
  restartPolicy: Never

예 20.3. 보안 데이터로 환경 변수를 채우는 Pod의 YAML

apiVersion: v1
kind: Pod
metadata:
  name: secret-example-pod
spec:
  containers:
    - name: secret-test-container
      image: busybox
      command: [ "/bin/sh", "-c", "export" ]
      env:
        - name: TEST_SECRET_USERNAME_ENV_VAR
          valueFrom:
            secretKeyRef:
              name: test-secret
              key: username
  restartPolicy: Never

예 20.4. 보안 데이터로 환경 변수를 채우는 빌드 구성의 YAML

apiVersion: v1
kind: BuildConfig
metadata:
  name: secret-example-bc
spec:
  strategy:
    sourceStrategy:
      env:
      - name: TEST_SECRET_USERNAME_ENV_VAR
        valueFrom:
          secretKeyRef:
            name: test-secret
            key: username