美文网首页
MySQL on kubernetes

MySQL on kubernetes

作者: allenhaozi | 来源:发表于2021-10-19 19:08 被阅读0次
    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
    

    相关文章

      网友评论

          本文标题:MySQL on kubernetes

          本文链接:https://www.haomeiwen.com/subject/aggaoltx.html