Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 从etcdctl获取ETCD度量_Kubernetes_Etcd_Etcdctl - Fatal编程技术网

Kubernetes 从etcdctl获取ETCD度量

Kubernetes 从etcdctl获取ETCD度量,kubernetes,etcd,etcdctl,Kubernetes,Etcd,Etcdctl,我正试图将ETCD指标(如ETCD密钥数量和大小)以及通过exec(ing)向ETCD发出的请求数量输入kubernetes pod(etcdctl),但不确定使用什么命令 另一种选择(如cUrl)也会有所帮助 谢谢你的帮助 您需要从etcd中提取信息并过滤所需内容。 为了举例说明,我将向您展示如何从etcd获取总密钥数 注:在kubernetes 1.18.2中测试 #获取etcd pod IP并设置局部变量: Advertised_URL=“https://$(kubectl get pod

我正试图将ETCD指标(如ETCD密钥数量和大小)以及通过exec(ing)向ETCD发出的请求数量输入kubernetes pod(etcdctl),但不确定使用什么命令

另一种选择(如cUrl)也会有所帮助


谢谢你的帮助

您需要从etcd中提取信息并过滤所需内容。 为了举例说明,我将向您展示如何从etcd获取总密钥数

:在kubernetes 1.18.2中测试

#获取etcd pod IP并设置局部变量:
Advertised_URL=“https://$(kubectl get pods-n kube system-l=component=etcd-o=jsonpath='{.items[*].status.podIP}'):2379“
#获取ectd pod名称并设置变量ETCD_pod
ETCD_POD=$(kubectl get pods-n kube system-l=component=ETCD-o=jsonpath='{.items[*].metadata.name}')
#将所有etcd键/值提取到名为“etcd kv.json”的文件中:
kubectl执行官$ETCD_POD-n kube系统——sh-c\
“ETCDCTL_API=3 ETCDCTL\
--端点$U URL\
--cacert/etc/kubernetes/pki/etcd/ca.crt\
--key/etc/kubernetes/pki/etcd/server.key\
--cert/etc/kubernetes/pki/etcd/server.crt\
获取\“\”--prefix=true-w json“>etcd-kv.json
现在您已经拥有了etcd中的所有键/值对,您只需要进行筛选以提取所需的信息。例如,要列出所有关键点,可以使用以下命令:

for k in $(cat etcd-kv.json | jq '.kvs[].key' | cut -d '"' -f2);  do echo $k | base64 --decode;  echo;  done
要计算键的数量,只需在该命令末尾使用命令
wc-l
,如:

for k in $(cat etcd-kv.json | jq '.kvs[].key' | cut -d '"' -f2);  do echo $k | base64 --decode; echo; done | echo "Total keys=$(wc -l)"
Total keys=308
参考文献: