Felhasználói eszközök

Eszközök a webhelyen


kubernetes:mentes-helyreallitas

Ez a dokumentum egy előző változata!


Kubernetes mentés, helyreállítás

Dokumentum kelte:2026.07.09
Kubernetes verzió:1.34

Control plane

Control plane helyreállítása előtt győződjünk meg arról, hogy a mentések rendelkezésre állnak. A gépek konfigurációját tartalmazó mentés csak azon a gépen állítható helyre, ahol készült!

Konfiguráció mentése

A mentés az alábbi állományokat tartalmazza:

  • /etc/cni
  • /etc/containerd
  • /etc/kubernetes/manifests/*.yaml
  • /etc/kubernetes/pki
  • /etc/kubernetes/*.conf
  • /root/kubeadm-config.yaml
  • /var/lib/kubelet/pki
  • /var/lib/kubelet/config.yaml
  • /var/lib/kubelet/instance-config.yaml
  • /var/lib/kubelet/kubeadm-flags.env

A /var/lib/kubelet/kubeadm-flags.env fájlban kubernetes v1.35 verziótól nincs inicializálási paraméter, ezért kihagyható a mentésből.

A mentést root felhasználóként kell futtatni. az alábbi példa napi mentést készít a helyi gép /var/backup alkönvtárába.

# mkdir -p /var/backup && tar -czvf /var/backup/k8s-config-$(hostname)-$(date +'%Y%m%d').tar.gz /etc/cni /etc/containerd /etc/kubernetes/manifests/*.yaml /etc/kubernetes/pki /etc/kubernetes/*.conf /root/kubeadm-config.yaml /var/lib/kubelet/pki /var/lib/kubelet/config.yaml /var/lib/kubelet/instance-config.yaml /var/lib/kubeadm-flags.env

ETCD mentés

Az ETCD adatbázisáról egyetlen control plane gépen kell snapshot-ot készíteni. A snapshot root felhasználóként az etcdctl utasítással készíthető el. A snapshot készítése után visszaállítási tesztet kell végezni. Az ETCD 3.6-os verziójától kezdve a helyreállítási műveleteket az etcdutlutasítással tudjuk végrehajtani.

# etcdctl version
etcdctl version: 3.6.12
API version: 3.6

# etcdutl version
etcdutl version: 3.6.12
API version: 3.6
# mkdir -p /var/backup/ && etcdctl snapshot save /var/backup/etcd-snapshot-$(hostname)-$(date +'%Y%m%d').db --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key
...
Snapshot saved at /var/backup/etcd-snapshot-HOSTNAME-YYYYMMDD.db
Server version 3.6.0

Snapshot állapot ellenőrzése.

# etcdutl snapshot status /var/backup/etcd-snapshot-HOSTNAME-YYYYMMDD.db -w table
+----------+----------+------------+------------+---------+
|   HASH   | REVISION | TOTAL KEYS | TOTAL SIZE | VERSION |
+----------+----------+------------+------------+---------+
| aac67e22 | 18385870 |        516 |      24 MB |   3.6.0 |
+----------+----------+------------+------------+---------+

Egy átmeneti könyvtárban helyreállítási tesztet futtatva győződhetünk meg a snapshot állapotáról.

# rm -rf /tmp/etcd-restore-test-$(date +'%Y%m%d') && etcdutl snapshot restore /var/backup/etcd-snapshot-$(hostname)-$(date +'%Y%m%d').db --data-dir=/tmp/etcd-restore-test-$(date +'%Y%m%d')

# [ $? -eq 0 ] && echo "OK - Sikeres helyreállítás" || echo "FAILED - Sikertelen helyreállítás"
OK - Sikeres helyreállítás

# rm -rf /tmp/etcd-restore-test-$(date +'%Y%m%d')

Állapot ellenőrzése

Az alábbi utasításokkal ellenőrizhető a klaszter állapota.

# kubectl get nodes -l node-role.kubernetes.io/control-plane
NAME     STATUS   ROLES           AGE   VERSION
kube01   Ready    control-plane   66d   v1.36.2
kube02   Ready    control-plane   66d   v1.36.2
kube03   Ready    control-plane   66d   v1.36.2

Mindhárom node estében érdemes ellenőrizni a működési feltételeket.

# for node in kube01 kube02 kube03 ; do echo "### ${node} állapot ###" ; kubectl describe node ${node} | egrep '(Ready|MemoryPressure|DiskPressure|PIDPressure|NetworkUnavailable)' | awk '{print $1": "$2}' ; echo ; done
### kube01 állapot ###
NetworkUnavailable: False
MemoryPressure: False
DiskPressure: False
PIDPressure: False
Ready: True

### kube02 állapot ###
NetworkUnavailable: False
MemoryPressure: False
DiskPressure: False
PIDPressure: False
Ready: True

### kube03 állapot ###
NetworkUnavailable: False
MemoryPressure: False
DiskPressure: False
PIDPressure: False
Ready: True

Ellenőrizzük a POD-ok állapotát.

# kubectl -n kube-system get pods
NAME                              READY   STATUS    RESTARTS       AGE
coredns-589f44dc88-5ppfq          1/1     Running   7 (46h ago)    66d
coredns-589f44dc88-nmvss          1/1     Running   7 (46h ago)    66d
etcd-kube01                       1/1     Running   14 (47h ago)   66d
etcd-kube02                       1/1     Running   2 (46h ago)    21d
etcd-kube03                       1/1     Running   2 (46h ago)    21d
kube-apiserver-kube01             1/1     Running   31 (47h ago)   21d
kube-apiserver-kube02             1/1     Running   2 (46h ago)    21d
kube-apiserver-kube03             1/1     Running   5 (46h ago)    21d
kube-controller-manager-kube01    1/1     Running   5 (47h ago)    21d
kube-controller-manager-kube02    1/1     Running   7 (46h ago)    21d
kube-controller-manager-kube03    1/1     Running   4 (46h ago)    21d
kube-proxy-5v48r                  1/1     Running   2 (46h ago)    21d
kube-proxy-hj68x                  1/1     Running   2 (47h ago)    21d
kube-proxy-xrk5x                  1/1     Running   2 (46h ago)    21d
kube-scheduler-kube01             1/1     Running   7 (47h ago)    21d
kube-scheduler-kube02             1/1     Running   4 (46h ago)    21d
kube-scheduler-kube03             1/1     Running   5 (46h ago)    21d
metrics-server-55bf4495db-tsgtq   1/1     Running   6 (46h ago)    26d

Áttekintő ellenőrzés.

# kubectl get --raw='/readyz?verbose'
[+]ping ok
[+]log ok
[+]etcd ok
[+]etcd-readiness ok
[+]informer-sync ok
[+]poststarthook/start-apiserver-admission-initializer ok
[+]poststarthook/generic-apiserver-start-informers ok
[+]poststarthook/priority-and-fairness-config-consumer ok
[+]poststarthook/priority-and-fairness-filter ok
[+]poststarthook/storage-object-count-tracker-hook ok
[+]poststarthook/start-apiextensions-informers ok
[+]poststarthook/start-apiextensions-controllers ok
[+]poststarthook/crd-informer-synced ok
[+]poststarthook/start-system-namespaces-controller ok
[+]poststarthook/peer-endpoint-reconciler-controller ok
[+]poststarthook/start-cluster-authentication-info-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-garbage-collector ok
[+]poststarthook/storage-readiness ok
[+]poststarthook/start-legacy-token-tracking-controller ok
[+]poststarthook/start-service-ip-repair-controllers ok
[+]poststarthook/rbac/bootstrap-roles ok
[+]poststarthook/scheduling/bootstrap-system-priority-classes ok
[+]poststarthook/priority-and-fairness-config-producer ok
[+]poststarthook/bootstrap-controller ok
[+]poststarthook/start-kubernetes-service-cidr-controller ok
[+]poststarthook/aggregator-reload-proxy-client-cert ok
[+]poststarthook/start-kube-aggregator-informers ok
[+]poststarthook/apiservice-status-local-available-controller ok
[+]poststarthook/apiservice-status-remote-available-controller ok
[+]poststarthook/apiservice-registration-controller ok
[+]poststarthook/apiservice-discovery-controller ok
[+]poststarthook/kube-apiserver-autoregistration ok
[+]autoregister-completion ok
[+]poststarthook/apiservice-openapi-controller ok
[+]poststarthook/apiservice-openapiv3-controller ok
[+]shutdown ok
readyz check passed

ETCD tagok listája.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key member list -w table
+------------------+---------+--------+------------------------------+------------------------------+------------+
|        ID        | STATUS  |  NAME  |          PEER ADDRS          |         CLIENT ADDRS         | IS LEARNER |
+------------------+---------+--------+------------------------------+------------------------------+------------+
| 1546a2d2ac61bd8d | started | kube02 | https://192.168.110.162:2380 | https://192.168.110.162:2379 |      false |
| 18e2fb4d02a30b2e | started | kube03 | https://192.168.110.163:2380 | https://192.168.110.163:2379 |      false |
| 20e2ce3086b2e277 | started | kube01 | https://192.168.110.161:2380 | https://192.168.110.161:2379 |      false |
+------------------+---------+--------+------------------------------+------------------------------+------------+

ETCD endpoint állapot.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint status -w table
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
|      ENDPOINT       |        ID        | VERSION | STORAGE VERSION | DB SIZE | IN USE | PERCENTAGE NOT IN USE | QUOTA  | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS | DOWNGRADE TARGET VERSION | DOWNGRADE ENABLED |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
| https://kube01:2379 | 20e2ce3086b2e277 |   3.6.8 |           3.6.0 |   24 MB | 7.2 MB |                   71% | 2.1 GB |     false |      false |         4 |    6990447 |            6990447 |        |                          |             false |
| https://kube02:2379 | 1546a2d2ac61bd8d |   3.6.8 |           3.6.0 |   24 MB | 7.2 MB |                   71% | 2.1 GB |      true |      false |         4 |    6990447 |            6990447 |        |                          |             false |
| https://kube03:2379 | 18e2fb4d02a30b2e |   3.6.8 |           3.6.0 |   24 MB | 7.2 MB |                   71% | 2.1 GB |     false |      false |         4 |    6990447 |            6990447 |        |                          |             false |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+

Tanúsítványok érvényességének vizsgálata.

# kubeadm certs check-expiration
[check-expiration] Reading configuration from the "kubeadm-config" ConfigMap in namespace "kube-system"...
[check-expiration] Use 'kubeadm init phase upload-config kubeadm --config your-config-file' to re-upload it.

CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Feb 15, 2126 06:54 UTC   99y             ca                      no      
apiserver                  Feb 15, 2126 06:54 UTC   99y             ca                      no      
apiserver-etcd-client      Feb 15, 2126 06:54 UTC   99y             etcd-ca                 no      
apiserver-kubelet-client   Feb 15, 2126 06:54 UTC   99y             ca                      no      
controller-manager.conf    Feb 15, 2126 06:54 UTC   99y             ca                      no      
etcd-healthcheck-client    Feb 15, 2126 06:54 UTC   99y             etcd-ca                 no      
etcd-peer                  Feb 15, 2126 06:54 UTC   99y             etcd-ca                 no      
etcd-server                Feb 15, 2126 06:54 UTC   99y             etcd-ca                 no      
front-proxy-client         Feb 15, 2126 06:54 UTC   99y             front-proxy-ca          no      
scheduler.conf             Feb 15, 2126 06:54 UTC   99y             ca                      no      
super-admin.conf           Feb 15, 2126 06:54 UTC   99y             ca                      no      

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Sep 01, 2225 09:27 UTC   199y            no      
etcd-ca                 Sep 01, 2225 09:27 UTC   199y            no      
front-proxy-ca          Sep 01, 2225 09:27 UTC   199y            no      

Amennyiben a fenti ellenőrzések sikeresek, akkor a klaszter control-plane gépei egészségesek. Nincs további teendő.

Egy control plane kiesés

Egy control-plane gép kiesését a klaszter probléma nélkül elviseli. Amennyiben a kiesés az ETCD leader-t érinti, akkor a két megmaradt tagból az egyik átveszi a leader szerepet.

A leader szerepkörű ETCD tagot az alábbi utasítással kaphatjuk meg.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint status -w json | jq -r '.[] | select(.Status.leader == .Status.header.member_id) | .Endpoint'

https://kube02:2379

A leader kiesésekor az ETCD ellenőrző utasítás nem tud kapcsolódni a korábbi leader-hez. A két működő tag új leader-t választ.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint status -w json | jq -r '.[] | select(.Status.leader == .Status.header.member_id) | .Endpoint'
{"level":"warn","ts":"2026-07-09T09:24:07.518541+0200","logger":"etcd-client","caller":"v3@v3.6.12/retry_interceptor.go:68","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0002103c0/kube02:2379","peer":"Peer{Addr: <nil>, LocalAddr: <nil>, AuthInfo: <nil>}","method":"/etcdserverpb.Maintenance/Status","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing: dial tcp 192.168.110.162:2379: connect: connection refused\""}
Failed to get the status of endpoint https://kube02:2379 (context deadline exceeded)

https://kube01:2379

A gépek listázásakor egy idő után a hiányzó gép NotReady állapotba kerül.

# kubectl get nodes -l node-role.kubernetes.io/control-plane
NAME     STATUS     ROLES           AGE   VERSION
kube01   Ready      control-plane   66d   v1.36.2
kube02   NotReady   control-plane   66d   v1.36.2
kube03   Ready      control-plane   66d   v1.36.2

ETCD endpoint állapot ellenőrzésekor hiányzik a kiesett tag.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint status -w table
{"level":"warn","ts":"2026-07-09T09:34:48.926554+0200","logger":"etcd-client","caller":"v3@v3.6.12/retry_interceptor.go:68","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc00027f860/kube02:2379","peer":"Peer{Addr: <nil>, LocalAddr: <nil>, AuthInfo: <nil>}","method":"/etcdserverpb.Maintenance/Status","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = context deadline exceeded while waiting for connections to become ready"}
Failed to get the status of endpoint https://kube02:2379 (context deadline exceeded)
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
|      ENDPOINT       |        ID        | VERSION | STORAGE VERSION | DB SIZE | IN USE | PERCENTAGE NOT IN USE | QUOTA  | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS | DOWNGRADE TARGET VERSION | DOWNGRADE ENABLED |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
| https://kube01:2379 | 20e2ce3086b2e277 |   3.6.8 |           3.6.0 |   24 MB | 8.0 MB |                   68% | 2.1 GB |      true |      false |         5 |    6996663 |            6996663 |        |                          |             false |
| https://kube03:2379 | 18e2fb4d02a30b2e |   3.6.8 |           3.6.0 |   24 MB | 8.0 MB |                   67% | 2.1 GB |     false |      false |         5 |    6996681 |            6996678 |        |                          |             false |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+

Rövid idejű kiesés

Rövid ideig tartó kiesés esetén a hiba megszűnése után érdemes ellenőrizni az állapotokat.

Gépek listája.

# kubectl get nodes -l node-role.kubernetes.io/control-plane
NAME     STATUS   ROLES           AGE   VERSION
kube01   Ready    control-plane   66d   v1.36.2
kube02   Ready    control-plane   66d   v1.36.2
kube03   Ready    control-plane   66d   v1.36.2

ETCD endpoint állapot.

# etcdctl --endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint status -w table
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
|      ENDPOINT       |        ID        | VERSION | STORAGE VERSION | DB SIZE | IN USE | PERCENTAGE NOT IN USE | QUOTA  | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS | DOWNGRADE TARGET VERSION | DOWNGRADE ENABLED |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+
| https://kube01:2379 | 20e2ce3086b2e277 |   3.6.8 |           3.6.0 |   24 MB | 8.4 MB |                   66% | 2.1 GB |      true |      false |         5 |    6996862 |            6996862 |        |                          |             false |
| https://kube02:2379 | 1546a2d2ac61bd8d |   3.6.8 |           3.6.0 |   24 MB | 8.0 MB |                   68% | 2.1 GB |     false |      false |         5 |    6996863 |            6996861 |        |                          |             false |
| https://kube03:2379 | 18e2fb4d02a30b2e |   3.6.8 |           3.6.0 |   24 MB | 8.3 MB |                   66% | 2.1 GB |     false |      false |         5 |    6996864 |            6996863 |        |                          |             false |
+---------------------+------------------+---------+-----------------+---------+--------+-----------------------+--------+-----------+------------+-----------+------------+--------------------+--------+--------------------------+-------------------+

Újabb ellenőrzéssel meggyőződhetünk a RAFT indexek állapotáról.

# etcdctl –endpoints=https://kube01:2379,https://kube02:2379,https://kube03:2379 –cacert=/etc/kubernetes/pki/etcd/ca.crt –cert=/etc/kubernetes/pki/etcd/server.crt –key=/etc/kubernetes/pki/etcd/server.key endpoint status -w table +———————+——————+———+—————–+———+——–+———————–+——–+———–+————+———–+————+——————–+——–+————————–+——————-+

ENDPOINT ID VERSION STORAGE VERSION DB SIZE IN USE PERCENTAGE NOT IN USE QUOTA IS LEADER IS LEARNER RAFT TERM RAFT INDEX RAFT APPLIED INDEX ERRORS DOWNGRADE TARGET VERSION DOWNGRADE ENABLED

+———————+——————+———+—————–+———+——–+———————–+——–+———–+————+———–+————+——————–+——–+————————–+——————-+

https://kube01:2379 20e2ce3086b2e277 3.6.8 3.6.0 24 MB 9.8 MB 60% 2.1 GB true false 5 6998333 6998333 false
https://kube02:2379 1546a2d2ac61bd8d 3.6.8 3.6.0 24 MB 9.6 MB 61% 2.1 GB false false 5 6998333 6998333 false
https://kube03:2379 18e2fb4d02a30b2e 3.6.8 3.6.0 24 MB 9.8 MB 60% 2.1 GB false false 5 6998333 6998333 false

+———————+——————+———+—————–+———+——–+———————–+——–+———–+————+———–+————+——————–+——–+————————–+——————-+

Tartós kiesés

Kettő control plane kiesés

Három control plane kiesés

Worker

ETCD környezet helyreállítása mentésből

A környezet helyreállítása előtt győződjünk meg arról, hogy minden control-plane gépen telepítve van az etcdctl és az etcdutl program.

# etcdctl version
etcdctl version: 3.6.12
API version: 3.6

# etcdutl version
etcdutl version: 3.6.12
API version: 3.6

Megjegyzés: 3.5-ös etcdctl verzió az utolsó olyan változat, amellyel a helyreállítás elvégezhető. 3.6-os verziótól a helyreállítási műveleteket az etcdutl utasítással kell elvégezni.

Mentés állapotának ellenőrzése

Állapot gyors ellenőrzése

# etcdutl snapshot status /root/etcd-snapshot-20260606.db -w table
+----------+----------+------------+------------+---------+
|   HASH   | REVISION | TOTAL KEYS | TOTAL SIZE | VERSION |
+----------+----------+------------+------------+---------+
| e1ac0dbb | 17572986 |        749 |      24 MB |   3.6.0 |
+----------+----------+------------+------------+---------+

Helyreállítási teszt

Győződjünk meg a mentés helyreállíthatóságáról. A mentést valamelyik control-plane gépen egy átmeneti könyvtárban állítsuk helyre.

# rm -rf /tmp/etcd-restore-test 
etcdutl snapshot restore /root/etcd-snapshot-20260606.db --data-dir=/tmp/etcd-restore-test
2026-07-06T08:54:44+02:00	info	snapshot/v3_snapshot.go:305	restoring snapshot	{"path": "/root/etcd-snapshot-20260606.db", "wal-dir": "/tmp/etcd-restore-test/member/wal", "data-dir": "/tmp/etcd-restore-test", "snap-dir": "/tmp/etcd-restore-test/member/snap", "initial-memory-map-size": 10737418240}
2026-07-06T08:54:44+02:00	info	bbolt	backend/backend.go:203	Opening db file (/tmp/etcd-restore-test/member/snap/db) with mode -rw------- and with options: {Timeout: 0s, NoGrowSync: false, NoFreelistSync: true, PreLoadFreelist: false, FreelistType: , ReadOnly: false, MmapFlags: 8000, InitialMmapSize: 10737418240, PageSize: 0, NoSync: false, OpenFile: 0x0, Mlock: false, Logger: 0xc000304008}
2026-07-06T08:54:44+02:00	info	bbolt	bbolt@v1.4.3/db.go:322	Opening bbolt db (/tmp/etcd-restore-test/member/snap/db) successfully
2026-07-06T08:54:44+02:00	info	schema/membership.go:138	Trimming membership information from the backend...
2026-07-06T08:54:44+02:00	info	bbolt	backend/backend.go:203	Opening db file (/tmp/etcd-restore-test/member/snap/db) with mode -rw------- and with options: {Timeout: 0s, NoGrowSync: false, NoFreelistSync: true, PreLoadFreelist: false, FreelistType: , ReadOnly: false, MmapFlags: 8000, InitialMmapSize: 10737418240, PageSize: 0, NoSync: false, OpenFile: 0x0, Mlock: false, Logger: 0xc0000621e0}
2026-07-06T08:54:44+02:00	info	bbolt	bbolt@v1.4.3/db.go:322	Opening bbolt db (/tmp/etcd-restore-test/member/snap/db) successfully
2026-07-06T08:54:44+02:00	info	membership/cluster.go:424	added member	{"cluster-id": "cdf818194e3a8c32", "local-member-id": "0", "added-peer-id": "8e9e05c52164694d", "added-peer-peer-urls": ["http://localhost:2380"], "added-peer-is-learner": false}
2026-07-06T08:54:45+02:00	info	bbolt	backend/backend.go:203	Opening db file (/tmp/etcd-restore-test/member/snap/db) with mode -rw------- and with options: {Timeout: 0s, NoGrowSync: false, NoFreelistSync: true, PreLoadFreelist: false, FreelistType: , ReadOnly: false, MmapFlags: 8000, InitialMmapSize: 10737418240, PageSize: 0, NoSync: false, OpenFile: 0x0, Mlock: false, Logger: 0xc000062228}
2026-07-06T08:54:45+02:00	info	bbolt	bbolt@v1.4.3/db.go:322	Opening bbolt db (/tmp/etcd-restore-test/member/snap/db) successfully
2026-07-06T08:54:45+02:00	info	snapshot/v3_snapshot.go:333	restored snapshot	{"path": "/root/etcd-snapshot-20260606.db", "wal-dir": "/tmp/etcd-restore-test/member/wal", "data-dir": "/tmp/etcd-restore-test", "snap-dir": "/tmp/etcd-restore-test/member/snap", "initial-memory-map-size": 10737418240}

Amennyiben sikeresen lefut a helyreállítás, akkor a teszt sikeres.

Jelenlegi állapot mentése

Kubernetes objektumok állapotának mentése egy control-plane gépen. Erre a helyreállítás után az objektumok állapotának ellenőrzésénél lesz szükség.

# mkdir -p /root/k8s-backup
# kubectl get nodes -o wide > /root/k8s-backup/nodes.before.txt
# kubectl get pods -A -o wide > /root/k8s-backup/pods.before.txt
# kubectl get ns > /root/k8s-backup/namespaces.before.txt
# kubectl get cm -A > /root/k8s-backup/configmaps.before.txt

Szolgáltatások tiltása és leállítása az összes control-plane gépen.

# systemctl disable kubelet containerd
# systemctl stop kubelet containerd
# systemctl reboot
<code>

Korábbi környezet mentése.

<code>
# mkdir -p /root/k8s-backup/pre-restore
# mkdir -p /root/k8s-backup/pre-restore/etc/kubernetes
# mkdir -p /root/k8s-backup/pre-restore/var/lib
# cp -a /etc/kubernetes/manifests /root/k8s-backup/pre-restore/etc/kubernetes/
# cp -a /etc/kubernetes/pki /root/k8s-backup/pre-restore/etc/kubernetes/
# cp -a /var/lib/etcd /root/k8s-backup/pre-restore/var/lib/
kubernetes/mentes-helyreallitas.1783583408.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan