zoukankan      html  css  js  c++  java
  • k8s存储 pv pvc ,storageclass

    1.  pv  pvc

    现在测试 glusterfs  nfs  可读可写, 多个pod绑定到同一个pvc上,可读可写。

    2. storageclass  分成两种

    (1)  建立pvc, 相当于多个pod绑定在一个pvc上。

     

    pvc的yaml

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: managed-nfs-storage-pvc
      annotations:
        volume.beta.kubernetes.io/storage-class: managed-nfs-storage
    spec:
      accessModes:
        - ReadWriteOnce  #必须写ReadWriteOnce,否则报错。
      resources:
        requests:
          storage: 5Gi

    deployment文件

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: nfs-pvc-test
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            app: nfs-pvc-test
        spec:
          containers:
          - name: nginx
            image: docker.cinyi.com:443/nginx:alpine
            ports:
            - containerPort: 80
            volumeMounts:
            - name: www
              mountPath: /usr/share/nginx/html
          volumes:
          - name: www
            persistentVolumeClaim:
              claimName: managed-nfs-storage-pvc
    
    ---
    
    apiVersion: v1
    kind: Service
    metadata:
      name: nfs-pvc-test
      labels:
        app: nfs-pvc-test
    spec:
      type: NodePort
      ports:
      - port: 80
      selector:
        app: nfs-pvc-test

    (2) 直接引用 storageclass

     相当于每个pod都单独创建pvc,pv

     

    新建statefulset

    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
      name: web
    spec:
      serviceName: "nginx1"
      replicas: 4
      volumeClaimTemplates:
      - metadata:
          name: test
          annotations:
            volume.beta.kubernetes.io/storage-class: "managed-nfs-storage" #此处引用classname
        spec:
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 2Gi
      template:
        metadata:
          labels:
            app: nginx1
        spec:
          containers:
          - name: nginx1
            image: docker.cinyi.com:443/senyint/nginx:v.10
            volumeMounts:
            - mountPath: "/mnt"
              name: test

    当使用ceph 块存储时, 使用storageclass  pvc 时, deployment 副本数写成多个,会报错。 

  • 相关阅读:
    MySQL 参数- Innodb_File_Per_Table(独立表空间)
    PHP Html 弹窗,本页面弹窗子页面
    ecshop 后台添加 成本价 利润
    MYSQL中的字符串连接符
    dede织梦后台页面及功能修改及精简操作方法
    ecshop 调用其他数据库中的商品
    wamp mysql 创建主从数据库
    mysql 主从同步原理
    mysql 利用触发器(Trigger)让代码更简单
    iOS开发工具——网络封包分析工具Charles
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/8119273.html
Copyright © 2011-2022 走看看