클러스터에 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를 참조하십시오.
시작하기 전에:
-
IBM Cloud Kubernetes Service 클러스터를 작성하기 위한 올바른 권한 이 있는지 확인하십시오.
-
기존 클러스터를 작성 또는 사용하십시오.
-
클래식 클러스터에서 비SDS 작업자 노드를 사용하려면 작업자 노드에 블록 스토리지 디바이스를 추가 하십시오.
-
내부 Portworx 키-값 데이터베이스(KVDB)를 사용할지 또는 etcd 서비스 인스턴스용 데이터베이스를 작성하여 Portworx 구성 및 메타데이터를 저장할지 선택하십시오.
-
Portworx 볼륨을 암호화할지 여부를 결정하십시오. 볼륨을 암호화하려면 IBM Key Protect 또는 Hyper Protect Crypto Services 인스턴스를 설정하고 Kubernetes 시크릿에 서비스 정보를 저장해야 합니다.
-
Container Registry에서 이미지를 가져올 수 있도록
default에서kube-system네임스페이스로 이미지 가져오기 시크릿을 복사했는지 확인하십시오. 네임스페이스의 Kubernetes 서비스 계정으로 이미지 가져오기 시크릿을 추가kube-system했는지 확인하십시오. -
Portworx 재해 복구 구성에 클러스터를 포함할지 여부를 결정하십시오. 자세한 정보는 Portworx를 사용하여 재해 복구 설정을 참조하십시오.
-
Portworx 저널용으로 별도의 디바이스를 연결한 경우 작업자 노드에 로그인되어 있는 상태에서
lsblk를 실행하여 디바이스 경로를 검색해야 합니다. -
Portworx KVDB용으로 별도의 디바이스를 연결한 경우 작업자 노드에 로그인되어 있는 상태에서
lsblk를 실행하여 디바이스 경로를 검색해야 합니다. -
계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
Portworx를 설치하려면 다음을 수행하십시오.
-
IBM Cloud 카탈로그 에서 ‘ Portworx ’ 서비스를 열고, 다음과 같이 각 필드를 입력하십시오:
-
IBM Cloud Kubernetes Service 클러스터가 있는 지역을 선택하십시오.
-
Portworx 가격 정보를 검토하십시오.
-
Portworx 서비스 인스턴스의 이름을 입력하십시오.
-
클러스터가 있는 리소스 그룹을 선택하십시오.
-
태그 필드에는 Portworx를 설치하려는 클러스터 이름을 입력하십시오. Portworx 서비스 인스턴스를 작성한 후에는 Portworx를 설치한 클러스터를 볼 수 없습니다. 나중에 클러스터를 좀 더 쉽게 찾으려면 태그로서 클러스터 이름과 추가 정보를 입력했는지 확인하십시오.
-
액세스하는 클러스터 목록을 검색하려면 IBM Cloud API 키를 입력하십시오. API 키가 없으면 사용자 API 키 관리를 참조하십시오. API 키를 입력하면 Kubernetes 또는 OpenShift 클러스터 이름 필드가 표시됩니다.
-
고유한 Portworx 클러스터 이름을 입력하십시오.
-
클라우드 드라이브 메뉴에서 다음을 수행하십시오.
- Portworx에 대해 Block Storage for VPC 를 동적으로 프로비저닝하려면 클라우드 드라이브 사용 (VPC 클러스터 전용) 을 선택하십시오. 클라우드 드라이브 사용을 선택한 후 스토리지 클래스 이름 및 프로비저닝할 블록 스토리지 드라이브의 크기 를 선택하십시오.
- 이미 연결된 드라이브 사용 (클래식, VPC 또는 Satellite) 을 선택하여 이미 작업자 노드에 연결된 블록 스토리지를 사용하십시오.
-
Portworx 메타데이터 키-값 저장소 드롭 다운에서 Portworx 메타데이터를 저장하는 데 사용하려는 키-값 저장소 유형을 선택하십시오. Portworx KVDB를 선택하여 Portworx 설치 중에 키-값 저장소를 자동으로 작성하거나 기존의 etcd 인스턴스용 데이터베이스를 사용하려는 경우 etcd용 데이터베이스를 선택하십시오. etcd용 데이터베이스를 선택하면 Etcd API 엔드포인트 및 Etcd 시크릿 이름 필드가 표시됩니다.
-
네임스페이스: Portworx 리소스를 배치할 네임스페이스를 입력하십시오.
-
etcd용 데이터베이스에만 필수: etcd 서비스 인스턴스용 데이터베이스의 정보를 입력하십시오.
- etcd 서비스 인스턴스의 경우 사용자 데이터베이스에 대해 작성한 etcd 엔드포인트 및 Kubernetes 시크릿의 이름을 검색하십시오.
- Etcd API 엔드포인트 필드에서는 이전에 검색한 etcd 서비스 인스턴스의 데이터베이스 API 엔드포인트를 입력하십시오.
etcd:<etcd_endpoint1>;etcd:<etcd_endpoint2>형식으로 엔드포인트를 입력해야 합니다. 두 개 이상의 엔드포인트가 있으면 모든 엔드포인트를 포함하고 세미콜론(;)으로 구분하십시오. - Etcd 시크릿 이름 필드에는 클러스터에서 작성한 Kubernetes 시크릿 이름을 입력하여 etcd 서비스 인증 정보에 대한 데이터베이스를 저장하십시오.
-
Kubernetes 또는 OpenShift 클러스터 이름 드롭 다운 목록에서는 Portworx를 설치할 클러스터를 선택하십시오. 클러스터가 나열되지 않으면 올바른 IBM Cloud 지역을 선택했는지 확인하십시오. 지역이 올바르면 클러스터를 보고 작업할 수 있는 올바른 권한을 가지고 있는지 확인하십시오. Portworx 의 최소 하드웨어 요구 사항을 충족하는 클러스터를 선택해야 합니다.
-
선택사항: Portworx 시크릿 저장소 유형 드롭 다운 목록에서 볼륨 암호화 키를 저장할 때 사용할 시크릿 저장소 유형을 선택하십시오.
- Kubernetes 시크릿: Kubernetes 시크릿에서 볼륨을 암호화하는 자체 사용자 정의 키를 사용자 클러스터에 저장하려는 경우 이 옵션을 선택하십시오. Portworx를 설치하기 전에는 시크릿이 없어야 합니다. Portworx를 설치한 후에는 시크릿을 작성할 수 있습니다. 자세한 내용은 ‘ Portworx ’ 문서를 참조하십시오.
- IBM Key Protect: IBM Key Protect의 루트 키를 사용하여 볼륨을 암호화하려는 경우 이 옵션을 선택하십시오. 지시사항에 따라 IBM Key Protect 서비스 인스턴스를 작성하고 Portwork 설치 전
portworx네임스페이스에 Kubernetes 시크릿의 서비스 인스턴스에 액세스하는 방법에 대한 인증 정보를 저장하도록 하십시오.
-
선택사항: 저널 디바이스 또는 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입니다.
- Portworx가 저널에 사용할 블록 스토리지 디바이스 중 하나에 3GB 파티션을 자동으로 작성하도록 하려면
-
-
클러스터에서 Portwork 설치를 시작하려면 작성을 클릭하십시오. 이 프로세스는 완료하는 데 몇 분 정도 소요될 수 있습니다. Portworx 설치 확인, PVC(persistent volume claim) 작성 및 앱에 PVC를 마운트하는 방법에 대한 지시사항과 함께 서비스 세부사항 페이지가 열립니다.
-
IBM Cloud 리소스 목록에서 방금 생성한 ‘ Portworx ’ 서비스를 찾으세요.
-
상태 열을 검토하여 설치의 성공 또는 실패 여부를 확인하십시오. 상태를 업데이트하려면 몇 분이 소요될 수 있습니다.
-
상태가
Provision failure로 변경될 경우 지시사항에 따라 설치 실패 원인을 해결하십시오. -
상태가
Provisioned로 변경되면, Portworx 설치가 성공했는지 그리고 모든 로컬 디스크를 인식하고 Portwork 스토리지 계층에 추가했는지 확인하십시오.kube-system네임스페이스에서 Portworx 팟(Pod)을 나열하십시오. 하나 이상의portworx,stork및stork-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 볼륨 생성을 시작하세요.
-
클러스터에서 사용 가능한 스토리지 클래스를 나열하고 Portwork 설치 중 설정된 기존 Portwork 스토리지 클래스를 사용할 수 있는지 여부를 확인하십시오. 사전 정의된 스토리지 클래스가 데이터베이스 사용에 맞게 최적화되고 여러 팟(Pod)의 데이터를 공유합니다.
kubectl get sc | grep portworx스토리지 클래스의 세부사항을 보려면
kubectl describe storageclass <storageclass_name>을 실행하십시오. -
기존 스토리지 클래스를 사용하지 않으려면 사용자 정의된 스토리지 클래스를 작성하십시오. 스토리지 클래스에서 지정할 수 있는 지원되는 옵션의 전체 목록을 보려면 ‘동적 프로비저닝 사용’을 참조하십시오.
- 스토리지 클래스의 구성 파일을 작성하십시오.
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 ``` -
PVC(persistent volume claim)를 작성하십시오.
- 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를 마운트해야 합니다.
-
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.app및spec.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의 이름입니다.
-
배치를 작성하십시오.
kubectl apply -f deployment.yaml -
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 -
Portworx 클러스터에 데이터를 쓸 수 있는지 확인하십시오.
- 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 ```