K8S的CKA考试环境和题目

CKA考试这几年来虽然版本在升级,但题目一直没有大的变化,通过K8S考试的方法就是在模拟环境上反复练习,通过练习熟悉考试环境和考试过程中可能遇到的坑。这里姚远老师详细向大家介绍一下考试的环境和题目,需要详细资料的同学请在文章后面留言。祝大家考试成功。

K8S的考试环境

CKA考试环境由三台虚拟机组成,这三台虚拟机姚远老师已经建好了,需要的同学请在下面留言,主机名分别是k8s-master、k8s-node1、k8s-node2,安装的操作系统是Ubuntu,大家可能猜到了为什么不用红帽,因为版权的问题。这个考试是Linuxfoundation搞的,他们想保证纯正的开源。

1权限控制RBAC

考题概述:

创建名称 deployment-clusterrole 的 ClusterRole,该角色具备创建 Deployment、Statefulset、

Daemonset 的权限,在命名空间 app-team1 中创建名称为 cicd-token 的 ServiceAccount,绑定

ClusterRole 到 ServiceAccount,且限定命名空间为 app-team1。

考题解析:

需要熟悉创建 serviceaccount、clusterrole 和 rolebinding 的方法,需要限定在 ns 级别,因此最好使

用 rolebinding

参考方法:

css 复制代码
kubectl create ns app-team1 (题库练习执行,命名空间考试系统已存在)
kubectl create serviceaccount cicd-token -n app-team1
kubectl create clusterrole deployment-clusterrole --verb=create --
resource=deployments,statefulsets,daemonsets
kubectl -n app-team1 create rolebinding cicd-clusterrole --
clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token

最后可以验证下rolebinding资源

rolebinding后面 的名字cicd-clusterrole随便起的,因为题 中没有要求,如果题 中有要求,就不能随便起了

2 设置节点不可

考题概述:

设置 ek8s-node-1 节点为不可 、重新调度该节点上的所有 pod

考题解析:

cordon节点,drain 节点,需要忽略 daemonsets 并清除 local-data,否则可能 法驱逐 pod

参考 法:

css 复制代码
切换 context
kubectl cordon ek8s-node-1
kubectl drain ek8s-node-1 --ignore-daemonsets --delete-emptydir-data --
force
完成后一定要通过 get nodes加以确认

3 升级 kubeadm

考题概述:

升级 master 节点为1.22.2,升级前确保drain master 节点,不要升级worker node 、容器

manager、 etcd、 CNI插件、DNS 等内容;

考题解析:

首先 cordon、drain master节点,其次升级 kubeadm 并 apply 到1.22.2版本,升级 kubelet 和

kubectl

参考方法:

css 复制代码
切换 context
kubectl get nodes
ssh mk8s-master-0
kubectl cordon mk8s-master-0
kubectl drain mk8s-master-0 --ignore-daemonsets --force
apt-mark unhold kubeadm kubectl kubelet
apt-get update && apt-get install -y kubeadm=1.22.2-00 kubelet=1.22.2-00
kubectl=1.22.2-00
apt-mark hold kubeadm kubectl kubelet
kubeadm upgrade plan
kubeadm upgrade apply v1.22.2 --etcd-upgrade=false
systemctl daemon-reload && systemctl restart kubelet
//kubectl -n kube-system rollout undo deployment coredns 有些朋友建议
rollout coredns,
kubectl uncordon mk8s-master-0
检查master节点状态以及版本
kubectl get node

注意:随着K8S版本的更新,升级的版本号也会有变化,只需根据考题调整升级命令对应的版本号即

可。

需要更多题库请留言。

相关推荐
小妖同学学AI17 小时前
云原生AI服务新范式:Jina Serve框架,让多模态大模型落地像搭积木一样简单
人工智能·云原生·jina
eRTE XFUN17 小时前
docker下搭建redis集群
redis·docker·容器
一只小bit18 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
独隅18 小时前
it+云原生:GitOps实践指南-K8s配置版本管理
git·elasticsearch·云原生
就叫飞六吧19 小时前
docker快速启动sqlserver实例并自动测试shell脚本
docker·容器·sqlserver
AI攻城狮19 小时前
马斯克为何一定要干掉 OpenAI?这不只是恩怨,而是一场 AI 时代的产权之战
云原生
wapicn991 天前
微服务架构下的数据核验设计,API接入最佳实践
微服务·云原生·架构
AI攻城狮1 天前
对AI泡沫的地狱式批判,你认可吗?
云原生
皮皮冰燃1 天前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
面汤放盐1 天前
从单体架构到微服务架构:模式与最佳实践
微服务·云原生·架构