로컬 스토리지-파일 및 블록
IBM Cloud Satellite® 클러스터에 로컬 블록 또는 파일 볼륨을 사용하여 영구 저장소를 설정합니다. Satellite 스토리지 템플리트를 사용하여 스토리지 구성을 작성할 수 있습니다. 클러스터에 스토리지 구성을 지정하면 선택한 스토리지 제공자의 스토리지 드라이버가 클러스터에 설치됩니다.
전제조건
로컬 스토리지 구성을 생성하기 전에, 클러스터 내에서 필요한 사용 가능한 디스크를 갖춘 워커 노드를 확인해야 합니다. 그런 다음, 로컬 스토리지 드라이버가 이러한 작업자 노드에만 설치되도록 이러한 작업자 노드에 레이블을 지정하십시오.
-
다음 권한이 있는지 반드시 확인하십시오.
- 청구 서비스의 편집자.
- Manager 및 Editor for Kubernetes 서비스.
- Satellite 서비스에 대한 Satellite Link 관리자 및 독자.
-
Satellite 위치를 작성하십시오.
-
Satellite 클러스터를 작성하십시오.
- 클러스터를 작성할 때 Satellite 구성에 대한 클러스터 관리 액세스 사용 옵션을 선택해야 합니다. 클러스터를 작성할 때 Satellite 구성에 대해 관리자 (admin) 액세스를 사용으로 설정하지 않은 경우, 스토리지를 배치하기 전에 클러스터를 다시 작성하고 관리자 액세스를 사용으로 설정해야 합니다.
-
로컬 스토리지 운영자를 배치하십시오. 로컬 파일 또는 블록 스토리지를 설정하려면 로컬 스토리지 운영자를 배치해야 합니다.
-
스토리지 구성에 사용하려는 클러스터의 작업자 노드에 Satellite에 필요한 디스크 외에 사용 가능한 로컬 디스크가 하나 이상 있는지 확인하십시오. 여분의 디스크는 포맷되지 않아야 합니다.
-
사용 가능한 디스크가 있고 구성에 사용할 작업자 노드에 레이블을 지정하십시오. 로컬 스토리지 드라이버는 레이블이 지정된 작업자 노드에만 설치됩니다.
로컬 스토리지 구성에 대한 장치 세부 정보 확인하기
로컬 스토리지 구성을 설정할 때는 사용할 장치를 지정해야 합니다. 다음 단계에서 검색하는 디바이스 경로는 구성을 작성할 때 매개변수로 지정됩니다.
-
클러스터에 로그인하고 사용 가능한 작업자 노드 목록을 가져오십시오. 구성에 사용할 작업자 노드를 기록해 두십시오.
oc get nodes -
로컬 스토리지 구성에 사용할 각 작업자 노드에 로그인하십시오.
oc debug node/<node-name> -
디버그 팟(Pod)이 작업자 노드에 배치되면 다음 명령을 실행하여 작업자 노드에서 사용 가능한 디스크를 나열하십시오.
- 호스트 바이너리를 허용하십시오.
chroot /host ``` 1. 디바이스를 나열하십시오. ```sh {: pre} lsblk ``` 1. 디바이스의 세부사항을 가져오십시오. 사용하려는 디바이스가 마운트 해제되고 포맷되지 않았는지 확인하십시오. ```sh {: pre} fdisk -l ``` -
작업자 노드에서 사용 가능한 블록 스토리지 디스크를 나열하십시오. 로컬 스토리지 구성에 대해 마운트 해제된 디스크를 사용해야 합니다.
lsblk명령의 다음 예제 출력에서는nvme2n1디스크가 마운트 해제되고 파티션이 없습니다.NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:3 0 100G 0 disk |-nvme0n1p1 259:4 0 1M 0 part `-nvme0n1p2 259:5 0 100G 0 part / nvme1n1 259:0 0 20G 0 disk nvme2n1 259:1 0 20G 0 disk nvme3n1 259:2 0 139.7G 0 disk /var/data -
로컬 스토리지 구성에 사용할 각 워커 노드에 대해 앞서 설명한 단계를 반복하십시오.
작업자 노드 레이블 지정
구성에 사용할 디스크의 디바이스 경로를 검색한 후 디스크가 있는 작업자 노드에 레이블을 지정하십시오.
-
작업자 노드 IP 주소를 가져오십시오.
oc get nodes -
이전에 검색한 작업자 노드에 레이블을 지정하십시오. 로컬 스토리지 드라이버는 이 레이블이 있는 작업자 노드에 배치됩니다. 예제 명령에서
storage=local-block레이블을 사용하거나key=value형식으로 사용자 고유의 레이블을 작성할 수 있습니다.oc label nodes <worker-IP> <worker-IP> <worker-IP> "storage=local-block"출력 예
node/<worker-IP> labeled node/<worker-IP> labeled node/<worker-IP> labeled -
레이블이 사용할 작업자 노드에 추가되었는지 확인하십시오. 다음 명령을 실행하여 작업자 노드에 레이블을 표시하고 이전 단계에서 추가한 레이블을 강조표시하십시오.
oc get nodes --show-labels | grep --color=always storage=local-block
콘솔에서 구성 작성 및 지정
-
매개변수 참조를 검토하십시오.
-
‘위치’ 콘솔에서 스토리지 구성을 생성할 위치를 선택합니다.
-
스토리지 > 스토리지 구성 작성을 선택하십시오.
-
구성의 이름을 입력하십시오.
-
저장소 유형 을 선택하십시오.
-
버전을 선택한 후 ‘다음’을 클릭하세요
-
선택한 스토리지 유형 이 사용자 정의 매개변수를 허용하는 경우, 매개변수 탭에 입력하십시오.
-
선택한 스토리지 유형 에 시크릿이 필요한 경우 시크릿 탭에 시크릿을 입력하십시오.
-
스토리지 클래스 탭에서 구성에 의해 배치되는 스토리지 클래스를 검토하거나 사용자 정의 스토리지 클래스를 작성하십시오.
-
서비스에 지정 탭에서 구성을 지정할 서비스를 선택하십시오.
-
완료를 클릭하여 스토리지 구성을 지정하십시오.
CLI에서 구성 작성
-
사용할 템플리트 버전에 대한 매개변수 참조 를 검토하십시오.
-
IBM Cloud에 로그인하십시오.
ibmcloud login -
Satellite 위치를 나열하고
Managed from열을 기록하십시오.ibmcloud sat location ls -
Satellite 위치의
Managed from지역을 대상으로 지정하십시오. 예를 들어wdc의 경우us-east를 대상으로 지정하십시오. 자세한 정보는 Satellite 지역을 참조하십시오.ibmcloud target -r us-east -
default이외의 리소스 그룹을 사용하는 경우 해당 그룹을 대상으로 지정하십시오.ibmcloud target -g RESOURCE_GROUP -
사용할 템플리트 버전에 대해 다음 예제 명령 중 하나를 복사하십시오. 명령에 대한 자세한 정보는 명령 참조 에서
ibmcloud sat storage config create의 내용을 참조하십시오.버전 1.0.0 구성을 작성하는 예제 명령입니다.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-storage --template-version 1.0.0 --param "install-local-storage-file=INSTALL-LOCAL-STORAGE-FILE" --param "auto-discover-devices-file=AUTO-DISCOVER-DEVICES-FILE" --param "file-nodes-label-key=FILE-NODES-LABEL-KEY" --param "file-nodes-label-value=FILE-NODES-LABEL-VALUE" --param "file-devicepath=FILE-DEVICEPATH" --param "fstype=FSTYPE" --param "install-local-storage-block=INSTALL-LOCAL-STORAGE-BLOCK" --param "auto-discover-devices-block=AUTO-DISCOVER-DEVICES-BLOCK" --param "block-nodes-label-key=BLOCK-NODES-LABEL-KEY" --param "block-nodes-label-value=BLOCK-NODES-LABEL-VALUE" --param "block-devicepath=BLOCK-DEVICEPATH" -
사용하려는 설정에 따라 명령을 사용자 정의하십시오.
-
구성을 생성하려면 해당 명령을 실행하십시오.
-
설정이 정상적으로 생성되었는지 확인하십시오.
ibmcloud sat storage config get --config CONFIG
API에서 구성 작성
-
API키를 생성한 후 새로 고치기 토큰을 요청하십시오. 자세한 정보는 API 키를 사용하여 IBM Cloud IAM 토큰 생성을 참조하십시오.
-
사용할 템플리트 버전에 대한 매개변수 참조 를 검토하십시오.
-
다음 예제 요청 중 하나를 복사하고 사용할 변수를 대체하십시오.
버전 1.0.0 구성을 작성하기 위한 예제 요청입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-storage\", \"storage-template-version\": \"1.0.0\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"INSTALL-LOCAL-STORAGE-FILE\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-FILE\", { \"entry.name\": \"FILE-NODES-LABEL-KEY\", { \"entry.name\": \"FILE-NODES-LABEL-VALUE\", { \"entry.name\": \"FILE-DEVICEPATH\", { \"entry.name\": \"FSTYPE\", { \"entry.name\": \"INSTALL-LOCAL-STORAGE-BLOCK\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-BLOCK\", { \"entry.name\": \"BLOCK-NODES-LABEL-KEY\", { \"entry.name\": \"BLOCK-NODES-LABEL-VALUE\", { \"entry.name\": \"BLOCK-DEVICEPATH\",\"user-secret-parameters\": }
CLI에서 과제 생성하기
-
저장소 구성을 나열하고, 클러스터에 할당할 저장소 구성을 기록해 두십시오.
ibmcloud sat storage config ls -
저장을 할당하려는 클러스터, 클러스터 그룹 또는 서비스의 ID를 확인하십시오.
클러스터가 Satellite Config에 등록되어 있는지 확인하거나 그룹을 작성하려면 Satellite Config와 사용할 클러스터 설정을 참조하십시오.
클러스터 그룹을 나열하는 명령 예제입니다.
ibmcloud sat group ls클러스터를 나열하는 명령 예제입니다.
ibmcloud oc cluster ls --provider satelliteSatellite 서비스를 나열하는 예제 명령입니다.
ibmcloud sat service ls --location LOCATION -
이전에 검색한 클러스터, 그룹 또는 서비스에 스토리지 구성을 지정하십시오. 자세한 정보는
ibmcloud sat storage assignment create명령을 참조하십시오.클러스터 그룹에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME클러스터에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME서비스 클러스터에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME -
지정이 작성되었는지 확인하십시오.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
API에서 스토리지 지정 작성
-
다음 예제 요청 중 하나를 복사하십시오.
클러스터에 구성을 지정하기 위한 요청의 다른 연결입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"클러스터 그룹에 구성을 지정하기 위한 요청 예제.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}" -
변수를 세부사항으로 대체하고 요청을 실행하십시오.
-
지정을 나열하여 지정이 작성되었는지 확인하십시오.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
콘솔에서 스토리지 지정 업데이트
Satellite 콘솔 을 사용하여 지정에 최신 패치 업데이트를 적용할 수 있습니다.
-
Satellite 콘솔의 위치 페이지에서 위치를 선택하십시오.
-
스토리지 탭을 클릭하여 구성을 보십시오.
-
업데이트하려는 구성을 클릭하세요.
-
최신 개정판 또는 패치를 적용하려면 정보 정보 (i) 아이콘을 클릭하십시오.
-
선택사항: 스토리지 지정에 대해 자동 패치 업데이트를 사용으로 설정하십시오. 자동 패치 업데이트를 사용으로 설정하면 지정에 항상 최신 보안 수정사항이 포함됩니다.
자동 패치 업데이트를 사용하는 경우에도 주요 업데이트를 수동으로 적용해야 합니다.
CLI에서 수동으로 지정 업그레이드
최신 스토리지 템플리트 개정을 사용하도록 지정을 업그레이드하십시오.
-
Satellite 스토리지 지정을 나열하고 업그레이드하려는 Satellite 지정을 기록해 두십시오.
ibmcloud sat storage assignment ls -
Satellite 스토리지 템플리트를 나열하여 사용 가능한 최신 버전을 보십시오.
ibmcloud sat storage template ls -
Satellite 지정을 업그레이드하십시오.
지정을 업그레이드하는 예제 명령입니다.
ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
CLI에서 구성 및 지정에 대한 자동 패치 업데이트 사용
sat storage assignment autopatch enable CLI를 사용하여 지정에 대한 자동 패치 업데이트를 사용으로 설정할 수 있습니다. 자동 패치 업데이트를 사용으로 설정하면 최신 스토리지 템플리트 개정 (패치) 이 자동으로 적용됩니다. 여전히 주요 업데이트를 수동으로 적용해야 합니다.
-
Satellite 스토리지 구성을 나열합니다. 구성 ID를 기록해 두세요.
ibmcloud sat storage assignment ls -
다음 예제 명령 중 하나를 실행하여 구성 및 연관된 지정에 대한 자동 패치 업데이트를 사용으로 설정하십시오. 이전 단계에서 확인한 구성 ID를 입력하십시오.
지정에 대한 자동 패치 업데이트를 사용으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch enable --config CONFIG (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])지정된 구성에서 모든 스토리지 지정에 대한 자동 패치 업데이트를 사용으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch enable --config CONFIG --all특정 구성에서 모든 지정에 대해 자동 패치 업데이트를 사용하지 않도록 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --all단일 지정 및 특정 구성에 대한 자동 패치 업데이트를 사용 안함으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID다중 지정 및 특정 구성에 대한 자동 패치 업데이트를 사용 안함으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
CLI에서 수동으로 구성 업그레이드
Satellite 스토리지 구성을 업그레이드하여 동일한 메이저 버전 내에서 최신 스토리지 템플릿 개정판을 적용할 수 있습니다.
-
Satellite 스토리지 구성을 나열하고 업그레이드하려는 Satellite 구성을 기록해 두십시오.
ibmcloud sat storage config ls -
Satellite 구성을 업그레이드하십시오. 구성만 업데이트된다는 점을 참고하십시오. 이 구성을 사용하는 지정을 업그레이드하려는 경우에는
--include-assignments옵션을 지정하거나,assignment update명령을 사용하여 각 지정을 수동으로 업데이트할 수 있습니다.구성을 최신 개정판으로 업그레이드하는 예제 명령입니다.
ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]구성을 업그레이드하는 예제 명령 및 최신 개정판에 대한 연관된 지정입니다.
ibmcloud sat storage config upgrade --config CONFIG --include-assignments
API에서 구성 및 지정 업그레이드
/v2/storage/satellite/updateAssignment API를 사용하여 새 클러스터 또는 클러스터 그룹으로 지정을 업데이트할 수 있습니다. 개정 업데이트를 적용하려면 updateConfigVersion 를 true 로 설정하십시오.
-
다음 예제 요청을 복사하고 업데이트할 클러스터 그룹 및 지정의 변수를 대체하십시오.
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}" -
요청을 실행하십시오.
-
업데이트를 확인하기 위해 지정 세부사항을 가져오십시오.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
API에서 지정에 대한 자동 패치 업데이트 사용
/v2/storage/satellite/setAssignmentAutoupgrade API를 사용하여 지정에 대한 자동 패치 업데이트를 사용으로 설정할 수 있습니다. 자동 패치 업데이트를 사용으로 설정하면 최신 스토리지 템플리트 개정 (패치) 이 자동으로 적용됩니다. 여전히 주요 업데이트를 수동으로 적용해야 합니다.
-
다음 예제 요청을 복사하고 업데이트할 클러스터 그룹 및 지정의 변수를 대체하십시오.
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } } -
요청을 실행하십시오.
-
지정 세부사항을 가져와서 업그레이드를 확인하십시오.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
로컬 스토리지를 사용하는 앱 배포하기
로컬 스토리지 구성을 생성하고 이를 클러스터에 할당한 후에는, 로컬 블록 스토리지를 사용하는 애플리케이션을 생성할 수 있습니다.
지속적 볼륨에 레이블을 추가하여 특정 지속적 볼륨에 PVC를 맵핑할 수 있습니다. 자세한 내용은 Kubernetes 의 선택자 관련 문서를 참조하십시오.
-
로컬 시스템
local-pvc.yaml에 다음 PVC YAML 파일을 저장하십시오.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: local-pvc spec: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk. storageClassName: sat-local-block-gold -
클러스터에 PVC를 작성하십시오.
oc create -f local-pvc.yaml -
PVC가 작성되었는지 확인하십시오.
volumeBindingMode스토리지 클래스의sat-local-block-gold는waitForFirstConsumer입니다.oc get pvc | grep local스토리지가 있는 작업자 노드에 팟이 스케줄링되었는지 확인하거나 스토리지가 필요한 앱을 다른 팟에서 선점하지 않도록
nodeAffinity를 지정하고 팟 우선순위를 설정할 수 있습니다. 자세한 내용은 Kubernetes 문서의 ‘pod 우선순위 및 선점’ 및 ‘노드 친화성 설정’ 항목을 참조하십시오. -
로컬 스토리지 PVC를 사용하는 앱 팟(Pod)을 배치하십시오. 로컬 시스템
app.yaml에 다음 예제 앱 YAML을 파일로 저장하십시오. 이 예시에서,nodeAffinity사양은 이 포드가 지정된 레이블을 가진 워커 노드에만 스케줄링되도록 보장합니다.apiVersion: v1 kind: Pod metadata: name: app spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: storage # Enter the 'key' of the worker node label created earlier. operator: In values: - local-block # Enter the 'value' of the worker label that you created earlier. containers: - name: nginx image: nginx volumeDevices: - name: data devicePath: "/dev/nvme2n1" # Enter the path to your local device. volumes: - name: data persistentVolumeClaim: claimName: local-pvc -
클러스터에 앱 팟(Pod)을 작성하십시오.
oc create -f app.yaml -
앱 팟(Pod)에 로그인하고 로컬 디스크에 쓸 수 있는지 확인하십시오.
kubectl exec <pod_name> -it bash -
디렉토리를
dev폴더로 변경하십시오.cd dev -
ls -lR <device-path>명령어를 실행하여 장치 세부 정보를 확인하고, 앱 포드가 블록 장치에 대한 읽기 및 쓰기 권한을 가지고 있는지 확인하십시오. 이 권한은 명령어 출력에서brw로 표시됩니다.ls -lR /dev/nvme2n1출력 예
brw-rw-rw-. 1 root disk 202, 32 Mar 3 21:24 /dev/nvme2n1 -
선택사항 다음 명령을 실행하여 데이터를 블록 디바이스에 기록하십시오.
- 앱에 마운트한 로컬 저장 장치에
"block_data"를 기록하십시오.<device-path>을 사용자의 저장 장치의 경로로 바꾸십시오. 예:/dev/nvme2n1.
kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>" ``` 2. 데이터가 디바이스에 기록되었는지 확인하십시오. `<device-path>`를 스토리지 디바이스의 경로로 바꾸십시오. 예: `/dev/nvme2n1`. ```sh {: pre} kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>" ``` 출력 예 ```sh {: screen} b l o c k _ d a t a ``` - 앱에 마운트한 로컬 저장 장치에
-
test팟(Pod)을 삭제하십시오.oc delete pod <pod_name>
콘솔에서 스토리지 구성을 제거하기
- Satellite 스토리지 대시보드에서 삭제할 스토리지 구성을 선택하십시오.
- '작업 ' > '삭제'를 선택합니다.
- 스토리지 구성의 이름을 입력하십시오.
- 삭제를 선택하십시오.
명령줄에서 로컬 저장소 구성 제거하기
-
local-storage네임스페이스에 있는 리소스를 나열하십시오. 스토리지 지정을 삭제하면 이러한 리소스가 제거됩니다.oc get all -n local-storage출력 예
NAME READY STATUS RESTARTS AGE pod/local-disk-local-diskmaker-clvg6 1/1 Running 0 29h pod/local-disk-local-diskmaker-kqddq 1/1 Running 0 29h pod/local-disk-local-diskmaker-p6z9q 1/1 Running 0 29h pod/local-disk-local-provisioner-dw5g7 1/1 Running 0 29h pod/local-disk-local-provisioner-hxd9n 1/1 Running 0 29h pod/local-disk-local-provisioner-tfg95 1/1 Running 0 29h pod/local-storage-operator-df4994656-7826l 1/1 Running 0 29h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/local-storage-operator ClusterIP 172.21.147.17 <none> 60000/TCP 29h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/local-disk-local-diskmaker 3 3 3 3 3 <none> 29h daemonset.apps/local-disk-local-provisioner 3 3 3 3 3 <none> 29h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/local-storage-operator 1/1 1 1 29h NAME DESIRED CURRENT READY AGE replicaset.apps/local-storage-operator-df4994656 1 1 1 29h -
스토리지 지정을 나열하고 클러스터에 사용한 지정을 찾으십시오.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER) -
지정을 제거하십시오. 지정이 제거되면 로컬 스토리지 드라이버 팟(Pod) 및 스토리지 클래스가 스토리지 지정의 파트였던 모든 클러스터에서 제거됩니다.
ibmcloud sat storage assignment rm --assignment <assignment_ID> -
local-storage네임스페이스에 있는 리소스를 나열하고 로컬 스토리지 드라이버 팟(Pod)이 제거되었는지 확인하십시오.oc get all -n local-storage출력 예
No resources found in local-storage namespace. -
클러스터의 스토리지 클래스를 나열하고 로컬 스토리지 클래스가 제거되었는지 확인하십시오.
oc get sc -
선택사항: 스토리지 구성을 제거하십시오.
- 스토리지 구성을 나열하십시오.
ibmcloud sat storage config ls ``` 2. 스토리지 구성을 제거하십시오. ```sh {: pre} ibmcloud sat storage config rm --config <config_name> ``` -
PVC를 나열하고 제거할 PVC의 이름을 기록하십시오.
oc get pvc -
PVC를 현재 마운트하는 팟(Pod)을 제거하십시오.
- 삭제할 PVC를 현재 마운트하는 모든 팟(Pod)을 나열하십시오. 팟(Pod)이 리턴되지 않으면 현재 PVC를 사용하는 팟(Pod)이 없는 것입니다.
oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>" ``` 출력 예 ```sh {: screen} app sat-local-block-gold ``` 2. PVC를 사용하는 팟(Pod)을 제거하십시오. 팟(Pod)이 배치의 일부인 경우에는 배치를 제거하십시오. ```sh {: pre} oc delete pod <pod_name> ``` ```sh {: pre} oc delete deployment <deployment-name> ``` 3. 팟(Pod) 또는 배치가 제거되었는지 확인하십시오. ```sh {: pre} oc get pods ``` ```sh {: pre} oc get deployments ``` -
PVC를 삭제하십시오. 모든 IBM 제공 로컬 블록 스토리지 클래스는
Retain재확보 정책으로 지정되므로 앱 또는 배치를 삭제할 때 PV 및 PVC가 자동으로 삭제되지 않습니다.oc delete pvc <pvc-name> -
PVC가 제거되었는지 확인하십시오.
oc get pvc -
PV를 나열하고 제거할 PV의 이름을 기록하십시오.
oc get pv -
PV를 삭제하십시오. PV를 삭제하면 다른 워크로드에 사용할 수 있는 디스크가 작성됩니다.
oc delete pv <pv-name> -
PV가 제거되었는지 확인하십시오.
oc get pv
매개변수 참조
1.0.0 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 파일 스토리지 드라이버 설치 | install-local-storage-file |
Config | 파일 스토리지 드라이버를 설치하려면 'true'로 설정하십시오. | true |
| 파일 스토리지에 대한 자동 볼륨 감지 | auto-discover-devices-file |
Config | 파일 스토리지에 대한 작업자 노드에서 볼륨을 자동으로 발견하고 사용하려면 'true'로 설정하십시오. | false |
| 파일 스토리지 작업자 노드 레이블 키 | file-nodes-label-key |
Config | 파일 스토리지에 사용할 작업자 노드 'key = value' 레이블의 'key'입니다. | 해당사항 없음 |
| 파일 스토리지 작업자 노드 레이블 값 | file-nodes-label-value |
Config | 파일 스토리지에 사용할 작업자 노드 'key = value' 레이블의 'value'입니다. | 해당사항 없음 |
| 파일 스토리지의 디바이스 경로 | file-devicepath |
Config | 파일 스토리지에 사용할 작업자 노드의 스토리지 디바이스에 대한 경로입니다. 예: '/dev/sdc'. 이 옵션은 'auto-discover-devices-file'이 'false'로 설정된 경우에 필요합니다. | 해당사항 없음 |
| 파일 시스템 유형 | fstype |
Config | 파일 시스템 유형. 'ext3', 'ext4' 또는 'xfs'를 지정하십시오. | ext4 |
| 블록 스토리지 드라이버 설치 | install-local-storage-block |
Config | 블록 스토리지 드라이버를 설치하려면 'true'로 설정하십시오. | true |
| 블록 스토리지에 대한 자동 볼륨 감지 | auto-discover-devices-block |
Config | 블록 스토리지에 대한 작업자 노드에서 볼륨을 자동으로 발견하고 사용하려면 'true'로 설정하십시오. | false |
| 블록 스토리지 작업자 노드 레이블 키 | block-nodes-label-key |
Config | 블록 스토리지에 사용할 작업자 노드 'key = value' 레이블의 'key'입니다. | 해당사항 없음 |
| 블록 스토리지 작업자 노드 레이블 값 | block-nodes-label-value |
Config | 블록 스토리지에 사용할 작업자 노드 'key = value' 레이블의 'value'입니다. | 해당사항 없음 |
| 로컬 스토리지 블록의 디바이스 경로 | block-devicepath |
Config | 블록 스토리지에 사용할 작업자 노드의 스토리지 디바이스에 대한 경로입니다. 예: '/dev/sdc'. 이 옵션은 'auto-discover-devices-block'이 false로 설정된 경우에 필요합니다. | 해당사항 없음 |