상태 체크 추가

This commit is contained in:
2025-07-08 11:26:56 +09:00
parent 844d9c110d
commit 4db162d8e6
5 changed files with 97 additions and 23 deletions

View File

@@ -2,29 +2,44 @@
- name: set time - name: set time
set_fact: set_fact:
time: "{{ lookup('pipe','date +%Y%m%d%H%M') }}" time: "{{ lookup('pipe','date +%Y%m%d%H%M') }}"
environment:
TZ: Asia/Seoul
- name: "[{{ target }} / 2-etcd-restore.yml] etcd original backup directory create" - name: "[{{ target }} / 2-etcd-restore.yml] etcd original backup directory create"
file: file:
path: /tmp/etcd-backup-{{ time }} path: /tmp/etcd-backup-{{ time }}
state: directory state: directory
mode: '0755' mode: '0755'
- name: "[{{ target }} / 2-etcd-restore.yml] etcd original backup" - name: "[{{ target }} / 2-etcd-restore.yml] etcd original backup"
shell: | shell: |
cp -r /var/lib/etcd/* /tmp/etcd-backup-{{ time }} cp -r /var/lib/etcd/* /tmp/etcd-backup-{{ time }}
failed_when: false failed_when: false
- name: "[{{ target }} / 2-etcd-restore.yml] etcd original file delete" #- name: "[{{ target }} / 2-etcd-restore.yml] etcd original file delete"
shell: | # shell: |
rm -rf /var/lib/etcd/* # rm -rf /var/lib/etcd/*
- name: "[{{ target }} / 2-etcd-restore.yml] etcd restore directory create" - name: "[{{ target }} / 2-etcd-restore.yml] find old etcd file and directory"
find:
path: /var/lib/etcd
recurse: yes
file_type: any
register: find_etcd_file
- name: "[{{ target }} / 2-etcd-restore.yml] etcd original file delete"
file:
path: "{{ item.path }}"
state: absent
loop: "{{ find_etcd_file.files }}"
- name: "[{{ target }} / 2-etcd-restore.yml] etcd restore directory create"
file: file:
path: /var/lib/etcd/recover path: /var/lib/etcd/recover
state: directory state: directory
mode: '0755' mode: '0755'
- name: "[{{ target }} / 2-etcd-restore.yml] etcd restore" - name: "[{{ target }} / 2-etcd-restore.yml] etcd restore"
shell: | shell: |
etcdctl snapshot restore /tmp/{{ etcd_filename }} \ etcdctl snapshot restore /tmp/{{ etcd_filename }} \
--name {{ ansible_hostname }} \ --name {{ ansible_hostname }} \
@@ -35,7 +50,7 @@
when: when:
- master_mode == "yes" - master_mode == "yes"
- name: "[{{ target }} / 2-etcd-restore.yml] etcd restore" - name: "[{{ target }} / 2-etcd-restore.yml] etcd restore"
shell: | shell: |
etcdctl snapshot restore /tmp/{{ etcd_filename }} \ etcdctl snapshot restore /tmp/{{ etcd_filename }} \
--name {{ ansible_hostname }} \ --name {{ ansible_hostname }} \
@@ -46,7 +61,7 @@
when: when:
- master_mode == "no" - master_mode == "no"
- name: "[{{ target }} / 2-etcd-restore.yml] etcd restore result" - name: "[{{ target }} / 2-etcd-restore.yml] etcd restore result"
debug: debug:
msg: | msg: |
{% if master_mode_etcdctl_command_result.rc == 0 or single_etcdctl_command_result.rc == 0 %} {% if master_mode_etcdctl_command_result.rc == 0 or single_etcdctl_command_result.rc == 0 %}
@@ -55,16 +70,16 @@
etcd restore failed! etcd restore failed!
{% endif %} {% endif %}
- name: "[{{ target }} / 2-etcd-restore.yml] delete old etcd member directory" - name: "[{{ target }} / 2-etcd-restore.yml] delete old etcd member directory"
file: file:
path: /var/lib/etcd/member path: /var/lib/etcd/member
state: absent state: absent
- name: "[{{ target }} / 2-etcd-restore.yml] change name etcd restore directory" - name: "[{{ target }} / 2-etcd-restore.yml] change name etcd restore directory"
shell: | shell: |
mv /var/lib/etcd/recover/member /var/lib/etcd/member mv /var/lib/etcd/recover/member /var/lib/etcd/member
- name: "[{{ target }} / 2-etcd-restore.yml] delete recover directory" - name: "[{{ target }} / 2-etcd-restore.yml] delete recover directory"
file: file:
path: /var/lib/etcd/recover path: /var/lib/etcd/recover
state: absent state: absent

View File

@@ -9,16 +9,19 @@
loop: "{{ etcd_container_ids.stdout_lines }}" loop: "{{ etcd_container_ids.stdout_lines }}"
when: etcd_container_ids.stdout_lines | length > 0 when: etcd_container_ids.stdout_lines | length > 0
#- name: "[{{ target }} / 3-etcd-restart.yml] Wait for etcd container to be ready (60s)" - name: "[{{ target }} / 3-etcd-restart.yml] etcd running check"
# pause: shell: crictl ps -a | awk '$7 == "etcd" {print $1}'
# seconds: 60 register: etcd_running_check
until: etcd_running_check.stdout | trim != ""
retries: 300
delay: 10
#- name: "[{{ target }} / 3-etcd-restart.yml] etcd status" - name: "[{{ target }} / 3-etcd-restart.yml] etcd status"
# shell: | shell: |
# crictl ps -a |grep etcd crictl ps -a |grep etcd
# register: etcd_status register: etcd_status
#- name: "[{{ target }} / 3-etcd-restart.yml] etcd status" - name: "[{{ target }} / 3-etcd-restart.yml] etcd status"
# debug: debug:
# msg: msg:
# "{{ etcd_status.stdout }}" "{{ etcd_status.stdout }}"

View File

@@ -0,0 +1,25 @@
---
- name: "[{{ target }} / 5-kube-apiserver-restart.yml] get kube-apiserver container id"
shell: crictl ps -a |grep kube-apiserver-{{ ansible_hostname }} | awk '{print $1}'
register: kube_apiserver_ids
- name: "[{{ target }} / 5-kube-apiserver-restart.yml] kube-apiserver restart"
shell: crictl stop {{ item }} && crictl rm {{ item }}
loop: "{{ kube_apiserver_ids.stdout_lines }}"
when: kube_apiserver_ids.stdout_lines | length > 0
- name: "[{{ target }} / 5-kube-apiserver-restart.yml] kube-apiserver running check"
shell: crictl ps -a |grep kube-apiserver-{{ ansible_hostname }}
register: apiserver_running_check
until: apiserver_running_check.stdout | trim != ""
retries: 300
delay: 10
- name: "[{{ target }} / 5-kube-apiserver-restart.yml] kube-apiserver status"
shell: crictl ps -a |grep kube-apiserver-{{ ansible_hostname }}
register: apiserver_status
- name: "[{{ target }} / 5-kube-apiserver-restart.yml] kube-apiserver status"
debug:
msg:
"{{ apiserver_status }}"

View File

@@ -0,0 +1,26 @@
---
- name: "[{{ host }} / 6-calico-restart.yml] calico restart"
shell: kubectl rollout restart ds -n kube-system calico-node
- name: "[{{ host }} / 6-calico-restart.yml] calico status check"
shell: kubectl get pods -n kube-system | grep calico-node | wc -l
register: calico_node_count
changed_when: false
- name: "[{{ host }} / 6-calico-restart.yml] calico status check"
shell: kubectl get pods -n kube-system | grep calico-node | grep Running | wc -l
register: running_count
until: calico_node_count | int == running_count | int
retries: 50
delay: 10
changed_when: false
- name: "[{{ host }} / 6-calico-restart.yml] calico status check"
shell: kubectl get pods -n kube-system | grep calico-node
register: calico_status
changed_when: false
- name: "[{{ host }} / 6-calico-restart.yml] calico status check"
debug:
msg:
"{{ calico_status.stdout }}"

View File

@@ -23,3 +23,8 @@
when: when:
- ("host-cluster" in group_names) and target == "host" or - ("host-cluster" in group_names) and target == "host" or
("member-cluster" in group_names) and target == "member" ("member-cluster" in group_names) and target == "member"
- include: "5-kube-apiserver-restart.yml"
when:
- ("host-master" in group_names or "host-master-cluster" in group_names) and target == "host" or
("member-master" in group_names or "member-master-cluster" in group_names) and target == "member"