From 2f90d49efc518d41a2095dddbea7414a5877ad23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B3=80=EC=A0=95=ED=9B=88?= Date: Tue, 8 Jul 2025 14:40:56 +0900 Subject: [PATCH] =?UTF-8?q?README=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 32a36cf..0b12756 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,81 @@ ### 지원 환경 ![Static Badge](https://img.shields.io/badge/Accordion_v2.11.0-8A2BE2?logo=kubernetes&logoColor=ffffff) -> accrodion v2.11.0 부터 etcdctl 이 포함 됨에 따라 v2.11.0 에 맞춰서 작성 되었습니다. \ No newline at end of file +> accrodion v2.11.0 환경 또는 각 master node에 etcdctl을 설치한 환경 + +### 구조 +``` +. +├── etcd-restore.sh +├── etcd-restore.yml +└── roles + └── etcd-restore + ├── files + ├── tasks + │ ├── main.yml + │ └── redhat + │ ├── 0-etcdctl-check.yml + │ ├── 1-etcd-backup-file-copy.yml + │ ├── 2-etcd-restore.yml + │ ├── 3-etcd-restart.yml + │ ├── 4-kubelet-restart.yml + │ ├── 5-kube-apiserver-restart.yml + │ ├── 6-kube-scheduler-restart.yml + │ ├── 7-kube-controller-manager-restart.yml + │ ├── 8-delete-all-pods.yml + │ ├── 9-calico-restart.yml # 사용하지 않는 task + │ └── main.yml + ├── templates + └── vars + └── main.yml +``` + +### 작업 순서 +``` +1. etcdctl 설치 여부 확인 + +2. etcd 백업 파일 각 서버로 복사 + # /tmp 경로에 복사 # + +3. 기존 etcd 백업 디렉토리 생성 + # /tmp/etcd-backup-202507080403 형식으로 생성 # + +4. 기존 etcd 파일 및 디렉토리 백업 + +5. 기존 etcd 파일 및 디렉토리 제거 + # 존재할 경우 제거 # + +6. etcd 복구 디렉토리 생성 + # /var/lib/etcd/recover 생성 # + +7. etcd 복구 + # master_mode 설정에 따라 다중화 / 싱글 적용 # + +8. recover -> member 디렉토리 변경 + +9. etcd 재기동 + # 모든 etcd container의 상태가 running으로 될 경우 다음 단계 진행 # + +10. kubelet 재기동 + +11. kube-apiserver, kube-scheduler, kube-controller-manager container 재기동 + # 각각 기동이 되면 다음 단계 진행 # + +12. 1분 대기 + +12. 모든 Pod 재기동 +``` + +### 사용 방법 +``` +1. etcd 백업 파일을 accordion-installer 디렉토리로 복사 + +2. vi group_vars/host.yml + # host cluster 기준, member cluster는 vi group_vars/member.yml # + # 아래와 같이 수정 # + + backup_dir: "/mantech/accordion-installer" # accordion-ansible container 내 경로 # + etcd_filename: "shinhan-cluster-etcd-snapshot-2025-07-08.db" # 백업 파일 이름 # + +3. ./etcd-restore.sh host 또는 ./etcd-restore.sh member +``` \ No newline at end of file