• kubernete 本地持久化存储 kube-controller-manager的日志输出 + pvc pv 概念 -- storageclass 概念


    1.mysql持久化存储

    [root@pserver78 0415villa]# cat latestmysql.yaml |grep -v '^#'
    apiVersion: v1
    kind: Service
    metadata:
      name: villa-mysql01
      labels:
        app: villa-mysql01
    spec:
      ports:
        - port: 3306
          protocol: TCP
          targetPort: 3306
      selector:
        app: villa-mysql01
        tier: mysql01
      type: ClusterIP
    ---
    ---
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: villa-mysql01
      labels:
        app: villa-mysql01
    spec:
      strategy:
        type: Recreate
      template:
        metadata:
          labels:
            app: villa-mysql01
            tier: mysql01
        spec:
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: kubernetes.io/hostname
                    operator: In
                    values:
                    - pserver137
          containers:
          - image: mysql:5.6
            name: vvvvmysql01
            env:
            - name: MYSQL_ROOT_PASSWORD
              value: 'engine'
            - name: MYSQL_PASSWORD
              value: 'engine'
    
            ports:
            - containerPort: 3306
              name: mysql01-port
            volumeMounts:
            - name: mysql01-persistent-storage
              mountPath: /var/lib/mysql
          volumes:
          - name: mysql01-persistent-storage
            persistentVolumeClaim:
              claimName: villa-mysql01

    2.创建PVC和PV

    [root@pserver78 villa]# cat  mysqlpvc01.yaml |grep -v '^#'
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: villa-mysql01
    spec:
      accessModes:
      - ReadWriteOnce
      storageClassName: local-storage
      resources:
        requests:
          storage: 50Gi
    ---
    kind: PersistentVolume
    apiVersion: v1
    metadata:
      name: villa-mysql01
      labels:
        app: villa-mysql01
    spec:
      persistentVolumeReclaimPolicy: Retain
      storageClassName: local-storage
      capacity:
        storage: 50Gi
      accessModes:
        - ReadWriteOnce
      local:
        path: "/mnt/disks/villa-mysql01"
      nodeAffinity:
        required:
          nodeSelectorTerms:
          - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
              - pserver137

    3.定义storageclass

    [root@pserver78 villa]# kubectl -n villa0415   get storageClass local-storage -o yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      annotations:
        kubectl.kubernetes.io/last-applied-configuration: |
          {"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"local-storage","namespace":""},"provisioner":"kubernetes.io/no-provisioner","volumeBindingMode":"WaitForFirstConsumer"}
      creationTimestamp: 2018-10-31T00:33:22Z
      name: local-storage
      resourceVersion: "788"
      selfLink: /apis/storage.k8s.io/v1/storageclasses/local-storage
      uid: 92313505-dca4-11e8-a7fc-020050e80095
    provisioner: kubernetes.io/no-provisioner
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    4.官网定义storageclass
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: local-storage
    provisioner: kubernetes.io/no-provisioner
    volumeBindingMode: WaitForFirstConsumer
  • 相关阅读:
    对于CD翻录的一些记录
    暑期实践
    暑期实践
    垃圾处理器-CMS
    离合器半联动点的判断和技巧
    Win10+VS2019+OpenCV环境配置
    C++ 学习资料
    科目二起步原理
    道路交通安全违法行为记分分值分类总结
    NWERC 2020 题解
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/10722488.html
Copyright © 2020-2023  润新知