• k8s的持久化存储


    本例使用nfs

    创建pv

    [root@k8s-master data]# vi pv.yaml 

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: web
    spec:
    capacity:
    storage: 5Gi
    accessModes:
    - ReadWriteOnce
    persistentVolumeReclaimPolicy: Recycle
    nfs:
    path: /data
    server: 10.10.1.10

    字段说明:

    ========================================================

    capacity 指定 PV 的容量为 5G。
    accessModes 指定访问模式为 ReadWriteOnce,支持的访问模式有:
    ReadWriteOnce – PV 能以 read-write 模式 mount 到单个节点。
    ReadOnlyMany – PV 能以 read-only 模式 mount 到多个节点。
    ReadWriteMany – PV 能以 read-write 模式 mount 到多个节点。
    persistentVolumeReclaimPolicy 指定当 PV 的回收策略为 Recycle,支持的策略有:
    Retain – 需要管理员手工回收。
    Recycle – 清除 PV 中的数据,效果相当于执行 rm -rf /thevolume/*。
    Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
    storageClassName 指定 PV 的 class 为 nfs。相当于为 PV 设置了一个分类,PVC 可以指定 class 申请相应 class 的 PV。

    创建PVC

    [root@k8s-master data]# vi pvc.yaml

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
    name: lnmp
    spec:
    accessModes:
    - ReadWriteOnce
    resources:
    requests:
    storage: 5Gi

    [root@k8s-master data]# kubectl apply -f pvc.yaml
    persistentvolumeclaim "lnmp" created

    [root@k8s-master data]# kubectl get pvc
    NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
    lnmp Bound web 5Gi RWO 29s
    [root@k8s-master data]#

    定义PV

    =======================================================

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: web
    spec:
    capacity:
    storage: 5Gi
    accessModes:
    - ReadWriteOnce
    persistentVolumeReclaimPolicy: Recycle
    nfs:
    path: /data
    server: 10.10.1.10

    定义PVC

    ==========================================================

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
    name: lnmp
    spec:
    accessModes:
    - ReadWriteOnce
    resources:
    requests:
    storage: 5Gi

    定义pod

    =====================================================

    apiVersion: v1
    kind: ReplicationController
    metadata:
    name:lnmp
    spec:
    replicas: 1
    selector:
    app: o2o
    template:
    metadata:
    labels:
    app: o2o
    spec:
    containers:
    - name: o2o
    image: docker.io/winstonpro/lnmp
    ports:
    - containerPort: 80
    volumeMounts:
    - mountPath: /home/wwwroot/default
    readOnly: false
    name: o2o
    volumes:
    - name: o2o
    nfs:
    server: 10.10.1.10
    path: "/data"

  • 相关阅读:
    JavaScript设计模式
    AgileConfig-如何使用AgileConfig.Client读取配置
    Java8的Optional:如何干掉空指针?
    k8s之DNS服务器搭建
    如何根据角色批量激活SAP Fiori服务
    被自己以为的GZIP秀到了
    Kubernetes官方java客户端之二:序列化和反序列化问题
    java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
    Shiro运行原理?
    Shiro认证过程?
  • 原文地址:https://www.cnblogs.com/networking/p/11154540.html
Copyright © 2020-2023  润新知