Skip to content

Instantly share code, notes, and snippets.

@devops-school
Forked from skynet86/read.me
Last active July 13, 2021 16:45
Show Gist options
  • Save devops-school/3038af6e4cbb1f951bbc483504d4b750 to your computer and use it in GitHub Desktop.
Save devops-school/3038af6e4cbb1f951bbc483504d4b750 to your computer and use it in GitHub Desktop.
Kubernetes cluster backup and restore using "etcdctl" tool
ETCD_VER=v3.5.0
# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
/tmp/etcd-download-test/etcdutl version
mv /tmp/etcd-download-test/etcd /tmp/etcd-download-test/etcdctl /tmp/etcd-download-test/etcdutl /usr/local/bin
// Do not forget to mention etcd API version 3
ETCDCTL_API=3 etcdctl \
--endpoints https://172.31.22.124:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
snapshot save snapshot-backup.db
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment