0
0
0
0
专栏/.../

在 minikube 上使用 TiDB Operator 构建 TiDB 集群(持续更新中)

 maiyang  发表于  2021-03-26

准备

  1. minikube
  2. kubectl
  3. helm
  4. tidb-operator

开始

如果你的本地环境和文档所用的兼容,那么你按照文档进行操作,应该都没有任何问题的(一句废话,😁),但是默认值启动的话,你很大概率会在执行到 helm install pingcap/tidb-cluster 的时候出现了错误:Unable to connect to the server: net/http: TLS handshake timeout

然后执行 minikube status

minikube status
host: Running
kubelet: Running
apiserver: Error
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.105

kubernetes 的 API Server 显示:Error,已经挂掉了…

其实在操作文档手册中 FAQ,已经跟我们提到了 “Minikube 上的 TiDB 集群不响应或者响应非常慢”

Minikube 虚拟机默认配置为 2048 MB 内存和 2 个 CPU。可以在 minikube start 时通过 --memory--cpus 选项为其分配更多资源。注意,为了使配置修改生效,你需要重新创建 Minikube 虚拟机。

minikube delete && 
minikube start --cpus 4 --memory 4096 ...

所以,我们只能修改配置后再来走一遍操作手册了。

如果你在重新来一遍时,像我这样“手贱”,把 minikube 和 kubernetes 都升级了的话,那可能就会有悲剧发生。

执行到 helm init 的时候,始终会报错:Error: error installing: the server could not find the requested resource

产生这个问题是因为我们的 kubernetes 太新了,helm 跟其有兼容问题(helm v2.14.3 不兼容 Kubernetes 1.16.0 的 apiVersion ),咱们需要做一些配置修改:

解决方案的操作步骤:

$ helm init --output yaml > tiller.yaml

更新 tiller.yaml 两处:

  • apiVersion 版本
  • 增加选择器
apiVersion: apps/v1
kind: Deployment
...
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller

创建 tiller

$ kubectl create -f tiller.yaml

参考文档

  1. 在 Minikube 集群上部署 TiDB 集群
  2. Kubernetes 1.6.0 安装问题汇总
  3. helm v2.14.3 不兼容 Kubernetes 1.16.0 的 apiVersion
0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论