2024年最新 CKA 试题题库及答案详解 导航页

1. Dokcer 基础相关

  • Docker 、 Docker-Compose 安装教程
  • Docker基础知识、相关概念以及基本使用命令
  • Docker 一句话删除所有镜像/容器

2. CKA 相关学习

CKA(Certified Kubernetes Administrator)是由 Cloud Native Computing Foundation(CNCF)提供的一项认证考试,旨在验证个人在 Kubernetes 群集管理方面的技能和知识。通过考试取得 CKA 认证可以证明个人具备独立管理 Kubernetes 环境的能力。

CKA 考试的主要内容包括但不限于以下几个方面:

  • 集群架构和安装: 理解 Kubernetes 的架构和组件,并能够安装和配置 Kubernetes 群集。

  • 应用工作负载: 管理容器化应用程序的部署、扩展和更新,以及配置应用程序的资源限制和调度规则。

  • 集群维护: 实施备份和恢复策略、监控和故障排除 Kubernetes 群集,并进行安全审计和更新管理。

  • 网络: 配置和管理 Kubernetes 网络、服务和负载均衡,确保网络的可靠性和安全性。

  • 存储: 配置持久存储和卷,以及管理存储资源和存储类别。

  • 安全: 管理 Kubernetes 集群的安全设置,包括身份验证、授权、网络安全和安全策略。

分数占比: 存储(Storage)10%、 故障排除(Troubleshooting)30%、 工作负载和调度(Workloads & Scheduling)15%、 集群架构、安装和配置(Cluster Architecture, Installation & Configuration)25%、服务和网络(Services & Networking)20%

1. 权限控制 RBAC 4分

RBAC( 基于角色的访问控制)主要用于向指定用户或用户组的权限管理,主要考点是理解和操作 Kubernetes 中的 RBAC 和命名空间,以及如何创建、绑定和限制资源的权限。

解题思路

进入题目指定集群 ——> 创建集群作用域并赋予权限 ——> 创建身份验证令牌 ——> 将作用域绑定在身份令牌上

# ClusterRole 相关操作
$ kubectl  create / get / describe / delete clusterrole(s) <clusterrole-name> # 考试用参数-  --verb # 用于指定具体的操作权限-  --resource # 限制对特定资源的操作权限# ServiceAccount 相关操作
$ kubectl create / get / describe serviceaccount(s) --namespace=<namespace># 考试用参数- -n	# 用于指定 Namespace- --clusterrole	# 指定要绑定的 ClusterRole 的名称- --serviceaccount		# 用于指定要绑定的 ServiceAccount 的名称

2. 扩展 Deployment 副本数量 4分

主要考点 : Deployment

Deployment 是用于定义和管理 Pod 的控制器对象,主要在于使用 Kubernetes 中的 Deployment 对象来进行扩展,并确保扩展后的 Pod 数量达到要求。

解题思路

进入题目指定集群 ——> 查看当前部署副本数量 ——> 扩展

# Deployment 相关操作
$ kubectl describe / get / scale / delete deployment(s) <deployment-name># 考试用参数- --replicas	# 用于设置副本数量

3. 配置网络策略 NetworkPolicy 7分

主要考点 : NetworkPolicy

NetworkPolicy 用于定义和管理网络访问策略,通过配置策略可以定义规则以限制进出 Pod 的网络流量。

解题思路

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: networking.k8s.io/v1	# 指定使用的 Kubernetes API 版本
kind: NetworkPolicy		# 声明配置为 NetworkPolicy 资源
metadata:		# 元数据  用于定义 NetworkPolicy 的名称和命名空间name: test-network-policynamespace: default
spec:		# 定义规则与策略podSelector:		# 选择应用 NetworkPolicy 的目标 PodmatchLabels:		# 匹配标签role: dbpolicyTypes:		# 策略类型- Ingress		# 允许入站流量- Egress		# 允许出站流量ingress:		# 入站规则- from:		# 允许流量来源- ipBlock:		# 允许来自 IP 段的流量cidr: 172.17.0.0/16except:		# 排除不允许的 IP 段- 172.17.1.0/24- namespaceSelector:		# 允许来自特定命名空间的流量matchLabels:project: myproject- podSelector:		# 允许来自特定标签的 PodmatchLabels:role: frontendports:- protocol: TCPport: 6379egress:		# 出站规则,允许从 Pod 发出的流量- to:		# 指定允许流量去往的目标- ipBlock:		# 指定允许去往的 IP 段cidr: 10.0.0.0/24ports:		# 指定允许的端口和协议- protocol: TCPport: 5978

4. 查看 Pod 的 CPU 5分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 根据题目要求排序显示 ——> 将查询结果写入指定文件

# Pod 相关操作
$ kubectl get / describe / delete / top pod(s) <pod-name>

