24-周期性备份etcd数据
一、思路
- 1.备份工具etcdctl
- 2.使用cj控制器
- 3.备份时需要使用证书
二、编写Dockerfile
[root@master231 backup]# cp /etc/kubernetes/pki/etcd/{ca.crt,peer.crt,peer.key} /usr/local/bin/etcdctl ./
[root@master231 backup]#
[root@master231 backup]# ll
total 18016
drwxr-xr-x 2 root root 4096 Apr 10 15:16 ./
drwxr-xr-x 4 root root 4096 Apr 10 15:05 ../
-rw-r--r-- 1 root root 1086 Apr 10 15:09 ca.crt
-rw-r--r-- 1 root root 219 Apr 10 15:16 Dockerfile
-rwxr-xr-x 1 root root 18419864 Apr 10 15:15 etcdctl*
-rw-r--r-- 1 root root 1200 Apr 10 15:09 peer.crt
-rw------- 1 root root 1675 Apr 10 15:09 peer.key
[root@master231 backup]#
[root@master231 backup]# cat Dockerfile
FROM harbor250.oldboyedu.com/oldboyedu-xiuxian/apps:v1
MAINTAINER JasonYin
LABEL school=oldboyedu \
class=linux96
COPY etcdctl /usr/local/bin/
COPY ca.crt peer.crt peer.key /
# CMD ["tail","-f","/etc/hosts"]
CMD ["/bin/sh","-c","etcdctl --endpoints=10.0.0.231:2379 --cacert=/ca.crt --cert=/peer.crt --key=/peer.key snapshot save /tmp/oldboyedu-etcd-`date +%F-%T`.backup"]
[root@master231 backup]#
三、测试验证
[root@master231 backup]# docker build -t etcd-backup:v0.1 .
Sending build context to Docker daemon 18.43MB
Step 1/6 : FROM harbor250.oldboyedu.com/oldboyedu-xiuxian/apps:v1
# Executing 1 build trigger
---> Using cache
---> 3702ed09067c
Step 2/6 : MAINTAINER JasonYin
---> Using cache
---> e45c3391c338
Step 3/6 : LABEL school=oldboyedu class=linux96
---> Using cache
---> d713219b897c
Step 4/6 : COPY etcdctl /usr/local/bin/
---> Using cache
---> f7bdd47d599d
Step 5/6 : COPY ca.crt peer.crt peer.key /
---> Using cache
---> 0a998727add5
Step 6/6 : CMD ["/bin/sh","-c","etcdctl --endpoints=10.0.0.231:2379 --cacert=/ca.crt --cert=/peer.crt --key=/peer.key snapshot save /tmp/oldboyedu-etcd-`date +%F-%T`.backup"]
---> Using cache
---> fab91124fe23
Successfully built fab91124fe23
Successfully tagged etcd-backup:v0.1
[root@master231 backup]#
[root@master231 backup]# docker run -d --name etcd-bak -v /xixi:/tmp etcd-backup:v0.1
6e60db3b0d27620655343d91d24300e82b10bc43c8aebf07a6debc4fa5e63cfa
[root@master231 backup]#
[root@master231 backup]#
[root@master231 backup]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e60db3b0d27 etcd-backup:v0.1 "/docker-entrypoint.…" 17 seconds ago Exited (0) 16 seconds ago etcd-bak
[root@master231 backup]#
[root@master231 backup]#
[root@master231 backup]# ll /xixi/
total 18288
drwxr-xr-x 2 root root 4096 Apr 10 15:24 ./
drwxr-xr-x 22 root root 4096 Apr 10 15:22 ../
-rw------- 1 root root 9355296 Apr 10 15:24 oldboyedu-etcd-2025-04-10-07:24:21.backup
[root@master231 backup]#
四、使用资源清单改写
本文来自博客园,作者:丁志岩,转载请注明原文链接:https://www.cnblogs.com/dezyan/p/18819732