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版本的更新,升级的版本号也会有变化,只需根据考题调整升级命令对应的版本号即

可。

需要更多题库请留言。

相关推荐
周湘zx38 分钟前
k8s中的存储
linux·运维·云原生·容器·kubernetes
[听得时光枕水眠]1 小时前
【Docker】Docker上安装MySql8和Redis
运维·docker·容器
Xinan_____3 小时前
Linux——k8s认识
linux·运维·kubernetes
nvd114 小时前
K8S - Access Control 机制介绍
kubernetes
攸攸太上4 小时前
Docker学习
java·网络·学习·docker·容器
Sylvan Ding4 小时前
Docker+PyCharm远程调试&环境隔离解决方案
docker·容器·pycharm
液态不合群10 小时前
低代码革命:加速云原生时代的端到端产品创新
低代码·云原生
prcyang14 小时前
Docker Compose
运维·docker·容器
蜗牛^^O^14 小时前
Docker和K8S
java·docker·kubernetes
脚踏实地的大梦想家14 小时前
【Docker】安装全流程与配置完整镜像源(可安装 nginx)
运维·docker·容器