成人免费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é)任編輯:趙寧寧 來源: 攻城獅成長(zhǎng)日記
相關(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)備份備份和還原

2010-05-17 15:58:05

MySQL Admin

2022-08-05 08:48:33

KubernetesEtcd數(shù)據(jù)

2020-08-28 13:49:13

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

2010-01-25 12:58:26

2010-01-22 11:21:37

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編程

2010-05-31 10:56:48

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

2024-05-11 08:27:41

Agent智能體GPT

2011-03-03 16:10:04

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

2010-08-12 11:14:34

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本久草 | 精品国产乱码久久久久久蜜臀 | 国产综合久久 | 国产毛片视频 | 毛片一级片 | 国产精品高潮呻吟久久 | 在线中文字幕亚洲 | 亚洲精品电影网在线观看 | 国产一级片久久久 | 国产激情综合五月久久 | 第一av| 久久精品亚洲欧美日韩久久 | 精品国产一区二区国模嫣然 | www.久久国产精品 | 中文字幕日韩欧美一区二区三区 | 久久亚洲国产精品 | 久久精品一区 | 91在线视频免费观看 | 精品一区二区不卡 | 国产精品久久一区二区三区 | 一区二区三区av | av手机免费在线观看 | 高清视频一区二区三区 | 国产在线观看一区二区三区 | 亚洲精品一区在线 | 成人午夜视频在线观看 | 久久伊人精品 | aa级毛片毛片免费观看久 | 欧美日韩在线观看一区 | 欧美一区二区在线观看 | 欧美成人hd | 欧美色影院 | 亚洲欧美网站 | 日本一区二区三区视频在线 | 天天躁人人躁人人躁狂躁 | 日本三级在线网站 | 国产精品久久久久久久久久 | 亚洲国产午夜 | 精品一区二区在线观看 | 欧美日韩国产一区二区三区 | 亚洲精品福利视频 |