클러스터에 Portworx 설치

IBM Cloud 카탈로그에서 Portwork 서비스 인스턴스를 프로비저닝하십시오. 서비스 인스턴스를 작성한 후 Helm을 사용하여 최신 Portworx 엔터프라이즈 개정판(px-enterprise)이 클러스터에 설치됩니다. 또한, Stork는 귀하의 IBM Cloud Kubernetes Service 클러스터에도 설치되어 있습니다. Stork는 Portworx 스토리지 스케줄러입니다. Stork를 사용하면 포드와 해당 데이터를 함께 배치하고, Portworx 볼륨의 스냅샷을 생성 및 복원할 수 있습니다.

Portworx의 업데이트 또는 제거 방법에 대한 지시사항을 찾으십니까? Portworx 업데이트Portworx 제거를 참조하십시오.

몬트리올 지역의 전용 클러스터에서는 아직 Portworx Enterprise 및 Portworx 백업의 기본 설치 방법이 지원되지 않습니다. 몬트리올의 프라이빗 전용 클러스터에 Portworx Enterprise 또는 Portworx 백업을 설치해야 하는 경우 Portworx 지원팀에 문의하십시오. 자세한 내용은 Portworx Support를 참조하십시오.

시작하기 전에:

Portworx를 설치하려면 다음을 수행하십시오.

  1. IBM Cloud 카탈로그 에서 ‘ Portworx ’ 서비스를 열고, 다음과 같이 각 필드를 입력하십시오:

    1. IBM Cloud Kubernetes Service 클러스터가 있는 지역을 선택하십시오.

    2. Portworx 가격 정보를 검토하십시오.

    3. Portworx 서비스 인스턴스의 이름을 입력하십시오.

    4. 클러스터가 있는 리소스 그룹을 선택하십시오.

    5. 태그 필드에는 Portworx를 설치하려는 클러스터 이름을 입력하십시오. Portworx 서비스 인스턴스를 작성한 후에는 Portworx를 설치한 클러스터를 볼 수 없습니다. 나중에 클러스터를 좀 더 쉽게 찾으려면 태그로서 클러스터 이름과 추가 정보를 입력했는지 확인하십시오.

    6. 액세스하는 클러스터 목록을 검색하려면 IBM Cloud API 키를 입력하십시오. API 키가 없으면 사용자 API 키 관리를 참조하십시오. API 키를 입력하면 Kubernetes 또는 OpenShift 클러스터 이름 필드가 표시됩니다.

    7. 고유한 Portworx 클러스터 이름을 입력하십시오.

    8. 클라우드 드라이브 메뉴에서 다음을 수행하십시오.

      1. Portworx에 대해 Block Storage for VPC 를 동적으로 프로비저닝하려면 클라우드 드라이브 사용 (VPC 클러스터 전용) 을 선택하십시오. 클라우드 드라이브 사용을 선택한 후 스토리지 클래스 이름 및 프로비저닝할 블록 스토리지 드라이브의 크기 를 선택하십시오.
      2. 이미 연결된 드라이브 사용 (클래식, VPC 또는 Satellite) 을 선택하여 이미 작업자 노드에 연결된 블록 스토리지를 사용하십시오.
    9. Portworx 메타데이터 키-값 저장소 드롭 다운에서 Portworx 메타데이터를 저장하는 데 사용하려는 키-값 저장소 유형을 선택하십시오. Portworx KVDB를 선택하여 Portworx 설치 중에 키-값 저장소를 자동으로 작성하거나 기존의 etcd 인스턴스용 데이터베이스를 사용하려는 경우 etcd용 데이터베이스를 선택하십시오. etcd용 데이터베이스를 선택하면 Etcd API 엔드포인트Etcd 시크릿 이름 필드가 표시됩니다.

    10. 네임스페이스: Portworx 리소스를 배치할 네임스페이스를 입력하십시오.

    11. etcd용 데이터베이스에만 필수: etcd 서비스 인스턴스용 데이터베이스의 정보를 입력하십시오.

      1. etcd 서비스 인스턴스의 경우 사용자 데이터베이스에 대해 작성한 etcd 엔드포인트 및 Kubernetes 시크릿의 이름을 검색하십시오.
      2. Etcd API 엔드포인트 필드에서는 이전에 검색한 etcd 서비스 인스턴스의 데이터베이스 API 엔드포인트를 입력하십시오. etcd:<etcd_endpoint1>;etcd:<etcd_endpoint2> 형식으로 엔드포인트를 입력해야 합니다. 두 개 이상의 엔드포인트가 있으면 모든 엔드포인트를 포함하고 세미콜론(;)으로 구분하십시오.
      3. Etcd 시크릿 이름 필드에는 클러스터에서 작성한 Kubernetes 시크릿 이름을 입력하여 etcd 서비스 인증 정보에 대한 데이터베이스를 저장하십시오.
    12. Kubernetes 또는 OpenShift 클러스터 이름 드롭 다운 목록에서는 Portworx를 설치할 클러스터를 선택하십시오. 클러스터가 나열되지 않으면 올바른 IBM Cloud 지역을 선택했는지 확인하십시오. 지역이 올바르면 클러스터를 보고 작업할 수 있는 올바른 권한을 가지고 있는지 확인하십시오. Portworx 의 최소 하드웨어 요구 사항을 충족하는 클러스터를 선택해야 합니다.

    13. 선택사항: Portworx 시크릿 저장소 유형 드롭 다운 목록에서 볼륨 암호화 키를 저장할 때 사용할 시크릿 저장소 유형을 선택하십시오.

      • Kubernetes 시크릿: Kubernetes 시크릿에서 볼륨을 암호화하는 자체 사용자 정의 키를 사용자 클러스터에 저장하려는 경우 이 옵션을 선택하십시오. Portworx를 설치하기 전에는 시크릿이 없어야 합니다. Portworx를 설치한 후에는 시크릿을 작성할 수 있습니다. 자세한 내용은 ‘ Portworx ’ 문서를 참조하십시오.
      • IBM Key Protect: IBM Key Protect의 루트 키를 사용하여 볼륨을 암호화하려는 경우 이 옵션을 선택하십시오. 지시사항에 따라 IBM Key Protect 서비스 인스턴스를 작성하고 Portwork 설치 전 portworx 네임스페이스에 Kubernetes 시크릿의 서비스 인스턴스에 액세스하는 방법에 대한 인증 정보를 저장하도록 하십시오.
    14. 선택사항: 저널 디바이스 또는 KVDB 디바이스를 설정하려면 고급 옵션 필드에 디바이스 세부사항을 입력하십시오. 저널 장치에 대해서는 다음 옵션 중에서 선택하십시오.

      • Portworx가 저널에 사용할 블록 스토리지 디바이스 중 하나에 3GB 파티션을 자동으로 작성하도록 하려면 j;auto를 입력하십시오.
      • 저널에 특정 디바이스를 사용하려면 j;</device/path>를 입력하십시오. 예를 들어, /dev/vde에 있는 디스크를 사용하려면 j;/dev/vde를 입력하십시오. 저널에 사용할 디바이스의 경로를 찾으려면 작업자 노드에 로그인하여 lsblk를 실행하십시오.
      • 내부 KVDB 데이터를 저장할 디바이스를 지정하려면 kvdb_dev;<device path>를 입력하십시오. 예를 들어, kvdb_dev;/dev/vdd입니다. 사용할 디바이스의 경로를 찾으려면 작업자 노드에 로그인하여 lsblk를 실행하십시오. KVDB 데이터에 특정 디바이스를 사용하려면 3개 이상의 작업자 노드에 또는 3GB의 사용 가능한 스토리지 디바이스가 있어야 합니다. 또한 각 워커 노드에서 해당 장치들이 동일한 경로에 위치해야 합니다. 예를 들어, /dev/vdd입니다.
  2. 클러스터에서 Portwork 설치를 시작하려면 작성을 클릭하십시오. 이 프로세스는 완료하는 데 몇 분 정도 소요될 수 있습니다. Portworx 설치 확인, PVC(persistent volume claim) 작성 및 앱에 PVC를 마운트하는 방법에 대한 지시사항과 함께 서비스 세부사항 페이지가 열립니다.

  3. IBM Cloud 리소스 목록에서 방금 생성한 ‘ Portworx ’ 서비스를 찾으세요.

  4. 상태 열을 검토하여 설치의 성공 또는 실패 여부를 확인하십시오. 상태를 업데이트하려면 몇 분이 소요될 수 있습니다.

  5. 상태Provision failure로 변경될 경우 지시사항에 따라 설치 실패 원인을 해결하십시오.

  6. 상태Provisioned로 변경되면, Portworx 설치가 성공했는지 그리고 모든 로컬 디스크를 인식하고 Portwork 스토리지 계층에 추가했는지 확인하십시오.

    1. kube-system 네임스페이스에서 Portworx 팟(Pod)을 나열하십시오. 하나 이상의 portworx, storkstork-scheduler 팟(Pod)이 표시되면 설치에 성공한 것입니다. 팟(Pod) 수는 Portworx 클러스터에 있는 작업자 노드 수와 같습니다. 모든 팟(Pod)이 Running 상태여야 합니다.
        kubectl get pods -n kube-system | grep 'portworx\|stork'
        ```
        출력 예
        ```sh {: screen}
        portworx-594rw                          1/1       Running     0          20h
        portworx-rn6wk                          1/1       Running     0          20h
        portworx-rx9vf                          1/1       Running     0          20h
        stork-6b99cf5579-5q6x4                  1/1       Running     0          20h
        stork-6b99cf5579-slqlr                  1/1       Running     0          20h
        stork-6b99cf5579-vz9j4                  1/1       Running     0          20h
        stork-scheduler-7dd8799cc-bl75b         1/1       Running     0          20h
        stork-scheduler-7dd8799cc-j4rc9         1/1       Running     0          20h
        stork-scheduler-7dd8799cc-knjwt         1/1       Running     0          20h
        ```
    2. `portworx` 팟(Pod) 중 하나에 로그인하고 Portworx 클러스터의 상태를 나열하십시오.
    ```sh {: pre}
        kubectl exec <portworx_pod> -it -n kube-system -- /opt/pwx/bin/pxctl status
        ```
        출력 예
        ```sh {: screen}
        Status: PX is operational
        License: Trial (expires in 30 days)
        Node ID: 10.176.48.67
        IP: 10.176.48.67
        Local Storage Pool: 1 pool
        POOL    IO_PRIORITY    RAID_LEVEL    USABLE    USED    STATUS    ZONE    REGION
          0    LOW        raid0        20 GiB    3.0 GiB    Online    dal10    us-south
        Local Storage Devices: 1 device
        Device    Path                        Media Type        Size        Last-Scan
            0:1    /dev/mapper/3600a09803830445455244c4a38754c66    STORAGE_MEDIUM_MAGNETIC    20 GiB        17 Sep 18 20:36 UTC
                total                            -            20 GiB
        Cluster Summary
        Cluster ID: mycluster
            Cluster UUID: a0d287ba-be82-4aac-b81c-7e22ac49faf5
        Scheduler: kubernetes
        Nodes: 2 node(s) with storage (2 online), 1 node(s) without storage (1 online)
          IP        ID        StorageNode    Used    Capacity    Status    StorageStatus    Version        Kernel            OS
          10.184.58.11    10.184.58.11    Yes        3.0 GiB    20 GiB        Online    Up        1.5.0.0-bc1c580    4.4.0-133-generic    Ubuntu 20.04.5 LTS
          10.176.48.67    10.176.48.67    Yes        3.0 GiB    20 GiB        Online    Up (This node)    1.5.0.0-bc1c580    4.4.0-133-generic    Ubuntu 20.04.5 LTS
          10.176.48.83    10.176.48.83    No        0 B    0 B        Online    No Storage    1.5.0.0-bc1c580    4.4.0-133-generic    Ubuntu 20.04.5 LTS
        Global Storage Pool
          Total Used        :  6.0 GiB
          Total Capacity    :  40 GiB
        ```
    3. CLI 출력의 **클러스터 요약** 섹션에 있는 **StorageNode** 열을 검토하여 Portworx 스토리지 계층에 포함시키려 했던 모든 작업자 노드가 포함되는지 확인하십시오. 스토리지 계층에 있는 작업자 노드는 **StorageNode** 열에 `Yes`과(와) 함께 표시됩니다.
    
        Portworx는 클러스터에서 DaemonSet로 실행되므로 기존 작업자 노드는 원시 블록 스토리지에 대해 자동으로 검사되고 Portworx를 배치할 때 Portworx 데이터 계층에 추가됩니다. 클러스터에 작업자 노드를 추가하고 해당 작업자에 원시 블록 스토리지를 추가하는 경우, 스토리지 볼륨이 DaemonSet에서 발견되도록 새 작업자 노드에서 Portworx 팟(Pod)을 다시 시작하십시오.
        {: note}
    
    4. CLI 출력의 **클러스터 요약** 섹션에 있는 **용량** 열을 검토하여 각 스토리지 노드가 정확한 원시 블록 스토리지 용량과 함께 나열되는지 확인하십시오.
    
    5. Portworx 클러스터의 파트인 디스크에 지정된 Portworx I/O 분류를 검토하십시오. Portworx 클러스터를 설정하는 동안 모든 디스크를 검사하여 디바이스의 성능 프로파일을 판별합니다. 프로파일 분류는 작업자 노드가 연결된 네트워크 속도 및 사용자가 보유한 스토리지 디바이스의 유형에 따라 다릅니다. SDS 작업자 노드의 디스크는 `high`로 분류됩니다. 가상 작업자 노드에 디스크를 수동으로 연결하는 경우 가상 작업자 노드에 제공되는 낮은 네트워크 속도로 인해 해당 디스크는 `low`(으)로 분류됩니다.
    ```sh {: pre}
        kubectl exec -it <portworx_pod> -n kube-system -- /opt/pwx/bin/pxctl cluster provision-status
        ```
        출력 예
    
        ```sh {: screen}
        NODE        NODE STATUS    POOL    POOL STATUS    IO_PRIORITY    SIZE    AVAILABLE    USED    PROVISIONED    RESERVEFACTOR    ZONE    REGION        RACK
        10.184.58.11    Up        0    Online        LOW        20 GiB    17 GiB        3.0 GiB    0 B        0        dal12    us-south    default
        10.176.48.67    Up        0    Online        LOW        20 GiB    17 GiB        3.0 GiB    0 B        0        dal10    us-south    default
        10.176.48.83    Up        0    Online        HIGH        3.5 TiB    3.5 TiB        10 GiB    0 B        0        dal10    us-south    default
        ```
    
    
    

Portworx 볼륨 작성

Kubernetes 의 동적 프로비저닝 기능을 사용하여 Portworx 볼륨 생성을 시작하세요.

  1. 클러스터에서 사용 가능한 스토리지 클래스를 나열하고 Portwork 설치 중 설정된 기존 Portwork 스토리지 클래스를 사용할 수 있는지 여부를 확인하십시오. 사전 정의된 스토리지 클래스가 데이터베이스 사용에 맞게 최적화되고 여러 팟(Pod)의 데이터를 공유합니다.

    kubectl get sc | grep portworx
    

    스토리지 클래스의 세부사항을 보려면 kubectl describe storageclass <storageclass_name>을 실행하십시오.

  2. 기존 스토리지 클래스를 사용하지 않으려면 사용자 정의된 스토리지 클래스를 작성하십시오. 스토리지 클래스에서 지정할 수 있는 지원되는 옵션의 전체 목록을 보려면 ‘동적 프로비저닝 사용’을 참조하십시오.

    1. 스토리지 클래스의 구성 파일을 작성하십시오.
        kind: StorageClass
        apiVersion: storage.k8s.io/v1
        metadata:
          name: <storageclass_name>
        provisioner: kubernetes.io/portworx-volume
        parameters:
          repl: "<replication_factor>"
          secure: "<true_or_false>"
          priority_io: "<io_priority>"
          shared: "<true_or_false>"
        ```
        `metadata.name`
        :   스토리지 클래스의 이름을 입력하십시오.
    
        `parameters.repl`
        :   다른 작업자 노드에 저장하려는 데이터의 복제본 수를 입력하십시오. 허용되는 수는 `1`, `2` 또는 `3`입니다. 예를 들어, `3`을 입력하면 데이터가 Portworx 클러스터에 있는 서로 다른  개의 작업자 노드에 걸쳐 복제됩니다. 데이터를 고가용성으로 저장하려면 다중 구역 클러스터를 사용하고 다른 구역의  개의 작업자 노드에 데이터를 복제하십시오.
                        복제 요구사항을 충족하려면 충분한 작업자 노드가 있어야 합니다. 예를 들어,  개의 작업자 노드가 있지만  개의 복제본을 지정하는 경우 스토리지 클래스를 사용하는 PVC 작성에 실패합니다.
            {: note}
    
        `parameters.secure`
        :   IBM Key Protect를 사용하여 볼륨의 데이터를 암호화할지 여부를 지정합니다. 다음 옵션 중에 선택하십시오.
            - `true`: Portworx 볼륨에 암호화를 사용으로 설정하려면 `true`를 입력하십시오. 볼륨을 암호화하려면 IBM Key Protect 서비스 인스턴스와 고객 루트 키를 보유하는 Kubernetes 시크릿이 있어야 합니다. Portworx 볼륨에 대한 암호화 설정 방법에 대한 자세한 정보는 [Portworx 볼륨 암호화](/docs/containers?topic=containers-storage_portworx_encryption)를 참조하십시오.
            - `false`: `false`를 입력하면 Portworx 볼륨이 암호화되지 않습니다.  옵션을 지정하지 않으면 기본적으로 Portworx 볼륨이 암호화되지 않습니다. 스토리지 클래스에서 암호화를 사용 안함으로 설정한 경우에도 PVC에서 볼륨 암호화를 사용으로 설정할  있습니다. PVC에서 작성한 설정이 스토리지 클래스의 설정보다 우선합니다.
    
        `parameters.priority_io`
        :   데이터를 요청할 Portworx I/O 우선순위를 입력하십시오. 사용 가능한 옵션은 `high`, `medium`  `low`입니다. Portworx 클러스터를 설정하는 동안 모든 디스크를 검사하여 디바이스의 성능 프로파일을 판별합니다. 프로파일 분류는 작업자 노드의 네트워크 대역폭과 스토리지 디바이스의 유형에 따라 다릅니다. SDS 작업자 노드의 디스크는 `high`로 분류됩니다. 가상 작업자 노드에 디스크를 수동으로 연결하는 경우 가상 작업자 노드에 제공되는 낮은 네트워크 속도로 인해 해당 디스크는 `low`(으)로 분류됩니다.
            :   스토리지 클래스가 지정된 PVC를 생성할 때, ` `parameters/repl` `에서 지정한 복제본 수가 I/O 우선순위보다 우선 적용됩니다. 예를 들어, 고속 디스크에 저장할 three개의 복제본을 지정하지만 클러스터에 고속 디스크를 사용하는 하나의 작업자 노드만 있는 경우에도 PVC 작성에 성공합니다. 데이터는 고속 디스크  저속 디스크 모두에서 복제됩니다.
    
        `parameters.shared`
        :   여러 개의 팟(Pod)이 동일한 볼륨에 액세스하도록 허용할지 여부를 정의합니다. 다음 선택사항  하나를 선택하십시오.
            - True:  옵션을 `true`로 설정하는 경우 다른 구역의 작업자 노드에 분산되는 다중 팟(pod)으로 동일한 볼륨에 액세스할  있습니다.
            - False:  옵션을 `false`로 설정하면 볼륨을 지원하는 실제 디스크를 연결하는 작업자 노드에 팟(pod)이 배치되는 경우에만 다중 팟(pod)에서 볼륨에 액세스할  있습니다. 팟(Pod)이 다른 작업자 노드에 배치되면 팟(Pod)에서 볼륨에 액세스할  없습니다.
    
    2. 스토리지 클래스를 작성하십시오.
    ```sh {: pre}
        kubectl apply -f storageclass.yaml
        ```
    3. 스토리지 클래스가 작성되었는지 확인하십시오.
    ```sh {: pre}
        kubectl get sc
        ```
    
  3. PVC(persistent volume claim)를 작성하십시오.

    1. PVC에 대한 구성 파일을 작성하십시오.
        kind: PersistentVolumeClaim
        apiVersion: v1
        metadata:
          name: mypvc
        spec:
          accessModes:
            - <access_mode>
          resources:
            requests:
              storage: <size>
          storageClassName: portworx-shared-sc
        ```
        `metadata.name`
        :   PVC의 이름(예: `mypvc`)을 입력하십시오.
    
        `spec.accessModes`
        :   사용하려는 [ Kubernetes  액세스 모드를](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes){: external} 선택하십시오.
    
        `resources.requests.storage`
        :   Portworx 클러스터에서 지정하려는 스토리지 용량을 기가바이트 단위로 입력합니다. 예를 들어, Portworx 클러스터에서 2기가바이트를 지정하려면 `2Gi`를 입력합니다. 지정할  있는 스토리지의 용량은 Portworx 클러스터에서 사용할  있는 스토리지의 용량에 따라 제한됩니다. 스토리지 클래스에서 1보다  복제 요소를 지정한 경우, PVC에서 지정하는 스토리지 양은 여러 작업자 노드에 예약됩니다.
    
        `spec.storageClassName`
        :   이전에 선택했거나 이전에 작성하고 PV를 프로비저닝하는  사용하려는 스토리지 클래스의 이름을 입력합니다. 예제 YAML 파일에서는 `portworx-shared-sc` 스토리지 클래스를 사용합니다.
    
    2. PVC를 작성하십시오.
    ```sh {: pre}
        kubectl apply -f pvc.yaml
        ```
    3. PVC가 작성되었으며 지속적 볼륨(PV)에 바인드되었는지 확인하십시오.  프로세스에는   정도 소요될  있습니다.
    ```sh {: pre}
        kubectl get pvc
        ```
    
    
    

앱에 볼륨 마운트

앱에서 스토리지에 액세스하려면 앱에 PVC를 마운트해야 합니다.

  1. PVC를 마운트하는 배치를 위한 구성 파일을 작성합니다.

    Portworx로 stateful 세트를 배치하는 방법에 대한 팁은 StatefulSets를 참조하십시오. Portworx 문서에는 Kibana와 함께 Cassandra, ElasticSearchKafka 를 배포하는 방법과 MySQL 와 함께 WordPress 를 배포하는 방법에 대한 예제도 포함되어 있습니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: <deployment_name>
      labels:
        app: <deployment_label>
    spec:
      selector:
        matchLabels:
          app: <app_name>
      template:
        metadata:
          labels:
            app: <app_name>
        spec:
          schedulerName: stork
          containers:
          - image: <image_name>
            name: <container_name>
          securityContext:
              fsGroup: <group_ID>
            volumeMounts:
            - name: <volume_name>
              mountPath: /<file_path>
          volumes:
          - name: <volume_name>
            persistentVolumeClaim:
              claimName: <pvc_name>
    
    metadata.labels.app
    배치의 레이블입니다.
    spec.selector.matchLabels.appspec.template.metadata.labels.app
    앱의 레이블입니다.
    template.metadata.labels.app
    배치의 레이블입니다.
    spec.schedulerName
    Portworx 클러스터의 스케줄러로 Stork를 사용하십시오. Stork를 사용하면 포드와 해당 데이터를 함께 배치할 수 있으며, 스토리지 오류 발생 시 포드를 원활하게 마이그레이션할 수 있고, Portworx 볼륨의 스냅샷을 더 쉽게 생성하고 복원할 수 있습니다.
    spec.containers.image
    사용하려는 이미지의 이름입니다. IBM Cloud Container Registry 계정에서 사용 가능한 이미지를 나열하려면 ibmcloud cr image-list를 실행하십시오.
    spec.containers.name
    클러스터에 배치하려는 컨테이너의 이름입니다.
    spec.containers.securityContext.fsGroup
    선택 사항: 루트 사용자가 아닌 다른 사용자로 스토리지에 액세스하려면, 배포 YAML 파일의 fsGroup 섹션에서 포드의 보안 컨텍스트를 지정하고 액세스 권한을 부여할 사용자 집합을 정의하십시오. 자세한 내용은 ‘비루트 사용자로 Portworx 볼륨에 액세스하기’를 참조하십시오.
    spec.containers.volumeMounts.mountPath
    컨테이너 내에서 볼륨이 마운트되는 디렉토리의 절대 경로입니다. 서로 다른 앱 간에 볼륨을 공유하려면, 각 앱에 대해 볼륨 하위 경로를 지정할 수 있습니다.
    spec.containers.volumeMounts.name
    팟(Pod)에 마운트할 볼륨의 이름입니다.
    volumes.name
    팟(Pod)에 마운트할 볼륨의 이름입니다. 일반적으로 이 이름은 volumeMounts/name과 동일합니다.
    volumes.persistentVolumeClaim.claimName
    사용하려는 PV를 바인드하는 PVC의 이름입니다.
  2. 배치를 작성하십시오.

    kubectl apply -f deployment.yaml
    
  3. PV가 앱에 마운트되었는지 확인하십시오.

    kubectl describe deployment <deployment_name>
    

    마운트 지점은 Volume Mounts 필드에 있고 볼륨은 Volumes 필드에 있습니다.

    Volume Mounts:
            /var/run/secrets/kubernetes.io/serviceaccount from default-token-tqp61 (ro)
            /volumemount from myvol (rw)
    ...
    Volumes:
        myvol:
        Type:    PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
        ClaimName:    mypvc
        ReadOnly:    false
    
  4. Portworx 클러스터에 데이터를 쓸 수 있는지 확인하십시오.

    1. PV를 마운트하는 팟(Pod)에 로그인하십시오.
        kubectl exec <pod_name> -it bash
        ```
    2. 앱 배치에서 정의한 볼륨 마운트 경로로 이동하십시오.
    3. 텍스트 파일을 작성하십시오.
    ```sh {: pre}
        echo "This is a test" > test.txt
        ```
    4. 작성한 파일을 읽으십시오.
    ```sh {: pre}
        cat test.txt
        ```