2024 CKA题库+详尽解析| 15、备份还原Etcd

news2025/6/9 6:36:11

目录

免费获取题库配套 CKA_v1.31_模拟系统 

15、 备份还原Etcd

题目: 

开始操作:

1)、切换集群

2)、登录master并提权

3)、备份Etcd现有数据

4)、验证备份数据快照

5)、查看节点和Pod状态 

6)、创建目录

7)、执行Etcd数据恢复命令

8)、验证恢复情况 

9)、更改Etcd配置

10)、将K8S配置文件复制回配置目录

11)、重启kubelet

12)、再次查看验证

13)、退回node01


免费获取题库配套 CKA_v1.31_模拟系统 

15、 备份还原Etcd

题目: 

您必须在以下Cluster/Node上完成此考题:    

  Cluster                                         Master node                                         Worker node

      wk8s                                                 master                                                    node01

.

设置配置环境:

[candidate@node01]$  kubectl config use-context wk8s

.

Context

Etcd数据库备份与还原

.

Task

首先,为运行在https://127.0.0.1:2379上的现有 etcd实例创建快照并将快照保存到

/var/lib/backup/etcd-snapshot.db

.

为给定实例创建快照预计能在几秒钟内完成。 如果该操作似乎挂起,则命令可能有问题。用 CTRL + C 来取消 操作,然后重试.

.

然后还原位于以下位置的现有先前快照。 /data/backup/etcd-snapshot-previous.db

提供了以下TLS证书和密钥,以通过etcdctl连接到服 务器。

.

• CA 证书: /opt/KUIN00601/ca.crt

• 客户端证书: /opt/KUIN00601/etcd-client.crt

• 客户端密钥: /opt/KUIN00601/etcd-client.key

开始操作:

1)、切换集群

# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context wk8s

2)、登录master并提权

有些人较劲说题目没有说让登录master,然后在node01一顿操作,我只能说总得登录master看Etcd配置文件吧,考试的时候千万别较劲

ssh master
sudo -i

CKA模拟环境操作截图:

3)、备份Etcd现有数据

#执行ETCD备份
ETCDCTL_API=3 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 save /var/lib/backup/etcd-snapshot.db                   #备份数据文件存放位置

CKA模拟环境操作截图:

4)、验证备份数据快照

ETCDCTL_API=3 etcdctl --write-out=table snapshot status /var/lib/backup/etcd-snapshot.db

CKA模拟系统操作截图可见验证快照命令提示使用etcdutl代替,我们直接使用etcdutl操作,

5)、查看节点和Pod状态 

在开始ETCD恢复操作之前,先看一下pod presentation个数,相当于一个状态标记,做为参照,用于恢复完毕的对比,证明数据已成功恢复:

kubectl get pod -n default | grep presentation | wc -l

CKA模拟系统操作截图若此时还未操作第14题“扩容deployment数量”,那么命令执行完应该得到的数字是“1”如下图所示:

 CKA模拟系统操作截图若此时已经做完第14题“扩容deployment数量”,那么命令执行完应该得到的数字是“4”如下图所示:

6)、创建目录

数据恢复过程中需要用到的目录

#创建系统配置文件备份目录,其实可以不创建,直接将系统配置文件移到已存在的/data/backup
mkdir /opt/backup

#创建Etcd备份将要恢复数据的位置目录                                  
mkdir /var/lib/etcd-restore  

