成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數(shù)據(jù)無憂,一學(xué)就會(huì):掌握CKA認(rèn)證必備的etcd備份與還原秘籍!

云計(jì)算 數(shù)據(jù)庫
etcd是一致且高可用的鍵值存儲(chǔ),用作Kubernetes 所有集群數(shù)據(jù)的后臺(tái)數(shù)據(jù)庫。是一個(gè)非常重要的部件,因此,需要對(duì)這個(gè)部件進(jìn)行備份,方便后續(xù)出現(xiàn)問題能盡快的恢復(fù)。

etcd是一致且高可用的鍵值存儲(chǔ),用作Kubernetes 所有集群數(shù)據(jù)的后臺(tái)數(shù)據(jù)庫。是一個(gè)非常重要的部件,因此,需要對(duì)這個(gè)部件進(jìn)行備份,方便后續(xù)出現(xiàn)問題能盡快的恢復(fù)。

1.etcd基本使用方式

下面通過Kubernetes 練習(xí)環(huán)境Killercoda[1]進(jìn)行實(shí)操。使用github賬號(hào)登錄到Killercoda平臺(tái)上,該平臺(tái)目前使用的是最新版本的Kubernetes。

Killercoda平臺(tái)

該系統(tǒng)上也安裝了etcd cli客戶端,如果沒有安裝,可以執(zhí)行下面的命令進(jìn)行安裝:

apt install etcd-client

etcdcli 客戶端與etcd采用證書方式進(jìn)行通信,kubeadm方式部署的Kubernetes可以通過yaml文件查看etcd的證書路徑。

etcd組件yaml

--initial-advertise-peer-urls:集群間會(huì)通告,此為通告地址,聲明節(jié)點(diǎn)端口,2380集群中使用,2379客戶端使用。

或者使用kubectl get pods etcd-controlplane -o yaml -n kube-system方式查看證書的路徑信息。如下圖:

etcd組件yaml

2.創(chuàng)建Nginx

通過下面的命令創(chuàng)建具有多個(gè)副本的 nginx 部署,這些副本將用于驗(yàn)證 etcd 數(shù)據(jù)的恢復(fù)。

kubectl create deployment nginx \
--image=nginx \
--replicas=3

驗(yàn)證新部署的 Pod 是否處于運(yùn)行狀態(tài):

查看Pod狀態(tài)

3.備份Etcd數(shù)據(jù)

為 etcd 備份創(chuàng)建一個(gè)備份目錄mkdir etcd-backup運(yùn)行以下命令進(jìn)行 etcd 備份。

export ETCDCTL_API=3 
etcdctl \
--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 save ./etcd-backup/etcdbackup.db

執(zhí)行完如下圖:

備份etcd

4.驗(yàn)證備份數(shù)據(jù)

運(yùn)行以下命令,以從新備份數(shù)據(jù)中獲取密鑰列表和詳細(xì)信息:

etcdctl --write-out=table snapshot status ./etcd-backup/etcdbackup.db

執(zhí)行完命令后如下圖:

5.將備份恢復(fù)到集群

(1) 在這里,我們將刪除之前創(chuàng)建的 nginx 部署,然后恢復(fù)備份,以便恢復(fù) nginx 部署。

controlplane $ kubectl delete deployments.apps nginx
deployment.apps "nginx" deleted

(2) 將數(shù)據(jù)從備份恢復(fù),執(zhí)行如下命令:

controlplane $ export ETCDCTL_API=3
controlplane $  mkdir -p /var/lib/restore
controlplane $  etcdctl snapshot restore etcd-backup/etcdbackup.db --data-dir=/var/lib/restore

--data-dir:是指定把數(shù)據(jù)還原到那個(gè)目錄下。

執(zhí)行完上述命令會(huì)在指定的目錄下生成etcd數(shù)據(jù)文件,如下圖:

還原備份

(3) 現(xiàn)在我們需要停止所有正在運(yùn)行的Kubernetes組件以更新etcd數(shù)據(jù)。為此,我們?cè)?etc/kubernetes/manifests/文件夾中放置了kubernetes組件的清單文件,我們將臨時(shí)將此文件移出此路徑,kubelet將自動(dòng)刪除這些pod。

