我使用本指南在 Kubernetes 上部署了 CockroachDB 集群:
https://github.com/cockroachlabs-field/kubernetes-examples/blob/master/SECURE.md
我部署了它
$ helm install k8crdb --set Secure.Enabled=true cockroachdb/cockroachdb --namespace=thesis-crdb
这是我列出它时的样子$ helm list --namespace=thesis-crdb
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
k8crdb thesis-crdb 1 2021-01-29 20:18:25.5710691 +0100 CET deployed cockroachdb-5.0.4 20.2.4
这是我列出它时的样子$ kubectl get all --namespace=thesis-crdb
NAME READY STATUS RESTARTS AGE
pod/k8crdb-cockroachdb-0 1/1 Running 0 3h1m
pod/k8crdb-cockroachdb-1 1/1 Running 0 3h1m
pod/k8crdb-cockroachdb-2 1/1 Running 0 3h1m
pod/k8crdb-cockroachdb-init-j2h7t 0/1 Completed 0 3h1m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/k8crdb-cockroachdb ClusterIP None <none> 26257/TCP,8080/TCP 3h1m
service/k8crdb-cockroachdb-public ClusterIP 10.99.163.201 <none> 26257/TCP,8080/TCP 3h1m
NAME READY AGE
statefulset.apps/k8crdb-cockroachdb 3/3 3h1m
NAME COMPLETIONS DURATION AGE
job.batch/k8crdb-cockroachdb-init 1/1 33s 3h1m
现在我想模拟到这个集群的流量。首先,我通过以下方式访问 pod:$ kubectl exec -i -t -n thesis-crdb k8crdb-cockroachdb-0 -c db "--" sh -c "clear; (bash || ash || sh)"
这让我进入了第一个 pod/node。
从这里我开始工作量
[root@k8crdb-cockroachdb-0 cockroach]# cockroach workload init movr 'postgresql://root@localhost:26257?sslmode=disable'
然后我运行工作负载 5 分钟
[root@k8crdb-cockroachdb-0 cockroach]# cockroach workload run movr --duration=5m 'postgresql://root@localhost:26257?sslmode=disable'
我知道我在一个节点上运行工作负载,但我的表达是工作负载将分布在所有节点之间?因为当我使用 cockroachDB 控制台监控性能时,我发现只有第一个节点在完成所有工作,其他节点处于空闲状态。
如您所见,第二个(和第三个节点)根本没有任何工作负载。这只是控制台中的视觉故障吗?或者如何运行工作负载,使其在集群中的所有节点之间均匀分布?
-更新-
是的,很高兴您提出了cockroachdb-client-secure
pod,因为那是我无法再遵循指南的地方。我像他们在指南中所做的那样尝试了:$ curl https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/client-secure.yaml | sed -e 's/serviceAccountName\: cockroachdb/serviceAccountName\: k8crdb-cockroachdb/g' | kubectl create -f -
但它抛出了这个错误:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1638 100 1638 0 0 4136 0 --:--:-- --:--:-- --:--:-- 4146
Error from server (Forbidden): error when creating "STDIN": pods "cockroachdb-client-secure" is forbidden: error looking up service account default/k8crdb-cockroachdb: serviceaccount "k8crdb-cockroachdb" not found
我也不知道我的证书是否被批准,因为当我尝试这个时:
$ kubectl get csr k8crdb-cockroachdb-0 --namespace=thesis-crdb
我抛出这个:
Error from server (NotFound): certificatesigningrequests.certificates.k8s.io "k8crdb-cockroachdb-0" not found
当我尝试批准证书时:$ kubectl certificate approve k8crdb-cockroachdb-0 --namespace=thesis-crdb
它抛出:
Error from server (NotFound): certificatesigningrequests.certificates.k8s.io "k8crdb-cockroachdb-0" not found
知道如何从这里开始吗?