23.5. Pod의 예상 볼륨 구성


다음 예제에서는 예상 볼륨을 사용하여 기존 Secret 볼륨 소스를 마운트하는 방법을 보여줍니다.

이 단계를 사용하여 로컬 파일에서 사용자 이름 및 암호 보안 을 생성할 수 있습니다. 그런 다음 예상 볼륨을 사용하여 하나의 컨테이너를 실행하는 Pod를 생성하여 동일한 공유 디렉터리에 시크릿을 마운트합니다.

  1. 보안이 포함된 파일을 생성합니다.

    예를 들면 다음과 같습니다.

    $ nano secret.yaml

    다음을 입력하여 암호 및 사용자 정보를 적절하게 바꿉니다.

    apiVersion: v1
    kind: Secret
    metadata:
      name: mysecret
    type: Opaque
    data:
      pass: MWYyZDFlMmU2N2Rm
      user: YWRtaW4=

    userpass 값은 base64로 인코딩된 유효한 문자열일 수 있습니다. 여기에서 사용되는 예제는 base64로 인코딩된 값 user: admin,pass:1f2d1e67df 입니다.

    $ echo -n "admin" | base64
    YWRtaW4=
    $ echo -n "1f2d1e2e67df" | base64
    MWYyZDFlMmU2N2Rm
  2. 다음 명령을 사용하여 보안을 생성합니다.

    $ oc create -f <secrets-filename>

    예를 들면 다음과 같습니다.

    $ oc create -f secret.yaml
    secret "mysecret" created
  3. 다음 명령을 사용하여 보안이 생성되었는지 확인할 수 있습니다.

    $ oc get secret <secret-name>
    $ oc get secret <secret-name> -o yaml

    예를 들면 다음과 같습니다.

    $ oc get secret mysecret
    NAME       TYPE      DATA      AGE
    mysecret   Opaque    2         17h
    oc get secret mysecret -o yaml
    apiVersion: v1
    data:
      pass: MWYyZDFlMmU2N2Rm
      user: YWRtaW4=
    kind: Secret
    metadata:
      creationTimestamp: 2017-05-30T20:21:38Z
      name: mysecret
      namespace: default
      resourceVersion: "2107"
      selfLink: /api/v1/namespaces/default/secrets/mysecret
      uid: 959e0424-4575-11e7-9f97-fa163e4bd54c
    type: Opaque
  4. volumes 섹션이 포함된 다음과 유사한 Pod 구성 파일을 생성합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-projected-volume
    spec:
      containers:
      - name: test-projected-volume
        image: busybox
        args:
        - sleep
        - "86400"
        volumeMounts:
        - name: all-in-one
          mountPath: "/projected-volume"
          readOnly: true
      volumes:
      - name: all-in-one
        projected:
          sources:
          - secret:
              name: user
          - secret:
              name: pass
  5. 구성 파일에서 Pod를 생성합니다.

    $ oc create -f <your_yaml_file>.yaml

    예를 들면 다음과 같습니다.

    $ oc create -f secret-pod.yaml
    pod "test-projected-volume" created
  6. Pod 컨테이너가 실행 중인지 확인한 다음 Pod 변경 사항을 확인합니다.

    $ oc get pod <name>

    출력은 다음과 유사합니다.

    $ oc get pod test-projected-volume
    NAME                    READY     STATUS    RESTARTS   AGE
    test-projected-volume   1/1       Running   0          14s
  7. 다른 터미널에서 oc exec 명령을 사용하여 실행 중인 컨테이너에 쉘을 엽니다.

    $ oc exec -it <pod> <command>

    예를 들면 다음과 같습니다.

    $ oc exec -it test-projected-volume -- /bin/sh
  8. 쉘에서 projected-volumes 디렉터리에 예상 소스가 포함되어 있는지 확인합니다.

    / # ls
    bin               home              root              tmp
    dev               proc              run               usr
    etc               projected-volume  sys               var
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.