要在 Tanzu Kubernetes 集群上运行有状态工作负载,可以创建持久卷声明 (PVC),以请求持久存储资源,而无需了解底层存储基础架构的详细信息。用于 PVC 的存储从 vSphere 命名空间 的存储配额进行分配。
默认情况下,容器是临时和无状态容器。对于有状态工作负载,一种常用的方法是创建持久卷声明 (PVC)。可以使用 PVC 挂载持久卷和访问存储。请求会动态地置备持久卷对象和匹配的虚拟磁盘。此声明将绑定到持久卷。删除此声明时,也将删除相应的持久卷对象和已置备的虚拟磁盘。
过程
- 登录到目标 Tanzu Kubernetes 集群。请参见以 vCenter Single Sign-On 用户身份连接到 Tanzu Kubernetes 集群。
- 切换到正在运行集群的命名空间。
kubectl config use-context NAMESPACE
- 验证存储类或创建一个存储类。
要验证现有存储类,请执行以下命令:
kubectl get storageclass
- 创建命名空间。
kubectl create namespace guestbook
- 创建 Guestbook PVC YAML 文件。
- 将 Guestbook PVC 应用于集群。
kubectl apply -f redis-leader-pvc.yaml -n guestbook
kubectl apply -f redis-follower-pvc.yaml -n guestbook
- 验证 PVC 的状态。
kubectl get pvc,pv -n guestbook
PVC 和持久卷 (PV) 将列出,并可供使用。
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/redis-follower-pvc Bound pvc-37b72f35-3de2-4f84-be7d-50d5dd968f62 2Gi RWO tkgs-storage-class 66s
persistentvolumeclaim/redis-leader-pvc Bound pvc-2ef51f31-dd4b-4fe2-bf4c-f0149cb4f3da 2Gi RWO tkgs-storage-class 66s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS
persistentvolume/pvc-2ef51f31-dd4b-4fe2-bf4c 2Gi RWO Delete Bound guestbook/redis-leader-pvc tkgs-storage-class
persistentvolume/pvc-37b72f35-3de2-4f84-be7d 2Gi RWO Delete Bound guestbook/redis-follower-pvc tkgs-storage-class