CKA认证考试心得分享(上) (cka认证考试时间)
CKA认证考试心得分享(上) (cka认证考试时间)
关于CKA
CKA全称为(Certificated Kubernetes Administrator)即为官方认证的Kubernetes管理员。
这类认证其实已有不少,比如Oracle的OCP/OCM认证,Java的OCPJ认证(什么?国家软考?不好意思,国内反正招聘要求的加分项上没有提到过,国际上肯定是不认的),而这项认证是关于Kubernetes技术的。
认证机构为Linux Foundation组织旗下的Cloud Native Computing Foundatin组织。本来Kubernetes是最伟大的IT公司Google的“亲儿子”(内部项目),后来开源出来,又后来为了其茁壮成长,“过继”给了CNCF,所以CNCF就成了认证机构。
一、报名信息
官方报考地址:
优惠信息:
注意:必须使用公司邮箱报名
二、考试注意事项
0. 考试过程中只允许打开多一个Chrome的 Tab,Tab 只允许
1. kubectl bash自动补全的命令一定要用
# source (kubectl completion bash)
2. 切换context
# kubectl config use-context hk8s
3. 尽量使用命令创建Pod、deployment、service
#创建Pod
kubectl run --image= --restart=Never -n
#创建Deployment
kubectl run --image= -n
#暴露Service
kubectl expose --port= --name=
4. 养成使用--dry-run、kubectl apply -f、kubectl delete -f的习惯,同时将答案和yaml写入到文件里,方便根据命令模板修改yaml,以及后面检查答案时重做题目。
举个例子,使用run命令忘记增加namespace了
#初次生成
kubectl run --image= --restart=Never --dry-run -o yaml题目名称.yaml
#应用yaml
kubectl apply -f 题目名称.yaml
#审题错了,删除之前做的结果
kubectl delete -f 题目名称.yaml
#修改命令或修改yaml重新执行kubectl apply -f
5. 见到不懂或忘记的命令参数,甭管什么kubectl,etcdctl的命令,-h是万能的。里面有示例
三、考题信息(共 24题,考试时间 3个小时)
1、列出环境内所有的 pv 并以 name字段排序(使用kubectl自带排序功能)
kubectl get pv --sort-by=.metadata.name/opt/xxx/pv_name
2、列出指定 pod 的日志中状态为 file-not-found 的行,并记录在指定的文件上
kubectl logs foobar | grep file-not-found/opt/xxx/foobar
3、创建一个 daemonset nginx,保证其在每个节点上运行,注意不要覆盖节点原有的 Tolerations
这道题先创建Deploy,再修改,这样速度会快一点
#先创建一个deployment的yaml模板
kubectl run nginx --image=nginx --dry-run -o yaml10.yaml
#将yaml改成DaemonSet
vi 10.yaml
#修改apiVersion和kind
#apiVersion: extensions/v1beta1
#kind: Deployment
apiVersion:apps/v1
kind: DaemonSet
metadata:
labels:
run: nginx
name: nginx
spec:
#去掉replicas
# replicas: 1
selector:
matchLabels:
run: nginx
# strategy: {}
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx
name: nginx
参考:
4、提供一个 pod 的 yaml,要求添加 Init Container,Init Container 的作用是创建一个空文件,pod 的 Containers 判断文件是否存在,不存在则退出
apiVersion: v1
kind: Pod
metadata:
name: kumpy-koala
spec:
volumes:
- name: workdir
emptyDir: {}
containers:
- name: checker
image: alpine
command: [/bin/sh, -c, if [ -f /workdir/calm.txt ];then sleep 100000;else exit 1;fi]
volumeMounts:
- name: workdir
mountPath: /workdir
###增加init Container####
initContainers:
- name: busybox
image: busybox
command: [/bin/sh, -c, touch /workdir/calm.txt]
volumeMounts:
- name: workdir
mountPath: /workdir
参考:
5、创建一个 pod 名称为 test,内含两个指定的镜像 nginx、redis
# kubectl run test --image=nginx --restart=Never -n namespace -o yaml5.yaml
vi 5.yaml
apiVersion: v1
kind: Pod
metadata:
name: kucc4
labels:
app: kucc4
spec:
containers:
- name: nginx
image: nginx
##添加redis container
- name: redis
image: redis
6、创建一个 pod 名称为 nginx,并将其调度到节点为 disk=stat 上
# kubectl run nginx --image=nginx --restart=Never --dry-run6.yaml
vi 4.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disktype: ssd
参考:
7、创建 nginx-app 的 deployment ,使用镜像为 nginx:1.11.0-alpine ,修改镜像为 1.11.3-alpine,并记录升级,再使用回滚,将镜像回滚至 nginx:1.11.0-alpine
kubectl run nginx-app --image=nginx:1.11.0-alpine --replicas=3
kubectl set image deployment nginx-app nginx-app=nginx:1.11.3-alpine --record
kubectl rollout history deployment nginx-app
kubectl rollout undo deployment nginx-app
8、创建和配置 service,名字为 front-end-service。type为 NodePort,路由到 front-end 的 Pod 上
kubectl expose pod front-end --name=front-end-service --type=NodePort --port=80
9、创建一个 Pod,名字为 jenkins,镜像使用 jenkins。在新的 namespace website-frontend 上创建
# kubectl create ns website-frontend
# kubectl run jenkins --image=jenkins -n website-frontend
10、创建 deployment 的 spec 文件,使用 redis 镜像,7 个副本,label 为 app_enb_stage=dev,deployment 名字为 kual00201
# kubectl run kual00201 --image=redis --replicas=7 --labels=app_enb_stage=dev --dry-run -o yaml/opt/xxx/deploy_spec.yaml
飞致云学堂
飞致云旗下知识平台
以上就是(CKA认证考试心得分享(上) (cka认证考试时间))全部内容,收藏起来下次访问不迷路!