CKA认证真题(3)-- 绝对干货!

news2025/2/14 5:49:38

目录

前言

15. sidecar边车容器

16. 升级集群

17.备份还原etcd


前言

17道真题难度等级

一级 rbac cpu 扩容 pod指定节点 pv pod日志 排障 查看可用节点 多容器pod 节点维护

二级 networkpolicy service  ingress  pvc

三级 sidecar 升级集群 备份还原etcd

本系列有三篇博客,本博客为第三篇,即三级难度篇

CKA注意事项:CKA考试注意事项--考前必看!_luo_guibin的博客-CSDN博客

第一篇:CKA认证真题(1)-- 必考_luo_guibin的博客-CSDN博客

第二篇:CKA考试真题(2)_luo_guibin的博客-CSDN博客

第三篇:CKA认证真题(3)-- 绝对干货!_luo_guibin的博客-CSDN博客

15. sidecar边车容器


Context

将一个现有的 Pod 集成到 Kubernetes 的内置日志记录体系结构中(例如 kubectl logs)。

添加 streaming sidecar 容器是实现此要求的一种好方法。

Task

使用 busybox Image 来将名为 sidecar 的 sidecar 容器添加到现有的 Pod big-crop-app 中。

新的 sidecar 容器必须运行以下命令:

/bin/sh -c tail -n+1 -f /var/log/big-crop-app.log

使用挂载在/var/log 的 Volume,使日志文件 big-crop-app.log 可用于 sidecar 容器。

除了添加所需要的 volume mount 以外,请勿更改现有容器的规格。


参考文档:日志架构 | Kubernetes

#总共新增10行 

#答案

kubectl get pod big-factor-app -o yaml > varlog.yam
cp varlog.yaml varlog-bak.yaml
vi varlog.yaml

 volumeMounts: #在原配置文件,灰色的这段后面添加
 - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
 name: default-token-4l6w8
 readOnly: true
 - name: varlog #新加内容
 mountPath: /var/log #新加内容
 - name: sidecar #新加内容,注意 name 别写错了
 image: busybox #新加内容
 args: [/bin/sh, -c, 'tail -n+1 -f /var/log/big-crop-app.log'] #新加内容,注意 文件名 别写错了。另外是用逗号分隔的,而题目里是空格。
 volumeMounts: #新加内容
 - name: varlog #新加内容
 mountPath: /var/log #新加内容
 dnsPolicy: ClusterFirst

......

  - name: varlog #新加内容
    emptyDir: {}  #新加内容

kubectl delete pod big-factor-app
kubectl apply -f varlog.yaml