5. 创建 Ingress 7分

主要考点 : Ingress

Ingress 是一种资源对象,用于管理外部到 Kubernetes 集群内服务的访问。

解题思路

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: networking.k8s.io/v1		# 指定 Kubernetes 中使用的 API 版本
kind: Ingress		# 指定对象的类型
metadata:	# 包含有关对象的元数据信息name: minimal-ingressannotations:		# 配置 Nginx Ingress 控制器的重写目标nginx.ingress.kubernetes.io/rewrite-target: /
spec:		# 指定了 Ingress 对象的规范,即其配置ingressClassName: nginx-example 		# 指定要使用的 Ingress 控制器的类别或类型rules:		# 定义路由规则- http:paths:		# 定义了针对特定路径的路由规则列表- path: /testpathpathType: Prefix		# 指定路径的类型  "Prefix"(前缀匹配)  "Exact"(精确匹配)backend:		# 指定后端服务service:name: testport:number: 80

6. 暴露服务 Service 7分

主要考点 : Deployments

Deployments 是一种资源对象,用于定义和管理容器化应用程序的部署过程。它提供了一种声明式的方式来定义、创建、更新和管理应用程序的部署。

解题思路

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: apps/v1 		# 制定 Kubernetes API 的版本
kind: Deployment		# 指定对象的类型
metadata:		# 元数据部分name: nginx-deploymentlabels:		# 指定 Deployments 对象的标签app: nginx
spec:		# 指定 Deployments 的规范部分replicas: 3		# 指定要创建的 Pod 的副本数量selector:		# 指定用于选择要控制的 Pod 的标签选择器matchLabels:		# 匹配 Pod 标签的规则app: nginxtemplate:		# 指定要创建的 Pod 的模板数据metadata:labels:app: nginxspec:containers:		# 指定容器的配置信息- name: nginximage: nginx:1.14.2ports:- containerPort: 80

7. 调度 Pod 到指定节点 4分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: v1
kind: Pod
metadata:name: nginx
spec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80

8. 查看可用节点数量 4分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 根据题目要求筛选显示 ——> 将查询结果写入指定文件

# Pod 相关操作
$ kubectl get / describe / delete / top pod(s) <pod-name>

9. 创建多容器的 Pod 4分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: v1
kind: Pod
metadata:name: nginx
spec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80

10. 创建 PV 4分

主要考点 : PersistentVolume

在 Kubernetes 中,PersistentVolume(持久卷)是一种资源对象,用于抽象底层存储的细节,提供了一种统一的方式来管理持久化存储,并使存储资源可以被 Pod 访问。

解题思路
# PV 相关操作命令
$ kubectl get / describe / delete 

进入题目指定集群 ——> 官网复制默认配置 ——> 根据题目要求修改配置 ——> 执行该配置文件
默认 yaml 如下

apiVersion: v1
kind: PersistentVolume
metadata:name: pv0003
spec:capacity:		# 指定持久卷的容量storage: 5Gi		# 指定存储容量大小volumeMode: Filesystem	# 指定持久卷的卷模式accessModes:		# 指定持久卷的访问模式- ReadWriteOncepersistentVolumeReclaimPolicy: Recycle		# 指定持久卷的回收策略storageClassName: slow		# 指定持久卷的存储类名称mountOptions:- hard- nfsvers=4.1nfs:		# 指定 NFS 类型的持久卷的详细信息path: /tmpserver: 172.17.0.2

11. 创建 PVC 7分

主要考点 : PersistentVolumeClaim

PersistentVolumeClaim 是 Kubernetes 中的一种资源对象,用于请求持久化存储资源。当应用程序需要使用持久化存储时,可以创建一个 PersistentVolumeClaim,该声明描述了对存储的需求,比如存储大小和访问模式等。

解题思路
# PV 相关操作命令
$ kubectl get / describe / delete 

进入题目指定集群 ——> 官网复制默认配置并根据题目要求修改配置参数 ——> 创建 pod 节点并将 pvc 赋予到 pod 节点上 ——> 使用 record 参数按题目要求修改 pvc 参数

12. 查看 Pod 日志 5分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 将日志写入指定文件中

13. 使用 Sidecar 代理容器日志 7分

主要考点 : 日志架构

在应用程序的 Pod 中,包含专门记录日志的边车(Sidecar)容器,该方案是将日志记录功能与应用程序容器分离开来,以确保日志记录不会影响应用程序的性能或稳定性,并且使得日志记录的配置更加灵活和可控。

解题思路

进入题目指定集群 ——> 导出现有 pod 的配置参数 ——> 根据题目要求修改配置参数 ——> 删除原有 pod 节点,重新添加

14. 升级集群 7分

主要考点 : 集群升级

