一、PV和PVC生命周期简介
PV和PVC的生命周期见下图
PV和PVC是一一对应的,PV和PVC之间的相互作用遵循一下生命周期:
资源供应
管理员手动创建底层存储和PV
资源绑定
用户创建PVC,Kubernetes负责根据PVC声明去寻找PV,并绑定
在用户定义好PVC之后,系统将根据PVC对存储资源的请求在已存在的PV中选择一个满足条件的
- 一旦找到,就将该PV与用户定义的PVC进行绑定,用户的应用就可以使用这个PC了
- 如果找不到,PVC则会无限期处于Pending状态,知道等到系统管理员创建了一个符合其要求的PV
PV一旦绑定到某个PVC上,就会被这个PVC独占,不能再与其他PVC进行绑定了
资源使用
用户可以在Pod中像volume一样使用PVC
Pod使用Volume的定义,将PVC挂载到容器内的某个路径进行使用
资源释放
用户删除PVC来释放PV
当存储资源使用完毕后,用户可以删除PVC,与该PVC绑定的PV将会被标记为“已释放”,但还不能立刻与其他的PVC进行绑定,通过之前PVC写入的数据可能还被留在存储设备上,只有在清除之后该PV才能再次使用
资源回收
Kubernetes根据PV设置的回收策略进行资源的回收
对于PV,管理员可以设定回收策略,用于设置与之绑定的PVC释放资源之后如何处理遗留数据的问题,只有PV的存储空间完成回收,才能供新的PVC绑定和使用