kind+tidb

news/2024/5/19 14:53:38 标签: kubernetes, tidb

官网介绍:在 Kubernetes 上快速上手 TiDB | PingCAP 文档中心

下面是具体细节:

一、安装

1.安装kind,一定要使用最新版本!!!

kind官网:kind – Quick Start

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.18.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

2.安装docker

更换国内源

安装依赖

sudo apt-get install apt-transport-https ca-certificates software-properties-common curl

安装阿里源gpg密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装Docker-ce(社区版)

sudo apt-get update
sudo apt-get install docker-ce

测试

sudo docker run hello-world

3.安装kubelet

snap install kubectl --classic
 
# 查看kubectl版本
kubectl version --client

4.安装helm,官网:Helm | Installing Helm

wget https://get.helm.sh/helm-v3.11.3-linux-amd64.tar.gz
tar -zxvf helm-v3.0.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm

二、操作,具体可参考tidb官网在 Kubernetes 上快速上手 TiDB | PingCAP 文档中心

#安装 TiDB Operator CRDs
kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.4/manifests/crd.yaml
#安装 Helm 3 并使用 Helm 3 部署 TiDB Operator。
helm repo add pingcap https://charts.pingcap.org/
#为 TiDB Operator 创建一个命名空间,使用阿里云上的镜像。
helm install --namespace tidb-admin tidb-operator pingcap/tidb-operator --version v1.4.4 \
    --set operatorImage=registry.cn-beijing.aliyuncs.com/tidb/tidb-operator:v1.4.4 \
    --set tidbBackupManagerImage=registry.cn-beijing.aliyuncs.com/tidb/tidb-backup-manager:v1.4.4 \
    --set scheduler.kubeSchedulerImageName=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler
#检查 TiDB Operator 组件是否正常运行起来:等待到都是running情况
kubectl get pods --namespace tidb-admin -l app.kubernetes.io/instance=tidb-operator
#部署 TiDB 集群
kubectl create namespace tidb-cluster && \
    kubectl -n tidb-cluster apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.4/examples/basic-cn/tidb-cluster.yaml
#部署独立的 TiDB Dashboard
kubectl -n tidb-cluster apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.4.4/examples/basic-cn/tidb-dashboard.yaml
#查看POD运行状态,等待都是running状态:
watch kubectl get po -n tidb-cluster
#获取 tidb-cluster 命名空间中的服务列表:
kubectl get svc -n tidb-cluster
#使用以下命令转发本地端口到集群
kubectl port-forward -n tidb-cluster svc/basic-tidb 14000:4000 > pf14000.out &
#连接tidb
mysql --comments -h 127.0.0.1 -P 14000 -u root
#暴露grafana端口
kubectl port-forward -n tidb-cluster svc/basic-grafana 3000 > pf3000.out &
#通过http://localhost:3000访问,admin admin
#暴露tidb dashboard
kubectl port-forward -n tidb-cluster svc/basic-tidb-dashboard-exposed 12333 > pf12333.out &
#通过 http://localhost:12333 访问,无密码

遇到坑:

1.basic-tidb-0 一直启动失败 :CrashLoopBackOff

去了tidb社区提问:basic-tidb-0 一直启动失败 :CrashLoopBackOff - TiDB 的问答社区

kubectl logs -n tidb-cluster -f basic-tidb-0 -c tidb 执行结果:
start tidb-server …
/tidb-server --store=tikv --advertise-address=basic-tidb-0.basic-tidb-peer.tidb-cluster.svc --host=0.0.0.0 --path=basic-pd:2379 --config=/etc/tidb/tidb.toml
–log-slow-query=/var/log/tidb/slowlog
[2023/04/24 01:34:12.357 +00:00] [INFO] [cpuprofile.go:113] [“parallel cpu profiler started”]
[2023/04/24 01:34:12.357 +00:00] [FATAL] [terror.go:300] [“unexpected error”] [error=“path "/docker/2e800829730d53f792c9ac0b32a64ff153094e9b7df0208d2bc9a14d31f4526b" is not a descendant of mount point root "/docker/2e800829730d53f792c9ac0b32a64ff153094e9b7df0208d2bc9a14d31f4526b/kubelet" and cannot be exposed from "/sys/fs/cgroup/rdma/kubelet"”] [stack=“github.com/pingcap/tidb/parser/terror.MustNil\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:300\nmain.setGlobalVars\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:615\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:208\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250”] [stack=“github.com/pingcap/tidb/parser/terror.MustNil\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:300\nmain.setGlobalVars\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:615\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/tidb-server/main.go:208\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250”]

