Kubernetes CKA考试和真题(下)

2023-11-06

前言

之前分享了CKA考试的1-10题,这篇文章继续分享CKA实操考试的最后7到题目。忘了告诉大家,考试的时候可以查看官网资料,监考官是允许这个行为的,但是你不能打开除了k8s官网的其它页面。

第11题:启动多容器pod

任务:创建一个名为kube4的pod,在pod里面分别为下面每个images单独运行一个容器nginx+redis+memcached
这个没啥好说的,把题目需要启动的加进去就完了,有时候是其它服务。

kubectl config use-context k8s

apiVersion: v1
kind: Pod
metadata:
  name: kube4
spec:
  containers:
  - name: nginx
    image: nginx
  - name: redis
    image: redis
  - name: memcached
    image: memcached

第12题:创建PV

任务:创建名为app-data的持久卷pv,容量为2G,访问模式为ReadWriteOnce。volume类型为hostPath,位于/srv/app-data

kubectl config use-context hk8s
apiVersion: v1
kind: PersistentVolume
metadata:
  name: app-data
spec:
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/srv/app-data"

第13题:获取pod的错误日志

任务:监控pod bar的日志并:
提取与错误file-not-found相对应的日志行,并将日志行写入/opt/KUBE0046/bar

kubectl config use-context k8s
kubectl logs foobar | grep file-not-found > /opt/KUBE0046/bar

# 参考地址:https://kubernetes.io/zh-cn/docs/concepts/cluster-administration/logging/

第14题:Pod使用PVC

任务:创建一个新的PersistentVolumeClaim
名称:pv-volume
Class:csi-hostpath-sc
容量:10Mi
创建一个新的pod,将先前创建的pvc挂载到pod
名称:web-server
Image:nginx
挂载路径:/usr/share/nginx/html
配置新的pod,以对volume具有ReadWriteOnce权限
最后,使用kubectl edit或者kubectl patch将pvc的容量扩展到70M,并记录次更改

kubectl config use-context ok8s
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-volume
spec:
  storageClassName: csi-hostpath-sc
  accessModes:
    - ReadWriteOnce
 resources:
   requests:
     storage: 10Mi
---
apiVersion: v1
kind: Pod
metadata:
  name: web-server
spec:
  containers:
  - name: web-server
    image: nginx
    ports:
      - containerPort: 80
        name: http-server
    volumeMounts:
      - mountPath: /usr/share/nginx/html
        name: data 
  volumes:
    - name: data 
    persistentVolumeClaim:
      claimName: pv-volume
# 扩容 PVC 容量
kubectl edit pvc pv-volume --save-config

# 参考地址:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/

第15题:给pod增加一个sidecar

需求描述:将一个现有的pod集成到kubernetes的内置日志记录体系结构中(例如kubectl logs)。添加steaming sidecar容器以
实现此要求
任务:使用busybox image来将名为sidecar的边车容器添加到现有的pod legacy-app中。新的sidecar容器必须运行一下命令:

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

使用安装在/var/log的volume,使日志文件legacy-app.log可用于sidecar容器。
备注tips:除了添加需要的volume mount以外,请勿更改现有的容器规格

kubectl config use-context k8s
apiVersion: v1
kind: Pod
metadata:
  name: legacy-app
