PVC

    暴露了基础设施:

    image.png

    使用 PVC, 可以简化声明和使用 PV 的门槛:

    1. 定义 PVC

    image.png

    1. 使用 PVC

    image.png
    image.png

    1. 运维人员维护 PV

    image.png

    StatefulSet 使用 PVC:

    image.png
    image.png
    image.png

    image.png

    StatefulSet 通过将 PVC 名与 Pod 名绑定来实现存储状态的一致性. 上述 StatefulSet yaml 中的 Pod 名为 web-x, 而与该 Pod 绑定的 PVC 名为 www-web-x.

    1. $ kubectl get pvc -l app=nginx

    image.png

    梳理:

    1. StatefulSet 直接管理 Pod, 因为每个 Pod 不同, 无法使用 ReplicaSet
    2. Kubernetes 通过 Headless Service 为这些有编号的 Pod, 在 DNS 服务器中生成带有相同编号的 DNS 记录
    3. StatefulSet 为每个 Pod 分配并创建一个相同编号的 PVC