• 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"

  • 相关阅读:
    Socket Client & Server
    2台整机,多线程运行测试时间不稳定
    去了一趟宝马铁西工厂,才知道工厂已经在数字孪生
    窗帘电机测试系统调试心得
    AntDesignBlazor 学习笔记
    简单粗暴的实现 Blazor Server 登录鉴权
    Blazor 子组件与父组件通过 ChildEvents 传递数据的方法
    EasyExcel 列 固定下拉选项的做法
    Java代码在数据库存取某些敏感字段的加解密做法
    nacos 使用【一】 创建一个属于自己的配置空间
  • 原文地址:https://www.cnblogs.com/networking/p/11154540.html
Copyright © 2020-2023  润新知