#将系统配置文件移动至此目录,即官网所述停止所有API实例                    
mv /etc/kubernetes/manifests/* /opt/backup/     

CKA模拟环境操作截图:  

7)、执行Etcd数据恢复命令

#官方说明:
#在恢复集群时,使用 --data-dir 选项来指定集群应被恢复到哪个文件夹。
#其中 <data-dir-location> 是将在恢复过程中创建的目录。
#自 etcd v3.5.x 版本起,使用 etcdctl 进行恢复的功能已被弃用,未来的可能会在 etcd 版本中被移除。
etcdutl --data-dir=/var/lib/etcd-restore snapshot restore /data/backup/etcd-snapshot-previous.db

CKA模拟环境操作截图: 

8)、验证恢复情况 

#查看数据恢复情况
ls /var/lib/etcd-restore

9)、更改Etcd配置

#1.31版本环境按照之前方法多次未成功,参考官网所述在原目录恢复方法,直接移除原数据目录,在生成新的配置文件,最后重启所有API接口
#移除原数据目录
mv /var/lib/etcd /opt/backup/

#替换原有配置路径并生成新的etcd.yaml配置文件
sed 's!/var/lib/etcd!/var/lib/etcd-restore!' /opt/backup/etcd.yaml > /etc/kubernetes/manifests/etcd.yaml

#检查搜索是否有为替换配置
cat /etc/kubernetes/manifests/etcd.yaml | grep '/var/lib/etcd'

 CKA模拟系统操作截图

10)、将K8S配置文件复制回配置目录

cp /opt/backup/kube* /etc/kubernetes/manifests/

11)、重启kubelet

#重启 kubelet
systemctl daemon-reload
systemctl restart kubelet

CKA模拟环境操作截图: 

12)、再次查看验证

#验证集群是否重启完毕
kubectl get node 

#查看pod presentation数量,恢复完成后获取到的数字应该是“2”                                                
kubectl get pod -n default | grep presentation | wc -l            

CKA模拟系统操作截图,执行完毕后得到的数字值是“2”,说明我们已经恢复成功。

13)、退回node01

操作完成,然后执行两次exit退出master,检查主机名称进行确认

exit                             #退出提权状态
exit                             #退出master主机

CKA高仿真环境简短演示视频 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2405062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子 S7-1200 PLC 海外远程运维技术方案

西门子 S7-1200 PLC 海外远程运维技术方案 一、面向海外场景的核心优势 针对跨国企业、海外项目及远程技术支持需求&#xff0c;本方案基于巨控GRM552Y-CHE模块提供无缝的全球化远程PLC运维能力&#xff0c;突破地域及时差限制&#xff0c;显著提升国际项目响应效率。 二、海…

嵌入式学习--江协stm32day5

USART 1. 引脚与接口层 异步引脚&#xff1a; TX&#xff1a;发送数据输出&#xff1b;RX&#xff1a;接收数据输入&#xff1b;SW_RX&#xff1a;单线半双工模式的接收引脚&#xff08;替代 RX&#xff09;。 同步引脚&#xff1a;SCLK&#xff1a;同步模式下的时钟输出&…

(LeetCode 动态规划(基础版))96. 不同的二叉搜索树 (递推 || 递归)

题目&#xff1a;96. 不同的二叉搜索树 思路&#xff1a;二叉树长度为n时&#xff0c;枚举每个点u作为根节点root&#xff0c;那么root左边的数构成左子树种数left&#xff0c;root右边的数构成右子树种数right&#xff0c;那么当前u为根节点下&#xff0c;二叉树的种数为left*…

vue项目使用svg图标

下面是在 Vue 3 项目中完整引入和使用 vite-plugin-svg-icons 的步骤 1、安装插件 npm install vite-plugin-svg-icons -D # 或 yarn add vite-plugin-svg-icons -D # 或 pnpm add vite-plugin-svg-icons -D 2、配置 Vite 在 vite.config.ts 或 vite.config.js 中配置&…

智能网卡之hinic3 WQE(Work Queue Element)结构梳理

hinic3 WQE&#xff08;Work Queue Element&#xff09;结构详解 本文基于 hinic3 驱动源码&#xff0c;对 WQE&#xff08;Work Queue Element&#xff09;做详细讲解。如需查阅完整源码和结构体定义可参考hinic3_nic_qp.h等文件。 1. WQE 的作用 WQE&#xff08;Work Queue…

力扣HOT100之二分查找:4. 寻找两个正序数组的中位数

这道题如果没有时间复杂度的限制的话&#xff0c;相当好做&#xff0c;但是这道题要求时间复杂度为O(log(m n))&#xff0c;思路很难想&#xff0c;我看了一圈题解&#xff0c;发现华南溜达虎的视频讲得还不错&#xff0c;我是参考他的思路写出来的&#xff0c;这里把他的思路…

PyTorch——损失函数与反向传播(8)

Loss Functions 越小越好 L1loss MSELoss 损失函数 CrossEntyopyLoss 损失函数 import torch from torch.nn import L1Loss from torch import nn# 创建输入和目标张量&#xff0c;用于后续的损失计算 inputs torch.tensor([1,2,3],dtypetorch.float32) targets torch.tenso…

macOS 升级 bash 到最新版本

macOS 的默认「终端」&#xff0c;千年不变的版本。 》〉bash --version GNU bash, version 3.2.57(1)-release (arm64-apple-darwin24) Copyright (C) 2007 Free Software Foundation, Inc. 官方 bash.git - bash 已经将 bash 升级到了 5.2的大版本。 macOS 最新版系统的 ba…

力扣面试150题--课程表

Day 63 题目描述 做法 初次思路&#xff1a;本质就是将所有前置课程和后置课程作为一个有向图&#xff08;前者指向后者&#xff09;&#xff0c;判断这个图是否是一个有向无环图&#xff08;即是否存在拓扑排序&#xff09;&#xff08;本质做法是dfs&#xff09; 做法&…

用通俗的话解释下MCP是个啥?

在AI领域&#xff0c;模型的开发、部署和迭代速度日益加快&#xff0c;但随之而来的挑战也愈发显著&#xff1a;如何高效管理不同版本的模型&#xff1f;如何在复杂环境中确保模型的可追溯性和可复用性&#xff1f;如何实现跨团队、跨平台的模型协作&#xff1f; 在计算机领域…

LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 上

题目&#xff1a;1978. 上级经理已离职的公司员工 题解&#xff1a; select employee_id from Employees where salary<30000 and manager_id is not null and manager_id not in (select distinct employee_id from Employees ) order by employee_id题目&#xff1a;626.…

Spark流水线+Gravitino+Marquez数据血缘采集

1.Openlinage和Marquez简介 1.1 OpenLineage 概述 OpenLineage 是一个开放标准和框架&#xff0c;用于跨工具、平台和系统捕获数据血缘信息。它定义了通用的数据血缘模型和API&#xff0c;允许不同的数据处理工具&#xff08;如ETL、调度器、数据仓库&#xff09;以标准化格…

基于微信小程序的车位共享平台的设计与实现源码数据库文档

摘 要 近年来&#xff0c;随着国民经济的飞速发展&#xff0c;城镇化进程的步伐加快&#xff0c;城市人口急剧增长&#xff0c;人们的生活水平持续改善&#xff0c;特别是大中型城市&#xff0c;城市的交通规模日益增大&#xff0c;汽车的保有量不断提高&#xff0c;然而城市的…

多模态大语言模型arxiv论文略读(111)

SEA: Supervised Embedding Alignment for Token-Level Visual-Textual Integration in MLLMs ➡️ 论文标题&#xff1a;SEA: Supervised Embedding Alignment for Token-Level Visual-Textual Integration in MLLMs ➡️ 论文作者&#xff1a;Yuanyang Yin, Yaqi Zhao, Yaji…

怎么让自己ip显示外省?一文说清操作

在互联网时代&#xff0c;IP地址不仅关联网络连接&#xff0c;还可能影响IP属地显示。那么&#xff0c;手机和电脑用户怎么让自己IP显示外省&#xff1f;一文说清操作要点。 ‌ 二、4种主流方法详解 要让自己的IP显示为外省地址&#xff0c;主要有以下几种方法&#xff1a; …

【Docker】容器安全之非root用户运行

【Docker】容器安全之非root用户运行 1. 场景2. 原 Dockerfile 内容3. 整改结果4. 非 root 用户带来的潜在问题4.1 文件夹读写权限异常4.2 验证文件夹权限 1. 场景 最近有个项目要交付&#xff0c;第三方测试对项目源码扫描后发现一个问题&#xff0c;服务的 Dockerfile 都未指…

汽车车载软件平台化项目规模颗粒度选择的一些探讨

汽车进入 SDV 时代后&#xff0c;车载软件研发呈现出开源生态构建、电子架构升级、基础软件标准化、本土供应链崛起、AI 原生架构普及、云边协同开发等趋势&#xff0c;这些趋势促使车载软件研发面临新挑战&#xff0c;如何构建适应这些变化的平台化架构成为车企与 Tier 1 的战…

【八股消消乐】构建微服务架构体系—服务注册与发现

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本专栏《八股消消乐》旨在记录个人所背的八股文&#xff0c;包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…

掌握Git核心:版本控制、分支管理与远程操作

前言 无论热爱技术的阅读者你是希望掌握Git的企业级应用&#xff0c;能够深刻理解Git操作过程及操作原理&#xff0c;理解工作区暂存区、版本库的含义&#xff1b;还是想要掌握Git的版本、分支管理&#xff0c;自由的进行版本回退、撤销、修改等Git操作方式与背后原理和通过分…

c#,Powershell,mmsys.cpl,使用Win32 API展示音频设备属性对话框

常识&#xff08;基础&#xff09; 众所周知&#xff0c;mmsys.cpl使管理音频设备的控制面板小工具&#xff0c; 其能产生一个对话框&#xff08;属性表&#xff09;让我们查看和修改各设备的详细属性&#xff1a; 在音量合成器中单击音频输出设备的小图标也能实现这个效果&a…