从高层规划的角度看,要执行的步骤是:

  • 升级控制平面
  • 升级集群中的节点
  • 升级 kubectl 之类的客户端
  • 根据新 Kubernetes 版本带来的 API 变化,调整清单文件和其他资源
解题思路

进入题目指定集群 ——> 驱逐主节点并远程连接至主节点 ——> 查找指定版本的 kubeadm 并安装 ——> 执行 kubeadm 升级计划 ——> 升级 kubelet 并重启服务 ——> 升级kubectl ——> 回退到从节点并重新加入主节点

15. 备份还原 etcd 7分

主要考点 : etcdctl

etcd 是 一致且高可用的键值存储,用作 Kubernetes 所有集群数据的后台数据库。

解题思路

进入题目指定集群 ——> 制作快照 ——> 修改 etcd 配置还原快照 (不做扣四分)

16. ※ 排查集群中故障节点 13分

主要考点 : 排查故障

白给分

解题思路

进入题目指定集群 ——> ssh 连接故障节点 ——> 重启 kublet 并配置自动启动 ——> 回退至 node01 节点

题目分数高,操作难度低,建议先做

17. 节点维护 4分

主要考点 : Pod

在 Kubernetes 中,Pod 是最小的部署单元,它是一个或多个容器的组合,共享网络命名空间、IP地址和存储卷。Pod 通常被用来组合具有关联功能的容器,比如一个前端应用和一个后端应用,它们可以放在同一个 Pod 中,共享资源和通信。

解题思路

进入题目指定集群 ——> 暂停节点调度 ——> 驱逐节点


有 CKA 相关问题可评论留言 订阅点赞关注可即使查阅最新文章更新

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

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

相关文章

【k8s】(六)kubernetes1.29.4离线部署之-加入Node节点

备注&#xff1a; 完整版请参阅 【k8s】Kubernetes 1.29.4离线安装部署&#xff08;总&#xff09; 加入Node节点 根据执行命令生成第一个控制平面的结果&#xff0c;拷贝如下类似的文件到node节点。直接执行&#xff1a; kubeadm join x.x.x.x:6443 --token picxyk.su53y03l…

Python和R热释光动能朗伯W函数解析方程

&#x1f3af;要点 Python和R计算和绘图&#xff1a; &#x1f3af;一陷阱一复合中心模型计算&#xff1a;&#x1f58a;常微分方程求解器求解 | &#x1f58a;不同活化能和频率因子动力学参数下热释放光强度 | &#x1f58a;改变重捕获率 | &#x1f58a;数值解光热激发一阶动…

高斯过程回归【详细数学推导】

机器学习笔记 第一章 机器学习简介 第二章 感知机 第三章 支持向量机 第四章 朴素贝叶斯分类器 第五章 Logistic回归 第六章 线性回归和岭回归 第七章 多层感知机与反向传播【Python实例】 第八章 主成分分析【PCA降维】 第九章 隐马尔可夫模型 第十章 奇异值分解 第十一章 熵…

BaiChuan13B-GPTQ量化详解

知识要点&#xff1a; 1、按照网上搜索的一些代码&#xff0c;如使用auto_gptq原生库进行训练后量化&#xff0c;可能会正常量化&#xff0c;但是在线推理时会出现如找不到bin文件或者tf文件&#xff0c;即模型权重文件&#xff0c;所以和网上大部分代码不同的地方在于&#xf…

javascript1

[TOC](javascript初始)一.编程语言 编程 计算机语言 编程语言&#xff1a;汇编语言 高级语言&#xff1a;java c python javascript 标记语言&#xff1a;css html 二.计算机基础 计算机组成 数据存储 单位 运行 三. javascript 初识 历史? 布兰登. 艾奇创立 是什么?…

HarmonyOS ArkUI实战开发-手势密码(PatternLock)

ArkUI开发框架提供了图案密码锁 PatternLock 组件&#xff0c;它以宫格图案的方式输入密码&#xff0c;用于密码验证&#xff0c;本节读者简单介绍一下该控件的使用。 PatternLock定义介绍 interface PatternLockInterface {(controller?: PatternLockController): PatternL…

react 父组件调用子组件的属性或方法

前言 在vue3中&#xff0c; 子组件会使用 defineExpose 暴露出父组件需要访问的 变量 或 方法父组件通过 ref 函数定义子组件的 refName&#xff0c;并通过 refName.value.xxx 继续访问 react 中呢&#xff1f; 可使用 useImperativeHandle、forwardRef、useRef 第一步&am…

Unity2D 学习笔记 1.如何高效切换场景

Unity2D 学习笔记 1.如何高效切换场景 前言采用Scene的方式切换创建场景设置场景模板保存模板使用方法 前言 关于Unity版本&#xff0c;VS Studio版本以及其它相关设置&#xff0c;请移步上一篇Unity2D 学习笔记 0.Unity需要记住的常用知识 本节的方法源于Unity中文课程网《U…

