首页阅读

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认证考试时间))全部内容,收藏起来下次访问不迷路!

86%的人还看了:Blooming (bloomingdale)