mkdir tmp
mv /etc/kubernetes/manifests/* tmp/

把/etc/kubernetes/manifests/目錄下的組件yaml文件,移走容器就開始刪除。可以通過crictl ps -a查看.

(4) 等待組件容器刪除后,我們需要修改etcd.yaml組件的etcd-data中的hostPath路徑參數(shù)

...省略...
  volumes:
  -hostPath:
      path:/etc/kubernetes/pki/etcd
      type:DirectoryOrCreate
    name:etcd-certs
  -hostPath:
      path:/var/lib/restore
      type:DirectoryOrCreate
    name:etcd-data
status:{}

/var/lib/restore就是數(shù)據(jù)還原的路徑。

(5) 驗(yàn)證k8s集群是否正常

controlplane $ kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE   ERROR
controller-manager   Healthy   ok        
scheduler            Healthy   ok        
etcd-0               Healthy   ok        
controlplane $ kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-7854ff8877-6t6dl   1/1     Running   0          46m
nginx-7854ff8877-l6dq8   1/1     Running   0          46m
nginx-7854ff8877-pbkq9   1/1     Running   0          46m

6.CKA真題講解

CKA真題-etcd備份還原

中文解析:

此項(xiàng)目無需更改配置環(huán)境,但是,在執(zhí)行此項(xiàng)目之前,請(qǐng)確保您已返回初始節(jié)點(diǎn)。etcd 這道題真實(shí)考試為第4題,用的集群是真實(shí)考試時(shí)的上一題的集群,即真題第3題 mk8s,所以無需再切換集群了。

Task \

(1)首先,為運(yùn)行在https://127.0.0.1:2379上的現(xiàn)有 etcd 實(shí)例創(chuàng)建快照并將快照保存到 /srv/data/etcd-snapshot.db 文件。

(2)為給定實(shí)例創(chuàng)建快照預(yù)計(jì)能在幾秒鐘內(nèi)完成。如果該操作似乎掛起,則命令可能有問題。用CTRL + C 來取消操作然后重試。

(3)然后還原位于/var/lib/backup/etcd-snapshot-previous.db的現(xiàn)有先前快照。

(4)提供了以下TLS證書和密鑰,以通過etcdctl 連接到服務(wù)器:

  • CA證書: /opt/KUIN00601/ca.crt
  • 客戶端證書: /opt/KUIN00601/etcd-client.crt
  • 客戶端密鑰: /opt/KUIN00601/etcd-client.key

etcd備份還原官方文檔[2]

(1) 備份

如果不使用 export ETCDCTL_API=3,而使用ETCDCTL_API=3,則下面每條 etcdctl 命令前都要加ETCDCTL_API=3。

如果執(zhí)行時(shí),提示permission denied,則是權(quán)限不夠,命令最前面加 sudo 即可。

export ETCDCTL_API=3

先檢查考試環(huán)境有沒有題目說的目錄 /srv/data/,沒有的話則需要自己創(chuàng)建:

mkdir -p /srv/data

備份時(shí)etcdctl客戶端需要帶上證書,,用題目給的三個(gè)證書:

etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=/opt/KUIN00601/ca.crt
--cert=/opt/KUIN00601/etcd-client.crt
--key=/opt/KUIN00601/etcd-client.key
save  /srv/data/etcd-snapshot.db

可以使用etcdctl --write-out=table snapshot status /srv/data/etcd-snapshot.db驗(yàn)證備份的數(shù)據(jù)。

(2) 還原操作

先創(chuàng)建一個(gè)還原數(shù)據(jù)存儲(chǔ)的目錄:

mkdir -p /var/lib/restore

執(zhí)行還原操作,并指定還原數(shù)據(jù)存儲(chǔ)目錄:

etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=/opt/KUIN00601/ca.crt
--cert=/opt/KUIN00601/etcd-client.crt
--key=/opt/KUIN00601/etcd-client.key
snapshot restore   /var/lib/backup/etcd-snapshot-previous.db \
--data-dir=/var/lib/restore

移走/etc/kubernetes/manifests/到臨時(shí)目錄下tmp:

mkdir -p /home/tmp
mv /etc/kubernetes/manifests/*.yaml /home/tmp

在/home/tmp目錄下編輯etcd.yaml文件,修改etcd-data的hostPath路徑為/var/lib/restore:

volumes:
  -hostPath:
      path:/etc/kubernetes/pki/etcd
      type:DirectoryOrCreate
    name:etcd-certs
  -hostPath:
      path:/var/lib/restore
      type:DirectoryOrCreate
    name:etcd-data
status:{}

重新把/home/tmp目錄下的組件文件移動(dòng)/etc/kubernetes/manifests/:

mv /home/tmp/*.yaml  /etc/kubernetes/manifests/

(3) 驗(yàn)證操作

驗(yàn)證k8s集群是否正常:

controlplane $ kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE   ERROR
controller-manager   Healthy   ok        
etcd-0               Healthy   ok        
scheduler            Healthy   ok

到此整個(gè)etcd備份與還原操作就完成了。

參考資料:

  • [1]Killercoda: https://killercoda.com/playgrounds/scenario/kubernetes
  • [2]etcd備份還原官方文檔: https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
責(zé)任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2024-03-04 18:42:11

網(wǎng)絡(luò)策略k8s網(wǎng)絡(luò)通信

2024-05-23 13:49:00

Kuberneteetcd集群

2025-03-11 14:09:04

2013-05-08 10:01:55

SQL Server 數(shù)據(jù)備份備份與還原

2010-08-12 11:24:55

CISCO路由器備份與還原

2011-08-17 16:12:25

Windows7系統(tǒng)備份備份和還原

2020-08-28 13:49:13

數(shù)據(jù)統(tǒng)計(jì)學(xué)面試

2010-05-17 15:58:05

MySQL Admin

2022-08-05 08:48:33

KubernetesEtcd數(shù)據(jù)

2010-01-22 11:21:37

2010-01-25 12:58:26

2017-07-10 16:00:47

Mysql數(shù)據(jù)備份數(shù)據(jù)還原

2010-05-18 10:27:50

MySQL數(shù)據(jù)庫

2011-03-10 08:42:15

SQL Server備份還原

2011-07-12 10:24:11

域控制器

2025-03-21 08:20:00

數(shù)據(jù)清洗Python編程

2011-03-03 16:10:04

Mysql數(shù)據(jù)庫備份還原

2010-01-22 09:01:02

2009-12-24 09:07:52

Windows 7系統(tǒng)還原

2024-03-07 12:08:02

Podkubernetes容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99re在线视频免费观看 | 国产精品 欧美精品 | 亚洲人va欧美va人人爽 | 亚洲国产片 | 在线观看视频一区二区三区 | 国产精品久久久久久久久久久免费看 | 欧美一区二区在线免费观看 | 日韩在线一区二区 | 精品网站999| 91香蕉嫩草 | 欧美亚洲国产日韩 | 成人三级影院 | 久久综合狠狠综合久久 | 精品国产乱码久久久久久88av | 国产91精品网站 | 九九精品在线 | 成人做爰69片免费观看 | 国产精品成人一区二区三区夜夜夜 | 天天色天天射天天干 | 成人a网| 亚洲高清在线观看 | 欧美日韩一区二区三区在线观看 | 九九免费视频 | 高清久久久| 久久777 | 久久伦理中文字幕 | 成人在线视频看看 | 日本在线你懂的 | 久久91av| 91精品国产综合久久久久久 | 欧美日韩精品一区二区 | 国产三级国产精品 | 日韩欧美一区二区三区四区 | 日本电影免费完整观看 | 国产在线精品一区二区三区 | 可以免费看的毛片 | www天天操 | 亚洲a视频| 亚洲精品一区久久久久久 | 91精品国产自产在线老师啪 | 日韩一区二区三区四区五区 |