Ubuntu下使用VisualStudioCode进行Java开发

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 二、Ubuntu下Docker环境安装 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 Visual Studio Code 下载 点击这个链接Visual Studio Code&#xff0c;进入VisualStudioCode的…

一文看懂电位器的接线方式

电位器是一种用于精确控制电路中电压、电流或信号幅度的电子元件&#xff0c;通过调整其内部电刷相对于电阻体的位置&#xff0c;可以连续改变其电阻值&#xff0c;进而实现对电路特性的微调或控制。根据电阻体材料、结构特点以及输出电压与输入电压&#xff08;或电刷位移&…

Java | Leetcode Java题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; class Solution {public String multiply(String num1, String num2) {if (num1.equals("0") || num2.equals("0")) {return "0";}int m num1.length(), n num2.length();int[] ansArr new int[m n];for…

3D Gaussian Splatting介绍

目录 一、概述二、基础介绍1. 多维高斯分布2. 将3D 高斯投影到2D像素平面3. 球谐函数4. Splatting and α \alpha α blending 三、整体流程四、 伪代码五、评价指标六、实验结果七、reference 一、概述 3D Gaussian Splatting和NeRF一样&#xff0c;主要用于新视图合成。 特…

三相电子式电表ADL400储能防逆流含CE/MID认证

安科瑞薛瑶瑶18701709087/17343930412 ADL400 导轨式多功能电能表&#xff0c;是主要针对电力系统&#xff0c;工矿企业&#xff0c;公用设施的电能统计、 管理需求而设计的一款智能仪表&#xff0c;产品具有精度高、体积小、安装方便等优点。集成 常见 电 力参数测量及电能…

Ozone V3.32a使用总结

目录 前言 Ozone介绍 Ozone下载使用 总结 前言 由于项目需要&#xff0c;现在正在使用Ozone作为软件debug的工具&#xff0c;不同于Keil集成了代码编辑器&#xff0c;编译器&#xff0c;调试器&#xff0c;Ozone则主要作为一个代码调试工具使用。最近发现Ozone还有些功能挺…

算法-合并素数

给一个数组&#xff0c;每次操作可以把相邻的两个素数元素进行合并&#xff0c; 合并后的新数为原来的两个数之和&#xff0c;并删除原来两个数。现在希望最终数组的元素数量尽可能少。 输入 第一行 n 代表数组元素个数 第二行 数组的各个元素 4 7 2 2 3 输出 最终的个数 1 pac…

vue项目打包时因为图片问题报错

执行 npm run build命令打包项目时报错&#xff0c;看起来是图片的问题&#xff1a; package.json里面image-webpack-loader的版本是^7.0.1 解决方案&#xff1a; 1、先卸载 npm uninstall image-webpack-loader 2、用cnpm重新安装 cnpm install image-webpack-loader --save…

PLSQL程序块中的无名块

文章目录 PLsql ---过程化语言程序块&#xff1a;无名块变量利用 select into 语句给变量赋值 打印输出手动输入变量类型引用型变量类型%TYPE%ROWTYPE 记录型变量类型 在程序块下的增删改RETURNING INTO增加数据修改数据删除数据 PLsql —过程化语言 程序块 plsql是Oracle默认…

单细胞+RIP-seq项目文章| Cell ReportshnRNPU蛋白在小鼠精原干细胞池建立的关键作用

精原干细胞&#xff08;SSCs&#xff09;是负责精子发生的干细胞&#xff0c;具有自我更新和分化产生功能性精子的能力。SSCs的持续再生对于维持雄性生育力至关重要。然而&#xff0c;SSC池的发育起源尚不清楚。在哺乳动物中&#xff0c;SSCs源自名为 prospermatogonia&#xf…

Android Studio开发工具学习之Git远程仓库拉取与推送

Git远程仓库操作 1.1 推送项目到远端服务器1.1.1 进入Gitee或Github、创建一个新的仓库1.1.2 将Android Studio中项目推送至Gitee 1.2 从远端服务器拉取项目1.2.1 AS工程页拉取新项目1.2.2 AS启动页拉取项目 1.1 推送项目到远端服务器 1.1.1 进入Gitee或Github、创建一个新的仓…

微服务两种方式登录

目录 1.restTemplate方式 1.1页面 1.2消费者 1.3生产者 1.4效果 2.Feign方式 2.1Service 2.2生产者 三个生产者 一个消费者&#xff0c;三个生产者需要用mysqlmybatis 三个不同的数据库。 页面输入用户名和密码&#xff0c;提交到后端消费者&#xff0c;消费者传到生产…