呃,有创建出来的pod都是running的状态,日志查看也没有特别的错误日志。但是tidb pod没有创建,它对于的statefulsets 也没有创建。
下面是集群的详情信息
+ kubectl describe tidbclusters -n frs-dev
Name: advanced-tidb
Namespace: frs-dev
Labels: <none>
Annotations: <none>
API Version: pingcap.com/v1alpha1
Kind: TidbCluster
Metadata:
Creation Timestamp: 2022-11-01T07:32:45Z
Generation: 17
Resource Version: 3871439862
Self Link: /apis/pingcap.com/v1alpha1/namespaces/frs-dev/tidbclusters/advanced-tidb
UID: dae58b62-7e57-4ac1-96ae-8c9b1680bb57
Spec:
Config Update Strategy: RollingUpdate
Discovery:
Enable Dynamic Configuration: true
Enable PV Reclaim: false
Helper:
Image: alpine:3.16.0
Image Pull Policy: IfNotPresent
Node Selector:
Project: RECONPLFM
Pd:
Base Image: pingcap/pd
Config: lease = 1800
[dashboard]
internal-proxy = true
Max Failover Count: 0
Mount Cluster Client Secret: false
Replicas: 1
Requests:
Storage: 10Gi
Storage Class Name: cna-reconplfm-dev-nas
Pv Reclaim Policy: Retain
Tidb:
Base Image: pingcap/tidb
Config: [log]
[log.file]
max-backups = 3
[performance]
tcp-keep-alive = true
Max Failover Count: 0
Replicas: 2
Service:
Type: ClusterIP
Storage Class Name: cna-reconplfm-dev-nas
Tikv:
Base Image: pingcap/tikv
Config: log-level = "info"
Max Failover Count: 0
Mount Cluster Client Secret: false
Replicas: 3
Requests:
Storage: 50Gi
Storage Class Name: cna-reconplfm-dev-nas
Timezone: UTC
Tls Cluster:
Tolerations:
Effect: NoSchedule
Key: RECONPLFM
Operator: Equal
Version: v6.1.0
Status:
Cluster ID: 7160932248881483001
Conditions:
Last Transition Time: 2022-11-01T07:32:45Z
Last Update Time: 2022-11-01T07:33:07Z
Message: TiKV store(s) are not up
Reason: TiKVStoreNotUp
Status: False
Type: Ready
Pd:
Image: pingcap/pd:v6.1.0
Leader:
Client URL: http://advanced-tidb-pd-0.advanced-tidb-pd-peer.frs-dev.svc:2379
Health: true
Id: 11005745135123337789
Last Transition Time: 2022-11-01T07:33:06Z
Name: advanced-tidb-pd-0
Members:
advanced-tidb-pd-0:
Client URL: http://advanced-tidb-pd-0.advanced-tidb-pd-peer.frs-dev.svc:2379
Health: true
Id: 11005745135123337789
Last Transition Time: 2022-11-01T07:33:06Z
Name: advanced-tidb-pd-0
Phase: Normal
Stateful Set:
Collision Count: 0
Current Replicas: 1
Current Revision: advanced-tidb-pd-59466586bc
Observed Generation: 1
Ready Replicas: 1
Replicas: 1
Update Revision: advanced-tidb-pd-59466586bc
Updated Replicas: 1
Synced: true
Pump:
Ticdc:
Tidb:
Tiflash:
Tikv:
Phase: Normal
Stateful Set:
Collision Count: 0
Current Replicas: 3
Current Revision: advanced-tidb-tikv-66f457c77b
Observed Generation: 3
Ready Replicas: 3
Replicas: 3
Update Revision: advanced-tidb-tikv-66f457c77b
Updated Replicas: 3
Synced: true
Events: <none>
这是我集群的配置文件,麻烦办法看一下有没有问题
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: advanced-tidb
namespace: frs-dev
spec:
#######################
# Basic Configuration #
#######################
## TiDB cluster version
version: "v6.1.0"
## Time zone of TiDB cluster Pods
timezone: UTC
## serviceAccount specifies the service account for PD/TiDB/TiKV/TiFlash/Pump/TiCDC components in this TidbCluster
# serviceAccount: advanced-tidb
## ConfigUpdateStrategy determines how the configuration change is applied to the cluster.
## Valid values are `InPlace` and `RollingUpdate`
## UpdateStrategy `InPlace` will update the ConfigMap of configuration in-place and an extra rolling update of the
## cluster component is needed to reload the configuration change.
## UpdateStrategy `RollingUpdate` will create a new ConfigMap with the new configuration and rolling update the
## related components to use the new ConfigMap, that is, the new configuration will be applied automatically.
configUpdateStrategy: RollingUpdate
## ImagePullPolicy of TiDB cluster Pods
## Ref: https://kubernetes.io/docs/concepts/configuration/overview/#container-images
# imagePullPolicy: IfNotPresent
## If private registry is used, imagePullSecrets may be set
## You can also set this in service account
## Ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
# imagePullSecrets:
# - name: secretName
## Image used to do miscellaneous tasks as sidecar container, such as:
## - execute sysctls when PodSecurityContext is set for some components, requires `sysctl` installed
## - tail slow log for tidb, requires `tail` installed
## - fill tiflash config template file based on pod ordinal
helper:
image: alpine:3.16.0
# imagePullPolicy: IfNotPresent
## Enable PVC/PV reclaim for orphan PVC/PV left by statefulset scale-in.
## When set to `true`, PVC/PV that are not used by any tidb cluster pods will be deleted automatically.
# enablePVReclaim: false
## Persistent volume reclaim policy applied to the PV consumed by the TiDB cluster, default to `Retain`.
## Note that the reclaim policy Recycle may not be supported by some storage types, e.g. local.
## Ref: https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/
pvReclaimPolicy: Retain
##########################
# Advanced Configuration #
##########################
## when deploying a heterogeneous TiDB cluster, you MUST specify the cluster name to join here
# cluster:
# namespace: default
# name: tidb-cluster-to-join
# clusterDomain: cluster.local
## specifying pdAddresses will make PD in this TiDB cluster to join another existing PD cluster
## PD will then start with arguments --join= instead of --initial-cluster=
# pdAddresses:
# - http://cluster1-pd-0.cluster1-pd-peer.default.svc:2379
# - http://cluster1-pd-1.cluster1-pd-peer.default.svc:2379
## Enable mutual TLS connection between TiDB cluster components
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/enable-tls-between-components/
# tlsCluster:
# enabled: true
## Annotations of TiDB cluster pods, will be merged with component annotation settings.
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# topology.kubernetes.io/region: some-region
## NodeSelector of TiDB cluster pods, will be merged with component nodeSelector settings.
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
nodeSelector:
project: RECONPLFM
## Tolerations are applied to TiDB cluster pods, allowing (but do not require) pods to be scheduled onto nodes with matching taints.
## This cluster-level `tolerations` only takes effect when no component-level `tolerations` are set.
## e.g. if `pd.tolerations` is not empty, `tolerations` here will be ignored.
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations:
- effect: NoSchedule
key: RECONPLFM
operator: Equal
# value: RECONPLFM
## Use the node network namespace, default to false
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#host-namespaces
# hostNetwork: false
## specify resource requirements for discovery deployment
# discovery:
# requests:
# cpu: 1000m
# memory: 256Mi
# limits:
# cpu: 2000m
# memory: 1Gi
# ## The following block overwrites TiDB cluster-level configurations in `spec`
# imagePullPolicy: IfNotPresent
# imagePullSecrets: secretName
# hostNetwork: false
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: discovery
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# labels: {}
# env:
# - name: MY_ENV_1
# value: value1
# affinity: {}
# tolerations:
# - effect: NoSchedule
# key: dedicated
# operator: Equal
# value: discovery
## if true, this tidb cluster is paused and will not be synced by the controller
# paused: false
## SchedulerName of TiDB cluster pods.
## If specified, the pods will be scheduled by the specified scheduler.
## Can be overwritten by component settings.
# schedulerName: default-scheduler
## PodManagementPolicy default `OrderedReady` for Pump
## and default `Parallel` for the other components.
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
# podManagementPolicy: Parallel
## Affinity for pod scheduling, will be overwritten by each cluster component's specific affinity setting
## Can refer to PD/TiDB/TiKV affinity settings, and ensure only cluster-scope general settings here
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity: {}
## Specify pod priorities of pods in TidbCluster, default to empty.
## Can be overwritten by component settings.
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
# priorityClassName: system-cluster-critical
## If set to `true`, `--advertise-status-addr` will be appended to the startup parameters of TiKV
enableDynamicConfiguration: true
## Set update strategy of StatefulSet, can be overwritten by the setting of each component.
## defaults to RollingUpdate
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
# statefulSetUpdateStrategy: RollingUpdate
## The identifier of the Pod will be `$(podName).$(serviceName).$(namespace).svc.$(clusterDomain)` when `clusterDomain` is set.
## Set this in the case where a TiDB cluster is deployed across multiple Kubernetes clusters. default to empty.
# clusterDomain: cluster.local
## TopologySpreadConstraints for pod scheduling, will be overwritten by each cluster component's specific spread constraints setting
## Can refer to PD/TiDB/TiKV/TiCDC/TiFlash/Pump topologySpreadConstraints settings, and ensure only cluster-scope general settings here
## Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
###########################
# TiDB Cluster Components #
###########################
pd:
##########################
# Basic PD Configuration #
##########################
## Base image of the component
baseImage: pingcap/pd
## pd-server configuration
## Ref: https://docs.pingcap.com/tidb/stable/pd-configuration-file
config: |
lease = 1800
[dashboard]
internal-proxy = true
## The desired replicas
replicas: 1
## max inprogress failover PD pod counts
maxFailoverCount: 0
## describes the compute resource requirements and limits.
## Ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
requests:
# cpu: 1000m
# memory: 1Gi
storage: 10Gi
# limits:
# cpu: 2000m
# memory: 2Gi
## defines Kubernetes service for pd-server
## Ref: https://kubernetes.io/docs/concepts/services-networking/service/
# service:
# type: ClusterIP
# annotations:
# foo: bar
# portName: client
#############################
# Advanced PD Configuration #
#############################
## The following block overwrites TiDB cluster-level configurations in `spec`
# version: "v6.1.0"
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# hostNetwork: false
# serviceAccount: advanced-tidb-pd
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: pd
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations:
# - effect: NoSchedule
# key: dedicated
# operator: Equal
# value: pd
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
## List of environment variables to set in the container
## Note that the following env names cannot be used and will be overwritten by TiDB Operator builtin envs
## - NAMESPACE
## - TZ
## - SERVICE_NAME
## - PEER_SERVICE_NAME
## - HEADLESS_SERVICE_NAME
## - SET_NAME
## - HOSTNAME
## - CLUSTER_NAME
## - POD_NAME
## - BINLOG_ENABLED
## - SLOW_LOG_FILE
## Ref: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
# env:
# - name: MY_ENV_1
# value: value1
# - name: MY_ENV_2
# valueFrom:
# fieldRef:
# fieldPath: status.myEnv2
## Custom sidecar containers can be injected into the PD pods,
## which can act as a logging/tracing agent or for any other use case
# additionalContainers:
# - name: myCustomContainer
# image: ubuntu
## custom additional volumes in PD pods
# additionalVolumes:
# # specify volume types that are supported by Kubernetes, Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes
# - name: nfs
# nfs:
# server: 192.168.0.2
# path: /nfs
## custom additional volume mounts in PD pods
# additionalVolumeMounts:
# # this must match `name` in `additionalVolumes`
# - name: nfs
# mountPath: /nfs
## Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
## Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution
# terminationGracePeriodSeconds: 30
## PodSecurityContext holds pod-level security attributes and common container settings.
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
# podSecurityContext:
# sysctls:
# - name: net.core.somaxconn
# value: "32768"
## when TLS cluster feature is enabled, TiDB Operator will automatically mount the cluster client certificates if mountClusterClientSecret is set to true
## Defaults to false
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/configure-a-tidb-cluster#mountclusterclientsecret
mountClusterClientSecret: false
## The storageClassName of the persistent volume for PD data storage.
storageClassName: "cna-reconplfm-dev-nas"
## defines additional volumes for which PVCs will be created by StatefulSet controller
# storageVolumes:
# # this will be suffix of PVC names in VolumeClaimTemplates of PD StatefulSet
# - name: volumeName
# # specify this to use special storageClass for this volume, default to component-level `storageClassName`
# storageClassName: local-storage
# # storage request of PVC
# storageSize: 1Gi
# # mount path of the PVC
# mountPath: /some/path
## Subdirectory within the volume to store PD Data. By default, the data
## is stored in the root directory of volume which is mounted at
## /var/lib/pd. Specifying this will change the data directory to a subdirectory,
## e.g. /var/lib/pd/data if you set the value to "data".
## It's dangerous to change this value for a running cluster as it will
## upgrade your cluster to use a new storage directory.
## Defaults to "" (volume's root).
# dataSubDir: ""
## Affinity for pod scheduling
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity:
# podAntiAffinity:
# # prefer not to run pd pods on the same node which runs tidb/tikv pods
# preferredDuringSchedulingIgnoredDuringExecution:
# - podAffinityTerm:
# labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - tidb
# - tikv
# topologyKey: kubernetes.io/hostname
# weight: 100
# # require not to run PD pods on nodes where there's already a PD pod running
# # if setting this, you must ensure that at least `replicas` nodes are available in the cluster
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - pd
# topologyKey: kubernetes.io/hostname
## set a different tidb client TLS cert secret name for TiDB Dashboard than the default ${clusterName}-tidb-client-secret
## only useful when TLS is enabled for TiDB server
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/enable-tls-for-mysql-client
# tlsClientSecretName: custom-tidb-client-secret-name
## TopologySpreadConstraints for pod scheduling, will overwrite cluster level spread constraints setting
## Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
tidb:
############################
# Basic TiDB Configuration #
############################
## Base image of the component
baseImage: pingcap/tidb
## tidb-server Configuration
## Ref: https://docs.pingcap.com/tidb/stable/tidb-configuration-file
config: |
[performance]
tcp-keep-alive = true
## The desired replicas
replicas: 2
## max inprogress failover TiDB pod counts
maxFailoverCount: 0
## describes the compute resource requirements.
## Ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
# requests:
# cpu: 1000m
# memory: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
## defines Kubernetes service for tidb-server
## If you are in a public cloud environment, you can use cloud LoadBalancer to access the TiDB service
## if you are in a private cloud environment, you can use Ingress or NodePort, or ClusterIP and port forward (only for development/test)
## you can set mysqlNodePort and statusNodePort to expose server/status service to the given NodePort
service:
type: ClusterIP
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
# externalTrafficPolicy: Local
# # which NodePort to expose 4000 (mysql) port of tidb-server, only effective when type=LoadBalancer/NodePort
# mysqlNodePort: 30020
# # whether to export the status port, defaults to true
# exposeStatus: true
# # which NodePort to expose 10080 (status) port of tidb-server, only effective when type=LoadBalancer/NodePort and exposeStatus=true
# statusNodePort: 30040
###############################
# Advanced TiDB Configuration #
###############################
## The following block overwrites TiDB cluster-level configurations in `spec`
# version: "v6.1.0"
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# hostNetwork: false
# serviceAccount: advanced-tidb-tidb
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: tidb
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations:
# - effect: NoSchedule
# key: dedicated
# operator: Equal
# value: tidb
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
## List of environment variables to set in the container
## Note that the following env names cannot be used and will be overwritten by TiDB Operator builtin envs
## - NAMESPACE
## - TZ
## - SERVICE_NAME
## - PEER_SERVICE_NAME
## - HEADLESS_SERVICE_NAME
## - SET_NAME
## - HOSTNAME
## - CLUSTER_NAME
## - POD_NAME
## - BINLOG_ENABLED
## - SLOW_LOG_FILE
## Ref: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
# env:
# - name: MY_ENV_1
# value: value1
# - name: MY_ENV_2
# valueFrom:
# fieldRef:
# fieldPath: status.myEnv2
## Custom sidecar containers can be injected into the TiDB pods,
## which can act as a logging/tracing agent or for any other use case
# additionalContainers:
# - name: myCustomContainer
# image: ubuntu
## custom additional volumes in TiDB pods
# additionalVolumes:
# # specify volume types that are supported by Kubernetes, Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes
# - name: nfs
# nfs:
# server: 192.168.0.2
# path: /nfs
## custom additional volume mounts in TiDB pods
# additionalVolumeMounts:
# # this must match `name` in `additionalVolumes`
# - name: nfs
# mountPath: /nfs
## Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
## Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution
# terminationGracePeriodSeconds: 30
## PodSecurityContext holds pod-level security attributes and common container settings.
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
# podSecurityContext:
# sysctls:
# - name: net.ipv4.tcp_keepalive_time
# value: "300"
# - name: net.ipv4.tcp_keepalive_intvl
# value: "75"
# - name: net.core.somaxconn
# value: "32768"
## prob tidb-server readiness
## valid type values:
## - `tcp`, which uses Kubernetes TCPSocketAction to prob the 4000 tcp port of the pod
## - `command`, which uses curl to access the /status path on port 10080 of the pod
## This is supported from TiDB Operator v1.1.7
# readinessProbe:
# # The `command` type is only supported after tidb v4.0.9, ref: https://github.com/pingcap/tidb/pull/20694
# type: command
## when enabled, TiDB will accept TLS encrypted connections from MySQL client
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/enable-tls-for-mysql-client
# tlsClient:
# enabled: true
# disableClientAuthn: false
# skipInternalClientCA: false
## binlogEnabled will automatically be true if Pump is enabled, otherwise false
## set this manually only if you really know what you are doing
## MANUAL CONFIG NOT RECOMMENDED
# binlogEnabled: false
## if enabled, the slow log will be shown in a separate sidecar container
# separateSlowLog: true
# slowLogVolumeName: ""
## configures separate sidecar container, where `image` & `imagePullPolicy` will be overwritten by
## the same field in `TidbCluster.helper`
# slowLogTailer:
# requests:
# cpu: 1000m
# memory: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
# image: busybox
# imagePullPolicy: IfNotPresent
## The storageClassName of the persistent volume for TiDB data storage.
storageClassName: "cna-reconplfm-dev-nas"
## defines additional volumes for which PVCs will be created by StatefulSet controller
# storageVolumes:
# # this will be suffix of PVC names in VolumeClaimTemplates of TiDB StatefulSet
# - name: volumeName
# # specify this to use special storageClass for this volume, default to component-level `storageClassName`
# storageClassName: local-storage
# # storage request of PVC
# storageSize: 1Gi
# # mount path of the PVC
# mountPath: /some/path
## config Kubernetes container lifecycle hooks for tidb-server pods
## Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
# lifecycle:
# postStart:
# exec:
# command:
# - echo
# - "postStart"
# preStop:
# exec:
# command:
# - echo
# - "preStop"
## Affinity for pod scheduling
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity:
# podAntiAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - podAffinityTerm:
# labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - pd
# - tikv
# topologyKey: kubernetes.io/hostname
# weight: 100
# # require not to run TiDB pods on nodes where there's already a TiDB pod running
# # if setting this, you must ensure that at least `replicas` nodes are available in the cluster
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - tidb
# topologyKey: kubernetes.io/hostname
## TopologySpreadConstraints for pod scheduling, will overwrite cluster level spread constraints setting
## Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
tikv:
############################
# Basic TiKV Configuration #
############################
## Base image of the component
baseImage: pingcap/tikv
## tikv-server configuration
## Ref: https://docs.pingcap.com/tidb/stable/tikv-configuration-file
config: |
log-level = "info"
## The desired replicas
replicas: 3
## max inprogress failover TiKV pod counts
maxFailoverCount: 0
## describes the compute resource requirements.
## Ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
requests:
# cpu: 1000m
# memory: 1Gi
storage: 50Gi
# limits:
# cpu: 2000m
# memory: 2Gi
# # settings `storage` here will add `--capacity` arg to tikv-server
# storage: 10Gi
###############################
# Advanced TiKV Configuration #
###############################
## The following block overwrites TiDB cluster-level configurations in `spec`
# version: "v6.1.0"
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# hostNetwork: false
# serviceAccount: advanced-tidb-tikv
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: tikv
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations:
# - effect: NoSchedule
# key: dedicated
# operator: Equal
# value: tikv
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
## List of environment variables to set in the container
## Note that the following env names cannot be used and will be overwritten by TiDB Operator builtin envs
## - NAMESPACE
## - TZ
## - SERVICE_NAME
## - PEER_SERVICE_NAME
## - HEADLESS_SERVICE_NAME
## - SET_NAME
## - HOSTNAME
## - CLUSTER_NAME
## - POD_NAME
## - BINLOG_ENABLED
## - SLOW_LOG_FILE
## Ref: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
# env:
# - name: MY_ENV_1
# value: value1
# - name: MY_ENV_2
# valueFrom:
# fieldRef:
# fieldPath: status.myEnv2
## Custom sidecar containers can be injected into the TiKV pods,
## which can act as a logging/tracing agent or for any other use case
# additionalContainers:
# - name: myCustomContainer
# image: ubuntu
## custom additional volumes in TiKV pods
# additionalVolumes:
# # specify volume types that are supported by Kubernetes, Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes
# - name: nfs
# nfs:
# server: 192.168.0.2
# path: /nfs
## custom additional volume mounts in TiKV pods
# additionalVolumeMounts:
# # this must match `name` in `additionalVolumes`
# - name: nfs
# mountPath: /nfs
## Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
## Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution
# terminationGracePeriodSeconds: 30
## PodSecurityContext holds pod-level security attributes and common container settings.
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
# podSecurityContext:
# sysctls:
# - name: net.ipv4.tcp_keepalive_time
# value: "300"
# - name: net.ipv4.tcp_keepalive_intvl
# value: "75"
# - name: net.core.somaxconn
# value: "32768"
## when TLS cluster feature is enabled, TiDB Operator will automatically mount the cluster client certificates if mountClusterClientSecret is set to true
## Defaults to false
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/configure-a-tidb-cluster#mountclusterclientsecret
mountClusterClientSecret: false
## if enabled, the RocksDB log will be shown in a separate sidecar container
# separateRocksDBLog: true
## rocksDBLogVolumeName is only applicable when separateRocksDBLog is enabled.
## if separateRocksDBLog is enabled, rocksDBLogVolumeName can be set or not.
## if rocksDBLogVolumeName is not set, the rocksdb log is saved in the PV of TiKV data, which may increase the IO pressure of the data disk.
## if rocksDBLogVolumeName is set, rocksDBLogVolumeName should be defined in storageVolumes or additionalVolumes to use another PV.
## you may need to change the `rocksdb.info-log-dir` to save the logs in the separate PV.
## Ref: https://github.com/tikv/tikv/blob/master/etc/config-template.toml
# rocksDBLogVolumeName: ""
## if enabled, the Raft log will be shown in a separate sidecar container
# separateRaftLog: true
## raftLogVolumeName is only applicable when separateRaftLog is enabled.
## if separateRaftLog is enabled, raftLogVolumeName can be set or not.
## if raftLogVolumeName is not set, the separated raftdb log is saved in the PV of TiKV data, which may increase the IO pressure of the data disk.
## if raftLogVolumeName is set, raftLogVolumeName should be defined in storageVolumes or additionalVolumes to use another PV.
## you may need to change the `raftdb.info-log-dir` to save the logs in the separate PV.
## Ref: https://github.com/tikv/tikv/blob/master/etc/config-template.toml
# raftLogVolumeName: ""
## configures RocksDB/Raft log sidecar container resource requirements
# logTailer:
# requests:
# cpu: 1000m
# memory: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
## The storageClassName of the persistent volume for TiKV data storage.
storageClassName: "cna-reconplfm-dev-nas"
## defines additional volumes for which PVCs will be created by StatefulSet controller
# storageVolumes:
# # this will be suffix of PVC names in VolumeClaimTemplates of TiKV StatefulSet
# - name: volumeName
# # specify this to use special storageClass for this volume, default to component-level `storageClassName`
# storageClassName: local-storage
# # storage request of PVC
# storageSize: 1Gi
# # mount path of the PVC
# mountPath: /some/path
## run TiKV container in privileged mode
## Processes in privileged containers are essentially equivalent to root on the host
## NOT RECOMMENDED in production environment
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privileged
# privileged: false
## if set to true, TiDB Operator will recover newly created TiKV pods due to automatic failover
# recoverFailover: true
## Subdirectory within the volume to store TiKV Data. By default, the data
## is stored in the root directory of volume which is mounted at /var/lib/tikv.
## Specifying this will change the data directory to a subdirectory, e.g.
## /var/lib/tikv/data if you set the value to "data".
## It's dangerous to change this value for a running cluster as it will
## upgrade your cluster to use a new storage directory.
## Defaults to "" (volume's root).
# dataSubDir: ""
## defines the timeout for region leader eviction in golang `Duration` format, if raft region leaders are not transferred to other stores after this duration, TiDB Operator will delete the Pod forcibly.
# evictLeaderTimeout: 3m
## Affinity for pod scheduling
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity:
# podAntiAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - podAffinityTerm:
# labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - tidb
# - pd
# topologyKey: kubernetes.io/hostname
# weight: 100
# # require not to run TiKV pods on nodes where there's already a TiKV pod running
# # if setting this, you must ensure that at least `replicas` nodes are available in the cluster
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: app.kubernetes.io/component
# operator: In
# values:
# - tikv
# topologyKey: kubernetes.io/hostname
## TopologySpreadConstraints for pod scheduling, will overwrite cluster level spread constraints setting
## Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
## Deploy TiDB Binlog of a TiDB cluster
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-tidb-binlog/#deploy-pump
# pump:
# baseImage: pingcap/tidb-binlog
# version: "v6.1.0"
# replicas: 1
# storageClassName: local-storage
# requests:
# cpu: 1000m
# memory: 1Gi
# storage: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# hostNetwork: false
# serviceAccount: advanced-tidb-pump
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: pump
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations: {}
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
# podSecurityContext: {}
# env: []
# additionalContainers: []
# additionalVolumes: []
# additionalVolumeMounts: []
# terminationGracePeriodSeconds: 30
# # Ref: https://docs.pingcap.com/tidb/stable/tidb-binlog-configuration-file#pump
# config: |
# gc = 7
# # TopologySpreadConstraints for pod scheduling, will overwrite cluster level spread constraints setting
# # Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
## TiCDC is a tool for replicating the incremental data of TiDB
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-ticdc/
# ticdc:
# baseImage: pingcap/ticdc
# version: "v6.1.0"
# replicas: 3
# storageClassName: local-storage
# requests:
# cpu: 1000m
# memory: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# hostNetwork: false
# serviceAccount: advanced-tidb-ticdc
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: ticdc
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations: {}
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
# podSecurityContext: {}
# env: []
# additionalContainers: []
# storageVolumes: []
# additionalVolumes: []
# additionalVolumeMounts: []
# terminationGracePeriodSeconds: 30
# # Ref: https://docs.pingcap.com/tidb/stable/deploy-ticdc#add-ticdc-to-an-existing-tidb-cluster-using-binary-not-recommended
# config:
# timezone: UTC
# gcTTL: 86400
# logLevel: info
# logFile: /dev/stderr
# # TopologySpreadConstraints for pod scheduling, will overwrite cluster level spread constraints setting
# # Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone
## TiFlash is the columnar storage extension of TiKV
## Ref: https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-tiflash/
# tiflash:
# ###############################
# # Basic TiFlash Configuration #
# ###############################
# baseImage: pingcap/tiflash
# version: "v6.1.0"
# replicas: 1
# # limits:
# # cpu: 2000m
# # memory: 2Gi
# imagePullPolicy: IfNotPresent
# imagePullSecrets:
# - name: secretName
# ##################################
# # Advanced TiFlash Configuration #
# ##################################
# maxFailoverCount: 0
# hostNetwork: false
# serviceAccount: advanced-tidb-tiflash
# priorityClassName: system-cluster-critical
# schedulerName: default-scheduler
# nodeSelector:
# app.kubernetes.io/component: tiflash
# annotations:
# node.kubernetes.io/instance-type: some-vm-type
# tolerations: {}
# configUpdateStrategy: RollingUpdate
# statefulSetUpdateStrategy: RollingUpdate
# podSecurityContext: {}
# env: []
# additionalContainers: []
# additionalVolumes: []
# additionalVolumeMounts: []
# terminationGracePeriodSeconds: 30
# storageClaims:
# - resources:
# requests:
# # specify PVC storage used for TiFlash
# storage: 1Gi
# # specify PVC storage class
# storageClassName: local-storage
# # run TiFlash container in privileged mode
# # Processes in privileged containers are essentially equivalent to root on the host
# # NOT RECOMMENDED in production environment
# # Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privileged
# privileged: false
# # if set to true, TiDB Operator will recover newly created TiFlash pods due to automatic failover
# recoverFailover: true
# # configures serverlog/errorlog/clusterlog sidecar container resource requirements
# # logTailer:
# # requests:
# # cpu: 1000m
# # memory: 1Gi
# # limits:
# # cpu: 2000m
# # memory: 2Gi
# # configures init container resource requirements
# initializer:
# requests:
# cpu: 1000m
# memory: 1Gi
# limits:
# cpu: 2000m
# memory: 2Gi
# # TOML format configuration
# # Ref: https://docs.pingcap.com/tidb/dev/tiflash-configuration
# config:
# # configure the configuration file for TiFlash process
# config: |
# [logger]
# log = "/data0/logs/somelog"
# # configure the configuration file for TiFlash Proxy process
# proxy: |
# [security]
# cert-allowed-cn = "CNNAME"
# # TopologySpreadConstraints for pod scheduling, will overwrite the cluster level spread constraints setting
# # Ref: pkg/apis/pingcap/v1alpha1/types.go#TopologySpreadConstraint
# topologySpreadConstraints:
# - topologyKey: topology.kubernetes.io/zone