spec:
  containers:
  - name: count
    image: busybox
    args:
    - /bin/sh
    - -c
    - >
      i=0;
      while true;
      do
        echo "$i: $(date)" >> /var/log/legacy-app.log;
        sleep 1;
      done
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  - name: sidecar
    image: busybox
    args: [/bin/sh, -c, 'tail -n+1 -f /var/log/legacy-app.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  volumes:
  - name: varlog
    emptyDir: {}
# 这个题目不能在线编辑,只能导出资源的yaml,导出后修改yaml,要删掉yaml很多不要的信息         
kubectl get pod big-corp-app -o yaml > big-corp-app.yaml # 导出后修改文件
kubectl delete pod big-corp-app
kubectl apply -f big-corp-app.yaml
# 参考资料:https://kubernetes.io/zh/docs/concepts/cluster-administration/logging/   

第16题:统计使用CPU最高的Pod

任务:任务:通过pod label name=cpu-utilizer,找到运行时占用大量CPU的pod,并将占用CPU资源最高的pod名写入文件"/opt/kube98/kube98.txt"

kubectl config use-context uk8s
kubectl top pod -l name=cpu-utilizer --sort-by="cpu" -A
echo $podname > /opt/kube98/kube98.txt # 将第一个 Pod 名称写到文件

第17题:节点未就绪的处理

任务:名为week-node01的集群节点处于NotReady状态。需要检查发生NotReady情况的原因,并采取相应措施将节点恢复为Ready状态,确保所做的更改永久有效。

kubectl config use-context wk8s
# 查看节点状态,会发现week-node01这个节点NotReady
kubectl get node
# ssh到节点,启动对应的应用
ssh week-node01
# 需要root权限
sudo -i
systemctl status kubelet
systemctl start kubelet
systemctl enable kubelet

总结

以上就是全部的CKA考试内容了,据说题目几乎都没啥大的变化。从这些题目来看,除了一道sidecar比较麻烦,其他题目都很简单,不知道大家怎么看。最后请大家点点赞,点点关注,谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes CKA考试和真题(下) 的相关文章

随机推荐

  • 电脑关机了,内存就没数据了吗?

    前言 大家好 我是周杰伦 提到网络攻击技术 你脑子里首先想到的是什么 是DDoS 是SQL注入 XSS 还是栈溢出 RCE 远程代码执行 这些最常见的网络攻击技术 基本上都是与网络 软件 代码 程序这些东西相关 这也好理解 计算机网络安全
  • Qt项目实战 杂谈一二:中文乱码事情小,处理不好头发少

    Qt开发者来说 特别是初学者 往往最头疼的是编码的问题 举个例子 1 控件上设置中文标签 发现显示出来是乱码 怎么解决 如果标签是常量字符串 含中文 怎么处理 如果标签是变量 且可能包含字符串 又咋处理 2 Qt应用与其他应用存在进程间交互
  • 浏览器无法打开网页,报错:DNS_PROBE_FINISHED_BAD_CONFIG

    症状 手机的正常上网 电脑连不上网 浏览器打不开网页 电脑 用ping命令不能发现主机 这时判断DNS解析有问题 用ping命令能发现主机 这时判断DNS解析没有问题 解决办法 方案1 ipconfig flushdns 方案2 ping
  • openwrt 软件安装依赖冲突

    今天在安装一个插件curl 安装失败了 报错内容如下 root R619AC co router tmp tmp opkg install curl Installing curl 7 68 0 1 to root Downloading
  • 使用react-markdown与markdown-navbar实现在线浏览markdown文件并自动生成侧边导航栏目录(react项目)

    使用react markdown与markdown navbar实现在线浏览markdown文件并自动生成侧边导航栏目录 react项目 在项目中需要一个需求 需要将markdown文件放在react前端项目中实现浏览器在线浏览 修改mar
  • Python爬虫框架Scrapy实例(爬取腾讯社招信息并保存为excel)

    前言 在学习python爬虫的时候 曾经爬取过腾讯社招的网站 很久很久没有写爬虫 心血来潮打算爬一个练手 想起之前爬过腾讯社招网站 打开一看网页变了 行动 重新写一遍 这个网站相对简单 做了简单测试没有设置反爬 比较适合初学者拿来练手 搜索
  • 利用webhook实现发送通知到Slack

    概要 最近办公交流应用 Slack在各团队里大行其道 非常火热 今天我们就来说说怎么用他的incoming webhook来做一些同步通知 发送通知给Slack 我们先来看看这种incoming webhook来发送通知的优势 团队成员可以
  • Vulhub Apache HTTPD 换行解析漏洞

    漏洞介绍 漏洞原理 运维人员为了解决 Apache 解析漏洞 会使用 配置 来限制匹配到的最后一个扩展名 这种方式虽然对多个扩展名的解析漏洞进行了防护 但是因为 的正则匹配规则可以将 php n 的扩展名同样可以匹配到 php 的规则 产生
  • Android使用ViewPager实现图片的轮播

    一 概述 在现在的Android项目中 首页图片轮播是随处可见的 今天我们看看如何实现 先看效果图 二 实现 先给大家看看最简单的布局文件
  • 架构之路_深度探索C++对象模型总结

    本文主要参照 深度探索C 对象模型 一书 一 关于对象 C语言中 数据和处理数据的操作 函数 是分开声明的 不支持数据函数之间的关联性 称之为程序性的 procedural 1 1 对象类型 C 中可以通过独立抽象数据类型实现 比如 cla
  • Unity 中场景切换

    Unity游戏开发中 单个Scene解决所有问题似乎不可能 那么多个Scene之间的切换是必然存在 如果仅仅是切换 似乎什么都好说 但是在场景比较大的时候不想让玩家等待加载或者说场景与场景之间想通过一些画面 动画表现出一些让玩家期待的东西
  • 禅道数据库异机访问,远程连接,navicat连接

    禅道数据库异机访问 远程连接 navicat连接 在使用xxj job做执行器时遇到的问题 数据库端口可以在这里修改 可以在这里修改 opt zbox app zentao config my php 禅道数据库官方文档 该链接也有修改数据
  • TP5+Fastadmin+Log日志

    Log 日志 1 引入类 use think Log 2 记录日志 通过Log类的record 方法 记录一条日志 Log record 这是一条普通日志 记录一个错误级别的日志 使用error 方法 Log error 这是一条错误日志
  • 2022届实习+秋招大厂面试经验(后端开发+java)

    个人情况 待补充 求职方向 后端开发 大致情况 20年底在字节实习到21年6月底 转正 21年7月初开始在阿里实习到8月中 转正 随后面试了百度 腾讯和美团 均拿到offer 中间有挂过 被其他部门又捞了 最终选择阿里 我是22年秋季毕业
  • C++函数中返回智能指针的裸指针问题

    注意 如果不是CSDN网站显示本篇文章 请于底部点击 阅读原文 来阅读本篇文章 C 函数中返回智能指针的裸指针问题 要点 原始代码 解决办法 作为一项案例分析下 C 函数中返回智能指针的裸指针问题 要点 不要在函数中返回智能指针的裸指针出去
  • Flutter之MaterialApp使用详解

    如需转载 请尊重作者 注明出处 谢谢配合 22个参数 字段 类型 navigatorKey 导航键 GlobalKey home 主页 Widget routes 路由 Map
  • 非常简单的无闪刷新验证码原理

    非常简单的无闪刷新验证码原理 只有这一段事件触发语句全搞定 nclick this src GifCode asp newDate getTime GifCode asp验证码的图片 事件 nclick this src GifCode a
  • jsp中request经常是的获取参数的方法总结

    我的个人博客开通了 地址 https timewentby com 欢迎访问 下面将获取参数的方法都列出来说一说 request getParameter String name 获取指定name的值 若name有多个相同值则获取第一个va
  • Devoloper warning for package "com..." Failed to post notification on channel "null" see log for det

    使用通知时屏幕显示 这是因为我们使用的是Android O Android 8 0 之前的通知写法 而Android O之后引入了通知通道 Notification channel 重新定义通知内容中的应用程序类别 可以让开发者给予用户更精
  • Kubernetes CKA考试和真题(下)

    前言 之前分享了CKA考试的1 10题 这篇文章继续分享CKA实操考试的最后7到题目 忘了告诉大家 考试的时候可以查看官网资料 监考官是允许这个行为的 但是你不能打开除了k8s官网的其它页面 第11题 启动多容器pod 任务 创建一个名为k