1 什么是CKA
CKA
,即Certificated Kubernetes Administrator
,CNCF
官方提供的Kubernetes
技能认证,含金量还是不错的。还有CKAD
,相对简单一些,没有必要两个都考。最近还出了CKS
,难度很大,含金量最高,必须拿到CKA
才可以去考。
CKA
最近改版了,变更了许多,题目和难度都不一样,本文就改版后的考试心得做个简单梳理。
2 考试基本情况与建议
整理了一下官方的信息:
考试费用为300
美元,中文是2088
,差不多;
考试时长为2小时,满分100分,66分通过,一共有17道题;
考试形式为线上考试、远程监考
,考官通过共享桌面和摄像头来监控;
报名可以中文或英文,建议使用英文,然后准备护照;因为监考官一般是外国人,他不认身份证和中文;
考试需要用到Chrome
插件,要科学上网才能安装;考试的时候并不需要科学上网,如果网速可以,建议不要使用,以免造成网络中断;
考试要在没其它人的室内,考试前考官会叫考生拿着摄像头转一圈。桌子最好保证没有其他东西,特别是书籍、电子产品等;
考试尽量不要喝水和提出休息,两个小时很快就过去了;
考试需要设置命令自动补全,设置一次就可以了;
考试可参考的资料为kubernetes.io
和GitHub官网,其它网页都不行;
浏览器只能打开两个tag
,一个考试,一个参考资料,所以强烈建议要把网页收藏好;
考试时题目有多种语言,建议用英文版,中文是翻译过来的,题意和字符串不确定是否有问题;
做完一道题尽量验证一下,如使用kubectl get
或kubectl describe
等;
能用kubectl create
等命令直接创建的,就用命令,写yaml
文件会慢很多;
考试框提供一个记事本可以进行文字编辑,任何本地的软件都是不允许的;
遇到不会做的可以先跳过,mark
下来回头再做;最好是记在记事本上,不然网络中断重新加载后,标识会丢失;
一定要记得切换上下文,不然可能做错环境,甚至是改坏本来正确的答案;
需要ssh
跳到其它机器的,操作完记得跳回来;
建议考试前练习一下vi/vim
,考试用得上;
3 题目是什么
网上是有真题的,可以搜出来,也有答案。但是,千万不过迷信网上的答案,有些很可能是错的。还是需要以自己理解为基础,并做出相应的调整。
所谓真题,我就不分享了,大家自己动用自己的搜索能力吧。我考试的题目如下:
- clusterrole:创建并绑定,建议多使用命令的方式;
- 驱逐cordon/drain:很简单,记得用
kubectl get pod -o wide
验证一下; - 升级集群:比较难,照着官网做吧;
- etcd备份及恢复:比较难,官网有部分命令,其它还是要自己记一下;
- 网络策略:官网已经有
yaml
模板,简单改改就好; - deployment端口与暴露服务:简单;
- ingress:可以通过
curl
来验证; - scale deployment:简单,用命令行操作;
- Node selector:简单,可以查看
node
的label
验证一下; - 查看无污点的node:简单,熟悉一下污点与宽容;
- 多容器的Pod:题目貌似有点问题,按理说应该很简单;
- 创建pv:官网有模板;
- pvc与扩容,并记录:官网有模板,记得加
--record
,可以修改后验证一下; - Pod的日志:简单;
- sidecar:这题目有点奇怪,一直无法提交;
- 查看pod的cpu使用率:简单,使用
top
命令,记得排序; - 故障定位,重启kubelet:简单,记得
ssh
和获取权限。
4 总结
心态平和,尽人事、听天命,其实并不是很难。考完36小时后,就有成绩出来了。祝大家收获自己的CKA
证书吧。
附:
使用阿里云搭建练习平台:详细记录用kubeadm在Ubuntu上安装Kubernetes集群
常用命令:Docker和Kubernetes常用命令(持续整理)
考试必备:vim常用命令,linux必备
我的考试收藏夹(Chrome不支持部分导出,大家将就着用吧,先打开然后自行收藏):
kubectl 备忘单 | Kubernetes
kubectl | Kubernetes
Kubectl Reference Docs
使用 RBAC 鉴权 | Kubernetes
节点 cordon| Kubernetes
驱逐 确保 PodDisruptionBudget 的前提下安全地清空一个节点 | Kubernetes
升级 kubeadm 集群 | Kubernetes
为 Kubernetes 运行 etcd 集群 | Kubernetes
网络策略 | Kubernetes
服务 | Kubernetes
Ingress | Kubernetes
Deployments | Kubernetes
将 Pod 分配给节点 | Kubernetes
污点和容忍度 | Kubernetes
Pod 拓扑扩展约束 | Kubernetes
Init 容器 | Kubernetes
持久卷 | Kubernetes
持久卷 pvc| Kubernetes
持久卷 pod pvc | Kubernetes
卷 volumeMounts | Kubernetes
配置 Pod 以使用 PersistentVolume 作为存储 | Kubernetes
卷 - hostPath | Kubernetes
存储类 | Kubernetes
调试 Service | Kubernetes
日志架构 | Kubernetes
集群故障排查 | Kubernetes
emptyDir 配置 Pod 以使用卷进行存储 | Kubernetes
配置 Pod 使用 ConfigMap | Kubernetes
使用 Secret 安全地分发凭证 | Kubernetes
Pod 与 Service 的 DNS | Kubernetes
安装 kubeadm | Kubernetes
为 Pod 或容器配置安全性上下文 | Kubernetes
Pod 安全策略 | Kubernetes
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。