#检查
kubectl logs 11-factor-app sidecar
kubectl exec 11-factor-app -c sidecar -- tail -f /var/log/big-factor-app.log
kubectl exec 11-factor-app -c count -- tail -f /var/log/big-factor-app.log
#varlog.yaml更改细节位置

    image: busybox
    imagePullPolicy: IfNotPresent
    name: count
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-xhzsg
      readOnly: true
    - name: varlog
      mountPath: /var/log
  - name: count-log-1
    image: busybox:1.28
    args: [/bin/sh, -c, 'tail -n+1 -F /var/log/1.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: node01

......

  volumes:
  - name: kube-api-access-xhzsg
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
  - name: varlog
    emptyDir: {}

16. 升级集群


Task

现有的 Kubernetes 集群正在运行版本 1.27.1仅将 master 节点上的所有 Kubernetes 控制平面和节点组件升级到版本 1.27.2

确保在升级之前 drain master 节点,并在升级后 uncordon ssh mk8s-master-0 节点。

可以使用以下命令,通过 ssh 连接到 master 节点:

ssh mk8s-master-0

可以使用以下命令,在该 master 节点上获取更高权限:

sudo -i

另外,在主节点上升级 kubelet kubectl

请不要升级工作节点,etcd,container 管理器,CNI 插件, DNS 服务或任何其他插件。


 升级顺序:调度节点--kubeadm--plan--集群--kubelet--kubectl

#答案

kubectl get nodes

kubectl cordon ssh mk8s-master-0
kubectl drain ssh mk8s-master-0 --ignore-daemonsets

ssh ssh mk8s-master-0
sudo -i

apt-get update
apt-cache show kubeadm|grep 1.27.2
apt-get install kubeadm=1.27.2-00
kubeadm version

kubeadm upgrade plan
kubeadm upgrade apply v1.27.2 --etcd-upgrade=false

apt-get install kubelet=1.27.2-00
kubelet --version

apt-get install kubectl=1.27.2-00
kubectl version

exit
exit

kubectl get nodes

17.备份还原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


#答案

#加载环境
export ETCDCTL_API=3

#备份
etcdctl --endpoints=https://11.0.1.111: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

#检查,会出现一个db详情表
etcdctl snapshot status /var/lib/backup/etcd-snapshot.db -wtable

#还原,需要用sudo
sudo etcdctl --endpoints=https://11.0.1.111:2379 --cacert="/opt/KUIN00601/ca.crt" --cert="/opt/KUIN00601/etcd-client.crt" --
key="/opt/KUIN00601/etcd-client.key" snapshot restore /data/backup/etcd-snapshot-previous.db

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

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

相关文章

kettle simple-jndi 配置中心

jdbc.properties配置 SampleData/typejavax.sql.DataSource SampleData/driverorg.h2.Driver SampleData/urljdbc:h2:file:./samples/db/sampledb;IFEXISTSTRUE SampleData/userPENTAHO_USER SampleData/passwordPASSWORD SampleDataAdmin/typejavax.sql.DataSource SampleDat…

用于共享大文件的4种大文件传输工具和软件

个人或团队工作时,大文件传输软件和网站能够提升工作效率、有效地管理工作内容。由于疫情的影响,有时我们需要在家办公,在这种情况下,能够分享文件的工具就显得格外重要。 每个公司都需要一个文件传输软件,让员工可以…

Java 成功实现通过网址URL截图保存

Java 实现通过网址URL截图 1.DjNativeSwing方式 (不好用)2.phantomjs方式 (截图还是有瑕疵)3.selenium方式 (满意,成功实现)maven 引入下载相关浏览器chrome下载相关浏览器chromedriver驱动后端…

一文搞懂STP(从原理到配置)

一、STP出现的背景 1. 单点故障 如图9-1所示,PC1和PC2通过LSW1相互通信,如果LSW1出现了故障,那么PC1和PC2将不能相互通信,这种现象我们称之为单点故障。为了解决这个问题,我们提出了冗余的拓扑结构。 图9-1单点故障 …

【数据结构】单链表OJ题(一)

🔥博客主页:小王又困了 📚系列专栏:数据结构 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、移除链表元素 💡方法一: 💡方法二…

安卓如何快速定位native内存泄露。

步骤1)cat /proc/pid/status,观察下面俩个指标 RssAnon: 5300 kB //一直增大说明匿名映射的内存增大,malloc本质就是调用匿名映射分 配内存 RssFile: 26884 kB //文件句柄泄露&#…

JMeter 的并发设置教程

JMeter 是一个功能强大的性能测试工具,可以模拟许多用户同时访问应用程序的情况。在使用 JMeter 进行性能测试时,设置并发是非常重要的。本文将介绍如何在 JMeter 中设置并发和查看报告。 设置并发 并发是在线程组下的线程属性中设置的。 线程数&#…

谈一谈在两个商业项目中使用MVI架构后的感悟

作者:leobertlan 前言 当时项目采用MVP分层设计,组员的代码风格差异也较大,代码中类职责赋予与封装风格各成一套,随着业务急速膨胀,代码越发混乱。试图用 MVI架构 单向流 形成 掣肘 带来一致风格。 但这种做法不够以…

一文带你快速掌握如何在Windows系统和Linux系统中安装部署MongoDB

文章目录 前言一、 Windows系统中的安装启动1. 下载安装包2. 解压安装启动3. Shell连接(mongo命令)4. Compass-图形化界面客户端 二、 Linux系统中的安装启动和连接1. 下载安装包2. 解压安装3. 新建并修改配置文件4. 启动MongoDB服务5. 关闭MongoDB服务 总结 前言 为了巩固所学…

Spring Boot对接Oracle数据库