解决办法:将kind从0.10升级到最新版本1.8版本,重新开始操作

kind delete cluster
升级kind
然后重新操作

2.Temporary failure in name resolution(域名解析暂时失败)

vm连接网络来回切换下,或者重启下虚拟机,暂时原因还没找到


http://www.niftyadmin.cn/n/5467642.html

相关文章

Python大型数据集(GPU)可视化和Pillow解释性视觉推理及材料粒子凝聚

🎯要点 P​y​t​ho​n​图像​处理Pillow​库​:🎯打开图像、保存图像、保存期间的压缩方式、读取方法、创建缩略图、创建图像查看器。🎯获取 RGB 值,从图像中获取颜色,更改像素颜色,转换为黑…

Nginx基础(02)

Nginx基础(01) 动态网站 : 在不同环境访问 , 网站内容有可能发生变化 **静态网站 : ** 在不同环境访问 , 网站内容不会发生变化 默认nginx仅可以处理静态数据,用户访问任何数据都是直接返回对应的文件,如果如果访问的是一个脚本的…

解决vue热加载卡顿缓慢

安装插件:babel-plugin-dynamic-import-node npm install babel-plugin-dynamic-import-node --save-dev配置babel.config.js文件 env: {development: {plugins: [dynamic-import-node]}}重启项目,完成

环境搭建 | Windows 11系统从0开始搭建SonarQube环境分析C sharp项目代码

1 安装&使用流程 JDK 17环境搭建Sonarqube 10.0安装PostgreSQL 12数据库安装配置MSBuild下载安装SonarScanner for MSBuild使用SonarQube分析C#代码并上传到服务器 注意:SonarQube环境搭建时对各个软件的版本都有要求,如果你不确定使用何版本&…

go: go.mod file not found in current directory or any parent directory.如何解决?

这个错误表明你正在执行 go get 命令&#xff0c;但是当前目录或任何父目录中都找不到 go.mod 文件。这可能是因为你的项目还没有使用 Go Modules 进行管理。 要解决这个问题&#xff0c;有几种方法&#xff1a; go mod init <module-name> 其中 <module-name>…

Redis的简介,常用命令、安装以及优化

目录 一、关系型数据库与非关系型数据库 1、关系型数据库 1.1优点&#xff1a; 1.2缺点&#xff1a; 2、非关系型数据库 二、关系型数据库与非关系型数据库的区别 1、数据存储方式不同 2、扩展方式不同 3、对事务性的支持不同 三、非关系型数据库产生的背景 四、Red…

​AI大模型:产品经理的新助手,还是捣蛋鬼?

在科技飞速发展的今天&#xff0c;AI大模型成为了许多行业的“新宠儿”。它们不仅在语音识别、图像处理等方面表现出色&#xff0c;甚至还能写代码、写新闻&#xff0c;甚至写需求文档。这让许多产品经理心动不已&#xff0c;心想&#xff1a;有了AI大模型的帮助&#xff0c;岂…

5G时代来了,一键登录的颠覆式体验时代也来了

在移动互联的新时代&#xff0c;手机号码已成为网络世界的重要身份标识&#xff0c;绝大多数的网络服务均通过与手机号码的绑定来实现用户身份的确认。然而&#xff0c;尽管技术进步&#xff0c;许多应用仍依赖传统的账号密码登录方式&#xff0c;其安全性问题持续困扰着用户。…