image.png

    PVC和PV是一一对应的,PV和PVC之间的相互作用遵循以下生命周期:

    资源供应:

    1. 管理员手动创建底层存储和PV

    资源绑定:

    1. 用户创建PVC,kubernetes负责根据PVC的声明去寻找PV,并绑定

    2. 在用户定义好PVC之后,系统将根据PVC对存储资源的请求在已存在的PV中选择一个满足条件的一旦找到,就将该PV与用户定义的PVC进行绑定,用户的应用就可以使用这个PVC了

    3. 如果找不到,PVC则会无限期处于Pending状态,直到等到系统管理员创建了一个符合其要求的PV

    4. PV一旦绑定到某个PVC上,就会被这个PVC独占,不能再与其他PVC进行绑定了

    资源使用:

    1. 用户可在pod中像volume一样使用pvc

    2. Pod使用Volume的定义,将PVC挂载到容器内的某个路径进行使用

    资源释放:

    1. 用户删除pvc来释放pv

    2. 当存储资源使用完毕后,用户可以删除PVC,与该PVC绑定的PV将会被标记为“已释放”,但还不能立刻与

    其他PVC进行绑定,通过之前PVC写入的数据可能还被留在存储设备上,只有在清除之后该PV才能再次使用

    资源回收:

    1. kubernetes根据pv设置的回收策略进行资源的回收

    2. 对于PV,管理员可以设定回收策略,用于设置与之绑定的PVC释放资源之后如何处理遗留数据的问题,只有

    PV的存储空间完成回收,才能供新的PVC绑定和使用