首页 > 数据库 >k8s之mysql(pv,pvc)

k8s之mysql(pv,pvc)

时间:2022-09-27 17:26:00浏览次数:58  
标签:kind pv name storage pvc mysql xbd k8s metadata

  一、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
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

 

标签:kind,pv,name,storage,pvc,mysql,xbd,k8s,metadata
From: https://www.cnblogs.com/ll409546297/p/16735235.html

相关文章

  • k8s之Secret
    一、密钥配置,简单一点就是重要的密钥管理。二、阿里云(其他docker仓库也适用)的密钥管理1)登录自己的docker仓库dockerlogin--username=<email>registry.c......
  • K8s Pod原理和运用
    Pod概念什么是Pod?Pod可简单地理解为是一组、一个或多个容器,具有共享存储/网络及如何运行容器的规范。Pad包含一个或多个相对紧密耦合的应用程序容器,处于同一个Pod中的容......
  • 云原生爱好者周刊:你对 K8s 集群升级有信心吗?
    开源项目推荐GoNoGo在Kubernetes集群中,有多种因素会影响到附加组件的升级成功率,比如某些组件只支持特定的API或者特定的Kubernetes版本,某些组件废弃了特定的annot......
  • on the IPv6 loopback interface: 'Cannot assign requested address'
    .netcore+docker  需要修改两个地方Dockerfile添加 ENVASPNETCORE_URLS=http://+:44303  FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseENVASPNETCORE......
  • 续(基于外部prometheus监控k8s 集群及k8s应用服务 )
     续:基于外部prometheus监控k8s集群及k8s应用服务 ......
  • IPv4与IPv6的简单联系与区别
    IPv4与IPv6的简单联系与区别网际协议版本4,(InternetProtocolversion4,IPv4),IPv4是互联网的核心,是网际协议开发过程中的第四个修订版本,也是使用最广泛的网际协议版本。I......
  • 【云原生】Hadoop HA on k8s 环境部署
    目录一、概述二、开始部署1)添加journalNode编排1、控制器Statefulset2、service2)修改配置1、修改values.yaml2、修改hadoop/templates/hadoop-configmap.yaml3)开始安装4)......
  • IPV4与IPV6的区别
    地址的区别: IPV4协议长度为32位(4个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D或E。IPv4地址的总数为429496......
  • 案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul
    #案例分享生产环境逐步迁移至k8s集群-pod注册到consul#项目背景多套业务系统,所有节点注册到consul集群,方便统一管理使用consul的dns功能,所有节点hostname能pin......
  • groovy 调整k8s的副本数定时任务
    目录groovy调整k8s的副本数定时任务groovy调整k8s的副本数定时任务packageplatformnode('ecs_wuhan_docker'){println"${BUILD_URL}console"defwxKey......