Skip to content

1.5安装mysql

pvc

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-data
  namespace: devops
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: basic-services

service

kind: Service
apiVersion: v1
metadata:
  name: mysql
  namespace: devops
spec:
  ports:
    - name: mysqlport
      protocol: TCP
      port: 3306
      targetPort: 3306
      nodePort: 31185
  selector:
    app: mysql
  type: NodePort

deployment

kind: Deployment
apiVersion: apps/v1
metadata:
  name: mysql
  namespace: devops
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      volumes:
        - name: mysql-storage
          persistentVolumeClaim:
            claimName: mysql-data
        - name: config
          configMap:
            name: mysql-config
            defaultMode: 420
        - name: localtime
          hostPath:
            path: /etc/localtime
            type: File
      containers:
        - name: mysql-container
          image: registry.cn-chengdu.aliyuncs.com/liuchenyun/mysql:5.7
          args:
            - '--datadir'
            - /var/lib/mysql/datadir
          ports:
            - name: dbapi
              containerPort: 3306
              protocol: TCP
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: '123456'
            - name: TZ
              value: Asia/Shanghai
          resources:
            requests:
              cpu: 10m
              memory: 4Gi
          volumeMounts:
            - name: mysql-storage
              mountPath: /var/lib/mysql
            - name: config
              mountPath: /etc/mysql/conf.d/my.cnf
              subPath: my.cnf
          imagePullPolicy: IfNotPresent
      nodeName: k8s
      imagePullSecrets:
        - name: dockercfg-liuchenyun

configmap

kind: ConfigMap
apiVersion: v1
metadata:
  name: mysql-config
  namespace: devops
  labels:
    app: mysql
data:
  my.cnf: >-
    [client]

    default-character-set=utf8mb4

    [mysql]

    default-character-set=utf8mb4

    [mysqld]

    character-set-server = utf8mb4

    collation-server = utf8mb4_unicode_ci

    init_connect='SET NAMES utf8mb4'

    skip-character-set-client-handshake = true

    max_connections=2000

    max_allowed_packet = 1073741824

    secure_file_priv=''

    bind-address=0.0.0.0

    symbolic-links=0

    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'