Spring Boot对接Oracle数据库 最近学习了Oracle数据库&#xff0c;那么如何使用Spring Boot和MyBatis Plus对接Oracle数据库呢&#xff1f; 这就有了这篇随记&#xff0c;具体流程如下 1、创建Maven工程 创建一个空的Maven工程&#xff0c;导入如下依赖&#xff1a; <?…

Dubbo1-架构的演变

分布式系统上的相关概念 项目&#xff1a;传统项目、互联网项目 传统项目&#xff1a; 一般为公司内部使用&#xff0c;或者小群体小范围的使用&#xff0c;一般不要求性能&#xff0c;美观&#xff0c;并发等 互联网项目的特点&#xff1a; 1.用户多 2.流量大&#xff0c;并…

第二章:CSS基础进阶-part2:CSS过渡与动画

文章目录 CSS3 过渡动画一、transition属性二、transform属性-2D变换2.1 tanslate &#xff1a; 移动2.2 rotate-旋转2.3 scale-变形2.4 skew-斜切2.5 transform-origin: 变换中心点设置 三、CSS3关键帧动画四、CSS3-3D变换4.1 perspective 定义3D元素距视图距离4.2 transform-…

@Autowired和@Resource注解超详细总结(附代码)

区别 1、来源不同 Autowired 和 Resource 注解来自不同的“父类”&#xff0c;其中Autowired注解是 Spring 定义的注解&#xff0c;而Resource 注解是 Java 定义的注解&#xff0c;它来自于 JSR-250&#xff08;Java 250 规范提案&#xff09;。 2、支持的参数不同 Autowir…

openeuler服务器 ls 和ll 命令报错 command not found...

在openeuler服务器执行 ls 和ll 命令报错 command not found... 大概是系统环境变量导致的问题。 我在安装redis是否没有安装成功后就出现了这样的情况。编辑profile文件没有写正确&#xff0c;导致在命令行下ls 和 ll 等命令不能够识别。 重新设置一下环境变量。 export PAT…

Dynamo_关于参数赋值

写写关于Dynamo参数赋值 为单个对象赋单个参数值 最容易理解&#xff0c;SetParameterByName需要输入三个参数&#xff0c;元素对象&#xff08;数据类型&#xff1a;Element&#xff09;&#xff0c;参数名称&#xff08;数据类型&#xff1a;String&#xff09;&#xff0c;…

Glide 的超时控制相关处理

作者&#xff1a;newki 前言 Glide 相信大家都不陌生&#xff0c;各种源码分析&#xff0c;使用介绍大家应该都是烂熟于心。但是设置 Glide 的超时问题大家遇到过没有。 我遇到了&#xff0c;并且掉坑里了&#xff0c;情况是这样的。 调用接口从网络拉取用户头像&#xff0c…

SSH隧道搭建简单使用

参考&#xff1a; https://www.zsythink.net/archives/2450 https://luckyfuture.top/ssh-tunnel#SSH%E9%9A%A7%E9%81%93 https://zhuanlan.zhihu.com/p/561589204?utm_id0 SSH隧道&#xff08;搭建SSH隧道绕过防火墙&#xff09;&#xff1a; ssh命令除了登陆外还有代理转发…

ASL国产CS5212规格书 DP转VGA 替代RTD2166低成本方案 兼容IT6516设计原理图

CS5212可替代兼容瑞昱RTD2166和联阳T6516&#xff0c;ASL集睿致远这款芯片是一种高性能的DP显示端口到VGA转换器芯片。它结合了DisplayPort输入接口和模拟RGB DAC输出接口&#xff0c;嵌入式单片机基于工业标准8051核心。 CS5212适用于多个细分市场和显示器应用程序&#xff1…

YOLOv8 : TAL与Loss计算

YOLOv8 : TAL与Loss计算 1. YOLOv8 Loss计算 YOLOv8从Anchor-Based换成了Anchor-Free&#xff0c;检测头也换成了Decoupled Head&#xff0c;论文和网络资源中有大量的介绍&#xff0c;本文不做过多的概述。 Decoupled Head具有提高收敛速度的好处&#xff0c;但另一方面讲&am…

华为OD机试真题 Java 实现【城市聚集度】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…