MySQL on kubernetes

2021-10-19  本文已影响0人  allenhaozi
apiVersion: v1
data:
  my.cnf: |
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/

    # customized config
    [client]
    default-character-set = utf8mb4

    [mysql]
    default-character-set = utf8mb4

    [mysqld]
    basedir = /mnt/disk0/mysql
    datadir = /mnt/disk0/data
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    init_connect='SET collation_connection = utf8mb4_unicode_ci'
    character-set-client-handshake = FALSE
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: mysql
  name: datahub-mysql-dev
  namespace: datahub
apiVersion: v1
data:
  mysql-root-password: ZGF0YWh1Yg==
kind: Secret
metadata:
  creationTimestamp: "2021-10-14T07:30:29Z"
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:data:
        .: {}
        f:mysql-root-password: {}
      f:type: {}
    manager: kubectl
    operation: Update
    time: "2021-10-14T07:30:29Z"
  name: mysql-secrets
  namespace: datahub
  resourceVersion: "3985197"
  uid: 527bb308-302a-43e7-8ca4-a637b32f3e06
type: Opaque

apiVersion: v1
kind: ServiceAccount
metadata:
  annotations:
    meta.helm.sh/release-name: datahub
    meta.helm.sh/release-namespace: datahub
  creationTimestamp: "2021-10-14T07:46:20Z"
  labels:
    app.kubernetes.io/instance: datahub
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: mysql
    helm.sh/chart: mysql-8.5.4
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:meta.helm.sh/release-name: {}
          f:meta.helm.sh/release-namespace: {}
        f:labels:
          .: {}
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/name: {}
          f:helm.sh/chart: {}
      f:secrets:
        .: {}
        k:{"name":"mysql-secrets"}:
          .: {}
          f:name: {}
    manager: Go-http-client
    operation: Update
    time: "2021-10-14T07:46:20Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:secrets:
        k:{"name":"datahub-mysql-token-6t667"}:
          .: {}
          f:name: {}
    manager: kube-controller-manager
    operation: Update
    time: "2021-10-14T07:46:20Z"
  name: datahub-mysql
  namespace: datahub
  resourceVersion: "3988502"
  uid: 45222001-97fd-4daf-ade1-b68aaa62a2a5
secrets:
- name: mysql-secrets
- name: datahub-mysql-token-6t667
apiVersion: v1
kind: Service
metadata:
  annotations:
    field.cattle.io/publicEndpoints: '[{"addresses":["172.27.70.13"],"port":30290,"protocol":"TCP","serviceName":"datahub:datahub-mysql","allNodes":true}]'
    meta.helm.sh/release-name: datahub
    meta.helm.sh/release-namespace: datahub
  creationTimestamp: "2021-10-14T07:46:21Z"
  labels:
    app.kubernetes.io/component: primary
    app.kubernetes.io/instance: datahub
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: mysql
    helm.sh/chart: mysql-8.5.4
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:meta.helm.sh/release-name: {}
          f:meta.helm.sh/release-namespace: {}
        f:labels:
          .: {}
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/name: {}
          f:helm.sh/chart: {}
      f:spec:
        f:ports:
          .: {}
          k:{"port":3306,"protocol":"TCP"}:
            .: {}
            f:name: {}
            f:port: {}
            f:protocol: {}
            f:targetPort: {}
        f:selector:
          .: {}
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/instance: {}
          f:app.kubernetes.io/name: {}
        f:sessionAffinity: {}
    manager: Go-http-client
    operation: Update
    time: "2021-10-14T07:46:21Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:spec:
        f:externalTrafficPolicy: {}
        f:type: {}
    manager: kubectl
    operation: Update
    time: "2021-10-19T09:12:24Z"
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:field.cattle.io/publicEndpoints: {}
    manager: rancher
    operation: Update
    time: "2021-10-19T09:12:24Z"
  name: datahub-mysql
  namespace: datahub
  resourceVersion: "5598552"
  uid: d22bacb5-72c0-4f23-b412-c1125b02399c
spec:
  clusterIP: 10.43.73.203
  clusterIPs:
  - 10.43.73.203
  externalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: mysql
    nodePort: 30290
    port: 3306
    protocol: TCP
    targetPort: mysql
  selector:
    app.kubernetes.io/component: primary
    app.kubernetes.io/instance: datahub
    app.kubernetes.io/name: mysql
  sessionAffinity: None
  type: NodePort

apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app.kubernetes.io/component: primary
    app.kubernetes.io/instance: datahub
    app.kubernetes.io/name: mysql
  name: datahub-mysql
  namespace: datahub
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: mysql
      app.kubernetes.io/component: primary
      app.kubernetes.io/instance: datahub
  serviceName: datahub-mysql
  template:
    metadata:
      annotations:
      labels:
        app.kubernetes.io/name: mysql
        app.kubernetes.io/component: primary
        app.kubernetes.io/instance: datahub
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchLabels:
                  app.kubernetes.io/name: mysql
              namespaces:
              - datahub
              topologyKey: kubernetes.io/hostname
            weight: 1
      containers:
      - env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-secrets
              key: mysql-root-password
        image: mysql:5.7.33
        #command: ["mysqld"]
        #args:
        #  - "--initialize-insecure"
        #  - "--ignore-db-dir=lost+found"
        #  - "--user=root"
        imagePullPolicy: IfNotPresent
        livenessProbe:
          exec:
            command:
            - /bin/bash
            - -ec
            - |
              password_aux="${MYSQL_ROOT_PASSWORD:-}"
              if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                  password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
              fi
              mysqladmin status -uroot -p"${password_aux}"
          failureThreshold: 3
          initialDelaySeconds: 120
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: mysql
        ports:
        - containerPort: 3306
          name: mysql
          protocol: TCP
        readinessProbe:
          exec:
            command:
            - /bin/bash
            - -ec
            - |
              password_aux="${MYSQL_ROOT_PASSWORD:-}"
              if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                  password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
              fi
              mysqladmin status -uroot -p"${password_aux}"
          failureThreshold: 3
          initialDelaySeconds: 30
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        volumeMounts:
        - mountPath: /mnt/disk0
          name: data
        - mountPath: /etc/mysql/my.cnf
          name: config
          subPath: my.cnf
      volumes:
      - configMap:
          defaultMode: 420
          name: datahub-mysql-dev
        name: config
  volumeClaimTemplates:
  - metadata:
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      storageClassName: "rancher-local-path"
      resources:
        requests:
          storage: 10Gi
      volumeMode: Filesystem
上一篇下一篇

猜你喜欢

热点阅读