作者: DBA 炸鸡原文来源:https://tidb.net/blog/52bf40fc
前言
最近开始关注重新学习 k8s,主要还是结合数据库做实践。本文的目标是将 tidb 数据库部署在 k8s。(仅满足测试环境学习,生产部署需请参考 k8s 和 tidb 官方文档。)
基础环境:
第一部分 用 kind 部署 k8s
1 kind 是什么?
kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.
Kind 是一种用于使用 Docker 容器作为“节点”运行本地 Kubernetes 集群的工具。 Kind 主要用于测试 Kubernetes 本身,但也可用于本地开发或 CI。
简答来说就是它会起一个 docker 容器模拟 k8s,这个模拟环境我们可以当 k8s 测试集群来用。
kind 安装
# 下载对应平台kind 二进制文件
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-amd64
# 添加执行权限
chmod +x kind
# 创建集群
./kind create cluster --name dbtest
# 检查
kubectl cluster-info
复制代码
安装 helm
snap install helm --claasic
复制代码
第二部分 部署 TiDB 数据库
#1 克隆tidb-operator项目到本地
git clone https://github.com/pingcap/tidb-operator.git (主要想用crd.yaml和tidb-cluster.yaml文件)
#2 切换到manifests目录
cd /data1/tidb-operator/manifests
#3 安装crd (不加server-side会报错 见ps1)
kubectl apply -f crd.yaml --server-side
#4 安装 TiDB Operator(提前安装helm)
helm repo add pingcap https://charts.pingcap.org/
#5 创建tidb-admin namespace
kubectl create namespace tidb-admin
#6 用阿里镜像源安装tidb-operator
helm install --namespace tidb-admin tidb-operator pingcap/tidb-operator --version v1.6.0 \
--set operatorImage=registry.cn-beijing.aliyuncs.com/tidb/tidb-operator:v1.6.0 \
--set tidbBackupManagerImage=registry.cn-beijing.aliyuncs.com/tidb/tidb-backup-manager:v1.6.0 \
--set scheduler.kubeSchedulerImageName=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler
#7 创建tidb-cluster namespace
kubectl create namespace tidb-cluster
#8 创建tidb集群 (测试环境没有装dashboard和monitor,需要安装的话apply配置文件即可,镜像拉取比较慢)
cd /data1/tidb-operator/examples/basic-cn/
kubectl apply -f tidb-cluster.yaml -n tidb-cluster
#9 端口转发
kubectl port-forward -n tidb-cluster svc/basic-tidb 14000:4000 > pf14000.out &
#10 登录验证
mysql --comments -h 127.0.0.1 -P 14000 -u root
复制代码
踩坑点:
1、ps1 不加 server-side 报错信息
2、tidb-cluster.yaml 文件中 alpine 基础镜像容易拉取失败,大家尽量改到能拉取的镜像。
参考文档:
1、https://kind.sigs.k8s.io/
2、https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/get-started
关注公众号:DBA 札记,一起交流数据库与云原生技术。欢迎觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!谢谢大家。
评论