1、 命名空间
k create ns ti
k create namespace tidb-admin
k create namespace tidb-cluster
alias k='kubectl'
alias ti='k -n tidb'
alias tia='k -n tidb-admin'
alias tic='k -n tidb-cluster'
2、 Helm安装 tidb-operator
helm repo add pingcap https://charts.pingcap.org/
helm repo update
helm repo list
helm install --namespace tidb-admin tidb-operator pingcap/tidb-operator --version v1.4.4
tic api-resources | grep pingcap
statefulsets asts apps.pingcap.com true StatefulSet
backups bk pingcap.com true Backup
backupschedules bks pingcap.com true BackupSchedule
restores rt pingcap.com true Restore
tidbclusterautoscalers ta pingcap.com true TidbClusterAutoScaler
tidbclusters tc pingcap.com true TidbCluster
tidbinitializers ti pingcap.com true TidbInitializer
tidbmonitors tm pingcap.com true TidbMonitor
似乎缺少了TidbDashboard!
ti create -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.4/manifests/crd.yamlcustomresourcedefinition.apiextensions.k8s.io/backupschedules.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/backups.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/dmclusters.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/restores.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbclusterautoscalers.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbclusters.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbdashboards.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbinitializers.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbmonitors.pingcap.com created
customresourcedefinition.apiextensions.k8s.io/tidbngmonitorings.pingcap.com created
ti api-resources | grep ping
backups bk pingcap.com/v1alpha1 true Backup
backupschedules bks pingcap.com/v1alpha1 true BackupSchedule
dmclusters dc pingcap.com/v1alpha1 true DMCluster
restores rt pingcap.com/v1alpha1 true Restore
tidbclusterautoscalers ta pingcap.com/v1alpha1 true TidbClusterAutoScaler
tidbclusters tc pingcap.com/v1alpha1 true TidbCluster
tidbdashboards td pingcap.com/v1alpha1 true TidbDashboard
tidbinitializers ti pingcap.com/v1alpha1 true TidbInitializer
tidbmonitors tm pingcap.com/v1alpha1 true TidbMonitor
tidbngmonitorings tngm pingcap.com/v1alpha1 true TidbNGMonitoring
3、安装 TiDB Cluster
问题1:storageClassName
csi-localpv
问题2:Failed to pull image “k8s.gcr.io/kube-scheduler:v1.18.17”
k8smaster.qfusion.irds/irds/kube-scheduler:v1.18.17
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:name: dbanamespace: tidb-cluster
spec:# ** Basic Configuration **# # TiDB cluster versionversion: v6.5.0# Time zone of TiDB cluster Podstimezone: UTCconfigUpdateStrategy: RollingUpdatehostNetwork: falseimagePullPolicy: IfNotPresentenableDynamicConfiguration: truepd:baseImage: pingcap/pdreplicas: 1requests:cpu: "50m"memory: 50Mistorage: 50Milimits:cpu: "6000m"memory: 20Giconfig: |lease = 3enable-prevote = truestorageClassName: "csi-localpv"mountClusterClientSecret: truetidb:baseImage: pingcap/tidbconfig: |split-table = trueoom-action = "log"replicas: 1requests:cpu: "50m"memory: 50Mistorage: 10Gilimits:cpu: "8000m"memory: 40GistorageClassName: "csi-localpv"service:type: NodePortmysqlNodePort: 30002statusNodePort: 30080tikv:baseImage: pingcap/tikvconfig: |[storage][storage.block-cache]capacity = "32GB"replicas: 3requests:cpu: "50m"memory: 50Mistorage: 100Gilimits:cpu: "12000m"memory: 40GistorageClassName: "csi-localpv"mountClusterClientSecret: trueenablePVReclaim: falsepvReclaimPolicy: DeletetlsCluster: {}
4、访问
kubectl port-forward -n tidb-cluster svc/dba-tidb 14000:4000 > pf14000.out &
mysql --comments -h 127.0.0.1 -P 14000 -u root
select tidb_version()\G
- port-forward
5、TiDB Dashboard
apiVersion: pingcap.com/v1alpha1
kind: TidbDashboard
metadata:name: basic
spec:baseImage: pingcap/tidb-dashboardversion: latest## tidb cluster to be monitored## ** now only support monitoring one tidb cluster **clusters:- name: dba## describes the compute resource requirements and limits.## Ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/requests:storage: 10GistorageClassName: "csi-localpv"
密码是TiDB的root密码,默认是“空”
- TiDB Dashboard
- TiDB Dashboard
参考文档
TiDB Operator部署TiDB集群的监控与告警
Deploy TiDB Operator on Kubernetes
Get Started with TiDB Operator on Kubernetes
Helm
Advanced StatefulSet Controller