華為云計算 云知識 刪除PVC(待廢棄)DeleteCloudPersistentVolumeClaims
刪除PVC(待廢棄)DeleteCloudPersistentVolumeClaims

 

功能介紹

該API用于刪除指定Namespace下的PVC(PersistentVolumeClaim)對象,并可以選擇保留后端的 云存儲 。該API待廢棄,請使用Kubernetes PVC相關接口。

存儲管理的URL格式為:https://{clusterid}.Endpoint/uri。其中{clusterid}為集群ID,uri為資源路徑,也即API訪問的路徑。如果使用https://Endpoint/uri,則必須指定請求header中的X-Cluster-ID參數(shù)。

調用方法

請參見如何調用API

URI

DELETE /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims/{name}

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

name

String

需要刪除的PersistentVolumClaim的名稱。

namespace

String

指定PersistentVolumeClaim所在的命名空間。

表2 Query參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

deleteVolume

String

刪除PersistentVolumeClaim后是否保留后端關聯(lián)的云存儲。false表示不刪除,true表示刪除,默認為false。

storageType

String

云存儲的類型,和deleteVolume搭配使用。即deleteVolume和storageType必須同時配置。

請求參數(shù)

表3 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

Content-Type

String

消息體的類型(格式)

X-Auth-Token

String

調用接口的認證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token

X-Cluster-ID

String

集群ID,使用https://Endpoint/uri這種URL格式時必須指定此參數(shù)。獲取方式請參見如何獲取接口URI中參數(shù)。

響應參數(shù)

狀態(tài)碼: 200

表4 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

apiVersion

String

API版本,固定值v1

kind

String

API類型,固定值PersistentVolumeClaim

metadata

PersistentVolumeClaimMetadata object

metadata是集群對象的元數(shù)據定義,是集合類的元素類型,包含一組由不同名稱定義的屬性。

spec

PersistentVolumeClaimSpec object

spec是集合類的元素類型,用戶對需要管理的集群對象進行詳細描述的主體部分都在spec中給出。系統(tǒng)通過spec的描述來創(chuàng)建或更新對象。

status

PersistentVolumeClaimStatus object

status是當前PersistentVolumeClaim的狀態(tài)信息,創(chuàng)建時不需要添加status參數(shù)。

表5 PersistentVolumeClaimMetadata

參數(shù)

參數(shù)類型

描述

name

String

PersistentVolumeClaim名稱,可以包含小寫字母、數(shù)字、連字符和點,開頭和結尾必須是字母或數(shù)字,最長253個字符,同一namespace下name不能重復。

labels

String

PersistentVolumeClaim標簽,key/value對格式。

  • Key:必須以字母或數(shù)字開頭,可以包含字母、數(shù)字、連字符、下劃線和點,最長63個字符;另外可以使用DNS子域作為前綴,例如example.com/my-key,DNS子域最長253個字符。

  • Value:可以為空或者非空字符串,非空字符串必須以字符或數(shù)字開頭,可以包含字母、數(shù)字、連字符、下劃線和點,最長63個字符。

表6 PersistentVolumeClaimSpec

參數(shù)

參數(shù)類型

描述

volumeID

String

資源需為已經存在的存儲資源

  • 如果存儲資源類型是SFS、EVS、SFS-Turbo,本參數(shù)需要填入對應資源的ID

  • 如果資源類型為OBS,本參數(shù)填入OBS名稱

storageType

String

云存儲的類型,和volumeID搭配使用。即volumeID和storageType必須同時被配置。

  • bs:EVS云存儲

  • nfs:SFS 彈性文件 存儲

  • obs:OBS對象存儲

  • efs:SFS Turbo極速文件存儲

accessModes

Array of strings

指定volume應該具有的訪問模式,列表中僅第一個配置參數(shù)有效。

  • ReadWriteOnce:該卷可以被單個節(jié)點以讀/寫模式掛載

    說明:

    集群版本為v1.13.10且storage-driver版本為1.0.19時,才支持此功能。

  • ReadOnlyMany:該卷可以被多個節(jié)點以只讀模式掛載(默認)

  • ReadWriteMany:該卷可以被多個節(jié)點以讀/寫模式掛載

storageClassName

String

PVC的StorageClass名稱

volumeName

String

PVC綁定的PV名稱

resources

ResourceRequirements object

資源需求和限制

volumeMode

String

PVC指定的PV類型

表7 ResourceRequirements

參數(shù)

參數(shù)類型

描述

limits

Map<String,String>

資源限制,創(chuàng)建時指定無效

requests

Map<String,String>

資源需求,創(chuàng)建時指定無效

表8 PersistentVolumeClaimStatus

參數(shù)

參數(shù)類型

描述

accessModes

Array of strings

顯示volume實際具有的訪問模式。

capacity

String

底層卷的實際資源

phase

String

PersistentVolumeClaim當前所處的狀態(tài)

請求示例

響應示例

SDK代碼示例

SDK代碼示例如下。

  • Java
  • Python
  • Go
  • 更多
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.cce.v3.region.CceRegion;
import com.huaweicloud.sdk.cce.v3.*;
import com.huaweicloud.sdk.cce.v3.model.*;


public class DeleteCloudPersistentVolumeClaimsSolution {

    public static void main(String[] args) {
        String ak = "<YOUR AK>";
        String sk = "<YOUR SK>";

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("cn-north-4"))
                .build();
        DeleteCloudPersistentVolumeClaimsRequest request = new DeleteCloudPersistentVolumeClaimsRequest();
        request.withName("<name>");
        request.withNamespace("<namespace>");
        try {
            DeleteCloudPersistentVolumeClaimsResponse response = client.deleteCloudPersistentVolumeClaims(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcce.v3.region.cce_region import CceRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcce.v3 import *

if __name__ == "__main__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"

    credentials = BasicCredentials(ak, sk) \

    client = CceClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CceRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = DeleteCloudPersistentVolumeClaimsRequest()
        request.name = "<name>"
        request.namespace = "<namespace>"
        response = client.delete_cloud_persistent_volume_claims(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
)

func main() {
    ak := "<YOUR AK>"
    sk := "<YOUR SK>"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := cce.NewCceClient(
        cce.CceClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.DeleteCloudPersistentVolumeClaimsRequest{}
	request.Name = "<name>"
	request.Namespace = "<namespace>"
	response, err := client.DeleteCloudPersistentVolumeClaims(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多編程語言的SDK代碼示例,請參見API Explorer的代碼示例頁簽,可生成自動對應的SDK代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

200

刪除指定PersistentVolumeClaim作業(yè)下發(fā)成功。

錯誤碼

請參見錯誤碼