k8s之mysql(pv,pvc)

  一、PersistentVolume (PV):簡短一點就是管理員創建的一種存儲資源

  二、PersistentVolumeClaim (PVC):就一種聲明,說我要使用pv了。

  三、PV和PVC的配置

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
apiVersion: v1
kind: PersistentVolume
metadata:
  name: xbd-mysql-pv
spec:
  capacity:
    storage: 2Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  local:
    path: /var/lib/mysql
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
              - node2
# nfs 存儲
# storageClassName: nfs
# nfs:
# path: /nfsdata/mysql
# server: 192.168.5.200
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: xbd-mysql-pvc
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: "local-storage"
  resources:
    requests:
      storage: 2Gi

  四、實際中的使用,比如mysql

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: xbd-mysql
spec:
  serviceName: xbd-mysql
  replicas: 1
  selector:
    matchLabels:
      app: xbd-mysql
  template:
    metadata:
      labels:
        app: xbd-mysql
    spec:
      containers:
        - name: xbd-mysql
          image: registry.cn-chengdu.aliyuncs.com/xbd/xbd-mysql:1.0
          imagePullPolicy: IfNotPresent
          args:
            - --lower_case_table_names=1
            - --character-set-server=utf8
            - --collation-server=utf8_general_ci
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: root
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: xbd-mysql-storage
      imagePullSecrets:
        - name: aliyun-secret
      volumes:
        - name: xbd-mysql-storage
          persistentVolumeClaim:
            claimName: xbd-mysql-pvc
apiVersion: v1
kind: Service
metadata:
  name: xbd-mysql
spec:
  clusterIP: None
  ports:
    - port: 3306
      protocol: TCP
      targetPort: 3306
  selector:
    app: xbd-mysql
  type: ClusterIP

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章