kubectl get pvc
时间: 2024-08-14 19:07:47 浏览: 59
`kubectl get pvc` 是 Kubernetes(K8s)命令,用于查看 Persistent Volume Claims (PVC) 的状态。PVC 是对存储资源的一种请求,在Kubernetes集群中,它们定义了应用程序所需的数据持久化存储。
运行这个命令会显示集群中所有 PVC 的详细信息,包括名称、状态、容量、挂载到哪个 Pod 或者 Service、以及创建时间和更新时间等。以下是一个示例输出:
```shell
$ kubectl get pvc -o wide
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS REASON AGE
persistentvolumeclaim1 10Gi RWO Bound app-pod1 standard N/A 2d
```
在这个例子中,`app-pod1` 的 PVC 已经绑定到了名为 `standard` 的 StorageClass,表示它正在使用的存储资源。
相关问题
#! /bin/sh echo -e "====== Start Test EVS(snapshot) " testRes="false" cat << EOF | kubectl apply -f - apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: evs-sc provisioner: evs.csi.huaweicloud.com allowVolumeExpansion: true parameters: type: SSD reclaimPolicy: Delete --- apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: evs-snapshot-class driver: evs.csi.huaweicloud.com deletionPolicy: Delete parameters: force-create: "false" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: evs-snapshot-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: evs-sc EOF for (( i=0; i<4; i++)); do lines=`kubectl get pvc | grep evs-snapshot-pvc | grep Bound | wc -l` if [ "$lines" = "1" ]; then testRes="true" else testRes="false" fi sleep 5 done cat << EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: test-snapshot-demo1 spec: containers: - image: nginx imagePullPolicy: IfNotPresent name: nginx command: ["/bin/sh"] args: ["-c", "while true; do echo $(date -u) >> /var/lib/www/html/outfile; sleep 1; done"] ports: - containerPort: 80 protocol: TCP volumeMounts: - mountPath: /var/lib/www/html name: csi-data-evs volumes: - name: csi-data-evs persistentVolumeClaim: claimName: evs-snapshot-pvc readOnly: false EOF for (( i=0; i<10; i++)); do lines=`kubectl get pod | grep test-snapshot-demo1 | grep Running | wc -l` if [ "$lines" = "1" ]; then testRes="true" else testRes="false" fi sleep 5 done
根据提供的 Shell 脚本,您正在进行以下操作:
1. 创建名为 "evs-sc" 的存储类,使用 `evs.csi.huaweicloud.com` 作为提供程序,并指定一些参数如 `type: SSD` 和 `reclaimPolicy: Delete`。
2. 创建名为 "evs-snapshot-class" 的快照类,使用 `evs.csi.huaweicloud.com` 作为驱动程序,并指定一些参数如 `deletionPolicy: Delete` 和 `parameters: force-create: "false"`。
3. 创建名为 "evs-snapshot-pvc" 的持久卷声明,指定访问模式为 ReadWriteOnce,请求10GB的存储容量,并使用存储类 "evs-sc"。
4. 创建一个名为 "test-snapshot-demo1" 的 Pod,其中包含一个 nginx 容器和一个与持久卷声明 "evs-snapshot-pvc" 关联的卷。
在脚本的最后,使用循环检查 PVC 和 Pod 的状态,如果它们成功运行,则将 `testRes` 设置为 "true",否则设置为 "false"。
根据脚本的逻辑,检查 PVC 和 Pod 的状态是为了验证是否成功创建和绑定了持久卷,并通过 Pod 运行来验证是否成功挂载了持久卷。
请注意,脚本中的循环检查可能需要一些时间来完成。如果脚本在循环检查中出现问题,请提供任何错误消息或其他详细信息,以便我们能够更好地帮助您解决问题。
kubectl get pv
`kubectl get pv` 是用于查询 Kubernetes(K8s)集群中持久卷(Persistent Volumes, PVs)的状态和信息的一个命令。PV是K8s中的一种存储资源,它们是独立于应用的,可以被多个Pod共享。
运行 `kubectl get pv` 命令会显示当前集群中所有可用的PV及其详细信息,包括名称、状态、容量、挂载路径、以及附加到的存储类等。这个命令通常用于监控和管理集群的存储资源。
下面是一个基本示例:
```shell
$ kubectl get pv
NAME CAPACITY ACCESSModes RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolumeclaim-storage-pvc 1Gi RWO Retain Available default/my- 3h
```
在这个例子中,`persistentvolumeclaim-storage-pvc` 是PV的名字,`1Gi` 表示容量,`RWO` 指的是只读写访问模式,`Retain` 是回收策略,`Available` 表示该PV当前可以被使用,`default/my-pvc` 是与之关联的持久化卷声明(PersistentVolumeClaim),`standard` 是存储类名。
阅读全文