Etcd
Collect data to troubleshoot etcd cluster in Kubernetes
The etcd
collector gathers essential data to troubleshoot etcd cluster problems in Kubernetes environments. It executes a series of etcdctl
commands to assess the health and status of your etcd cluster.
During execution, the collector runs the following etcdctl
commands on the existing etcd cluster:
etcdctl endpoint health
etcdctl endpoint status
etcdctl member list
etcdctl alarm list
etcdctl version
This collector is compatible with the following Kubernetes distributions:
- kURL
- k0s
Parameters
The etcd
collector supports the shared collector properties and the following parameters.
image
(optional)
The image for the pod to run etcdctl
commands. Default to quay.io/coreos/etcd:latest
See the examples below for use cases.
Example Collector Definition
apiVersion: troubleshoot.sh/v1beta2
kind: SupportBundle
metadata:
name: etcd-collector
spec:
collectors:
- etcd:
image: quay.io/coreos/etcd:latest
Included resources
When this collector is executed, it includes the following files in a support bundle:
/etcd/endpoint-health.json
Contains the output of the command etdctl endpoint health --write-out json
.
[
{
"endpoint": "https://127.0.0.1:2379",
"health": true,
"took": "19.292721ms"
}
]
/etcd/endpoint-status.json
Contains the output of the command etcdctl endpoint status --write-out json
.
[
{
"Endpoint": "https://127.0.0.1:2379",
"Status": {
"header": {
"cluster_id": 6711744062120372582,
"member_id": 8657109746518078165,
"revision": 12298,
"raft_term": 2
},
"version": "3.5.12",
"dbSize": 15659008,
"leader": 8657109746518078165,
"raftIndex": 13128,
"raftTerm": 2,
"raftAppliedIndex": 13128,
"dbSizeInUse": 6660096
}
}
]
/etcd/member-list.json
Contains the output of the command etcdctl member list --write-out json
.
{
"header": {
"cluster_id": 6711744062120372582,
"member_id": 8657109746518078165,
"raft_term": 2
},
"members": [
{
"ID": 8657109746518078165,
"name": "eff45d970",
"peerURLs": ["https://<REDACTED>:2380"],
"clientURLs": ["https://<REDACTED>:2379"]
}
]
}
/etcd/alarm-list.json
Contains the output of the command etcdctl alarm list --write-out json
.
{
"header": {
"cluster_id": 6711744062120372582,
"member_id": 8657109746518078165,
"revision": 12310,
"raft_term": 2
}
}
/etcd/version.json
etcdctl version: 3.5.1
API version: 3.5