Tidb部署问题

如下图

tikv一直出不来 是什么原因呀 如何排查

tidb-admin denali-tidb-discovery-78654b4796-pt7q9 1/1 Running 0 4m8s tidb-admin denali-tidb-monitor-bdc95cbcb-f5z56 3/3 Running 0 4m8s tidb-admin denali-tidb-pd-0 1/1 Running 0 4m8s tidb-admin denali-tidb-pd-1 1/1 Running 0 4m8s tidb-admin denali-tidb-pd-2 1/1 Running 0 4m8s tidb-admin tidb-controller-manager-5b65b7c6c-jss7j 1/1 Running 8 41d tidb-admin tidb-scheduler-7cddc774bb-xm5km 2/2 Running 45 41d

建议从以下几点进行排查:

1、查看下 helm install 阶段 -f 参数对应的 yaml 文件中 tikv 的相关配置是否正确

2、使用 kubectl describe 相关命令查看下服务日志信息

tikv的参数我都没有修改过 describe 得有pod才能查到相关信息呀 现在都没有出来pod 如何查看呢?

看下 tidb-controller-manager 的日志:

kubectl logs -f -n tidb-admin tidb-controller-manager-5b65b7c6c-jss7j

看下 TidbCluster 对象的状态:

kubectl get tidbcluster -n tidb-admin denali -oyaml

另外再看看三个 pd pod 的日志有没有什么异常。

日志看下面重新部署的吧

麻烦把 Pod 的全部日志保存成一个文件,通过上面的小图标上传上来吧,现在贴的这些日志不全,也没有格式化。

另外再帮忙确认下,整个 k8s 集群的 DNS 服务是否正常。

现在删除整个集群重新部署 出现上面的日志信息 集群ti-kv还是没有出来。

这里日志显示 域名无法解析,所以,麻烦确认下 DNS 服务是否正常。

请教一下 如何查看DNS服务是否正常。 所有服器ping域名都是正常通的 k8s coredns是running状态的

首先 exec 到 pd-2 这个 Pod 里面,

kubectl exec -it -n tidb-admin denali-tidb-pd-2 sh

然后使用 nslookup 去验证这些域名解析是否正常:

nslookup denali-tidb-pd-2.denali-tidb-pd-peer.tidb-admin.svc
nslookup denali-tidb-pd-0.denali-tidb-pd-peer.tidb-admin.svc
nslookup kubernetes.default

出现这个的日志信息是不是表示域名解析服务是不太正常的 应该如何解决

nslookup denali-tidb-pd-0.denali-tidb-pd-peer.tidb-admin.svc
nslookup denali-tidb-pd-1.denali-tidb-pd-peer.tidb-admin.svc

这两个是否能解析呢?

另外在看一下 Endpoint 对象:

kubectl get endpoint -n tidb-admin denali-tidb-pd-peer

image PD1根本进不到pod容器里去 不知道为啥呀

现在看 pd-1 一直在重启,看一下他的日志:

kubectl logs -f -n tidb-admin my-tidb-pd-1

然后再 describe 下 pd-1:

kubectl describe pod -n tidb-admin my-tidb-pd-1

另外请问下部署的 tidb-operator 的版本是什么?参考的文档是什么?

/ # nslookup my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc nslookup: can’t resolve ‘(null)’: Name does not resolve

nslookup: can’t resolve ‘my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc’: Try again / # pd-1是nslookup似乎不正常的。

tidb-operator是1.0.0的版本 tidb-cluster也是1.0.0

看一下 endpoint 对象:

kubectl get endpoint -n tidb-admin my-tidb-pd-peer

[root@master home]# kubectl logs -f -n tidb-admin my-tidb-pd-1

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed

nslookup domain my-tidb-pd-1.my-tidb-pd-peer.tidb-admin.svc failed pd1.txt (4.0 KB)

[root@master home]# kubectl get endpoint -n tidb-admin my-tidb-pd-peer error: the server doesn’t have a resource type “endpoint”

不好意思是这个(少了一个 s):

kubectl get endpoints -n tidb-admin my-tidb-pd-peer