Created
May 18, 2020 04:38
-
-
Save leopay/9c082be6c5b5bfe74321e772936975d0 to your computer and use it in GitHub Desktop.
check-etcd.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check etcd Members on all Nodes | |
docker exec etcd etcdctl member list | |
# Check Endpoint Status | |
docker exec -e ETCDCTL_ENDPOINTS=$(docker exec etcd /bin/sh -c "etcdctl member list | cut -d, -f5 | sed -e 's/ //g' | paste -sd ','") etcd etcdctl endpoint status --write-out table | |
# Check Endpoint Health | |
docker exec -e ETCDCTL_ENDPOINTS=$(docker exec etcd /bin/sh -c "etcdctl member list | cut -d, -f5 | sed -e 's/ //g' | paste -sd ','") etcd etcdctl endpoint health | |
# Check Connectivity on Port TCP/2379 | |
for endpoint in $(docker exec etcd /bin/sh -c "etcdctl member list | cut -d, -f5"); do | |
echo "Validating connection to ${endpoint}/health" | |
docker run --net=host -v $(docker inspect kubelet --format '{{ range .Mounts }}{{ if eq .Destination "/etc/kubernetes" }}{{ .Source }}{{ end }}{{ end }}')/ssl:/etc/kubernetes/ssl:ro appropriate/curl -s -w "\n" --cacert $(docker exec etcd printenv ETCDCTL_CACERT) --cert $(docker exec etcd printenv ETCDCTL_CERT) --key $(docker exec etcd printenv ETCDCTL_KEY) "${endpoint}/health" | |
done | |
# Check Connectivity on Port TCP/2380 | |
for endpoint in $(docker exec etcd /bin/sh -c "etcdctl member list | cut -d, -f4"); do | |
echo "Validating connection to ${endpoint}/version"; | |
docker run --net=host -v $(docker inspect kubelet --format '{{ range .Mounts }}{{ if eq .Destination "/etc/kubernetes" }}{{ .Source }}{{ end }}{{ end }}')/ssl:/etc/kubernetes/ssl:ro appropriate/curl --http1.1 -s -w "\n" --cacert $(docker exec etcd printenv ETCDCTL_CACERT) --cert $(docker exec etcd printenv ETCDCTL_CERT) --key $(docker exec etcd printenv ETCDCTL_KEY) "${endpoint}/version" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment