CKA考试真题-20190714
1.监控 foobar Pod 的日志,提取 pod 相应的行’error’写入到/logs 文件中
kubectl logs foobar | grep error > /logs
2.使用 name 排序列出所有的 PV,把输出内容存储到/opt/文件中 使用 kubectl own 对输出进行排序,并且不再进一步操作它
kubectl get pv --all-namespace --sort-by=.metadata.name > /opt/
3.确保在 kubectl 集群的每个节点上运行一个 Nginx Pod。其中 Nginx Pod 必须使用 Nginx 镜像。不要覆盖当前环境中的任何 traints。 使用 Daemonset 来完成这个任务,Daemonset 的名字使用 ds。
题目对应文档:https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
删除tolerations字段,复制到image: gcr.io/fluentd-elasticsearch/fluentd:v2.5.1这里即可,再按题意更改yaml文件。
apiVersion: apps/v1
kind: DaemonSet
metadata:name: dsnamespace: kube-systemlabels:k8s-app: fluentd-logging
spec:selector:matchLabels:name: fluentd-elasticsearchtemplate:metadata:labels:name: fluentd-elasticsearchspec:containers:- name: fluentd-elasticsearchimage: nginx
4.添加一个 initcontainer 到 lum(/etc/data)这个 initcontainer 应该创建一个名为/workdir/calm.txt 的空文件,如果/workdir/calm.txt 没有被检测到,这个 Pod 应该退出
题目中yaml文件已经给出,只需要增加initcontainers部分,以及emptyDir: {} 即可 init文档位置:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ apiVersion: v1 kind: Pod metadata:name: nginxlabels:env: test spec:volumes: - name: workdiremptyDir: {} containers: - name: nginximage: nginxcommand: [if ..]volumeMounts:- name: workmountPath: /workdirinitContainers: - name: init-myserviceimage: busybox:1.28command: - touch- /workdir/calm.txtvolumeMounts:- name: workmountPath: /workdir
5.创建一个名为 kucc 的 Pod,其中内部运行着 nginx+redis+memcached+consul 4 个容器
https://v1-14.docs.kubernetes.io/docs/concepts/workloads/pods/pod-overview/apiVersion: v1kind: Podmetadata:name: kuccspec:containers:- name: nginximage: nginx- name: redisimage: redis- name: memcachedimage: memcached- name: consulimage: consul
6.创建 Pod,名字为 nginx,镜像为 nginx,添加 label disk=ssd
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
apiVersion: v1kind: Podmetadata:name: nginxlabels:env: testspec:containers:- name: nginximage: nginximagePullPolicy: IfNotPresentnodeSelector:disk: ssd
7.创建 deployment 名字为 nginx-app 容器采用 1.11.9 版本的 nginx 这个 deployment 包含 3 个副本,接下来通过滚动升级的方式更新镜像版本为 1.12.0,并记录这个更新,最后,回滚这个更新到之前的 1.11.9 版本
kubectl run deployment nginx-app --image=nginx:1.11.9 --replicas=3
kubectl set image deployment nginx-app nginx-app=nginx:1.12.0 --record (nginx-app container名字)
kubectl rollout history deployment nginx-app
kubectl rollout undo deployment nginx-app
8.创建和配置 service,名字为 front-end-service。可以通过 NodePort/ClusterIp 开访问,并且路由到 front-end 的 Pod 上
kubectl expose pod fron-end --name=front-end-service --port=80 --type=NodePort
9.创建一个 Pod,名字为 Jenkins,镜像使用 Jenkins。在新的 namespace website-frontend 上创建
kubectl create ns website-frontendapiVersion: v1
kind: Pod
metadata:name: Jenkinsnamespace: website-frontend
spec:containers:- name: Jenkinsimage: Jenkinskubectl apply -f ./xxx.yaml
10.创建 deployment 的 spec 文件: 使用 redis 镜像,7 个副本,label 为 app_enb_stage=dev deployment 名字为 kual00201 保存这个 spec 文件到/opt/KUAL00201/deploy_spec.yaml完成后,清理(删除)在此任务期间生成的任何新的 k8s API 对象
kubectl run kual00201 --image=redis --labels=app_enb_stage=dev --dry-run -oyaml > /opt/KUAL00201/deploy_spec.yaml
11.创建一个文件/opt/kucc.txt ,这个文件列出所有的 service 为 foo ,在 namespace 为 production 的 Pod这个文件的格式是每行一个 Pod的名字
kubectl get svc -n production --show-labels | grep fookubectl get pods -l app=foo(label标签) -o=custom-columns=NAME:.spec.name > kucc.txt
12.创建一个secret,名字为super-secret包含用户名bob,创建pod1挂载该secret,路径为/secret,创建pod2,使用环境变量引用该secret,该变量的环境变量名为ABC
https://kubernetes.io/zh/docs/concepts/configuration/secret/#%E8%AF%A6%E7%BB%86
echo -n "bob" | base64apiVersion: v1
kind: Secret
metadata:name: super-secret
type: Opaque
data:username: Ym9iapiVersion: v1
kind: Pod
metadata:name: pod1
spec:
containers:
- name: mypodimage: redisvolumeMounts:
- name: foomountPath: "/secret"readOnly: true
volumes: secret
- name: foosecret:secretName: super-secretapiVersion: v1
kind: Pod
metadata:name: pod-evn-eee
spec:
containers:
- name: mycontainer
image: redis
env:
- name: ABCvalueFrom:secretKeyRef:name: super-secretkey: username
restartPolicy: Never
13.在新的ns中创建pv,指定pv名字和挂载路径,镜像等
https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume
kubectl create ns newapiVersion: v1
kind: PersistentVolume
metadata:name: pv0003
spec:capacity:storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: slow
hostPath:path: "/etc/data"kubectlc apply -f ./xxx.yaml --namespace=new
14.为给定deploy websity副本扩容到6
kubectl scale deployment website --replicas=6
15.查看给定集群ready的node个数(不包含NoSchedule)
1.kubectl get nodes
2.把所有ready得都执行kubectl describe node $nodename | grep Taint 如果有NoSchedule
16.找出指定ns中使用cup最高的pod名写出到指定文件
kubectc top pod -l xxx --namespace=xxx
17.创建一个 deployment 名字为:nginx-dns 路由服务名为:nginx-dns 确保服务和 pod 可以通过各自的 DNS 记录访问 容器使用 nginx 镜像,使用 nslookup 工具来解析 service 和 pod 的记录并写入相应的/opt/service.dns 和/opt/pod.dns 文件中,确保你使用 busybox:1.28 的镜像用来测试。
busybox这里找:https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ 1.kubectl run nginx-dns --image=nginxkubectl expose deployment nginx-dns --name=nginx-dns --port=80 --type=NodePortkubectl get pod -owide xxx (查看pod IP) 2.建立busyboxapiVersion: v1kind: Podmetadata:name: busybox1labels:name: busyboxspec:hostname: busybox-1subdomain: default-subdomaincontainers: - image: busybox:1.28command:sleep"3600"name: busybo 3.解析kubectl exec -it busybox -- nslookup nginx-dnskubectl exec -it busybox -- nslookup 10.244.0.122(pod IP)
18.给定https地址,ca,cert证书,key备份该数据到指定目录
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:1111 --ca-file=/pki/ca.crt --cert-file=/pki/cert.crt --key-file=/pki/key.crt snapshot save 给的路径
有些题目下--ca-file会报错,记得看endpoints -h 里的字段怎么要求的
19.在ek8s集群中使name=ek8s-node-1节点不能被调度,并使已被调度的pod重新调度
先切换集群到ek8s
再执行
kubectl drain node1 --ignore-daemonsets --delete-local-data
20.给定集群中的一个node未处于ready状态,解决该问题并具有持久性
进入集群
ssh node systemctl status kubeletsystemctl start kubelet
systemctl enable kubelet
21.题目很绕,大致是 在k8s的集群中的node1节点配置kubelet的service服务,去拉起一个由kubelet直接管理的pod(说明了是静态pod),
该文件应该放置在/etc/kubernetes/manifest目录下(给出了pod路径)创建 1.vi /etc/kubernetes/manifest/static-pod.yaml2.systemctl status kubelet 查找kubelet.service路径 考试目录是: /etc/systemd/system/kubernetes.service3.vi /etc/systemd/system/kubernetes.service 观察有没有 --pod-manifest-path=/etc/kubernetes/manifest 这句话 没有就加上得4.sudo -i ssh node sudo -i5.systemctl daemon-reload systemctl restart kubelet.service6.systemctl enable kubelet7.检查 kubectl get pods -n kube-system | grep static-pod 实际是static-pod+系统 static-pod-kubelet-service
22.某集群中kubelet.service服务无法正常启动,解决该问题,并具有持久性
kubectl 命令能用 kubectl get cs 健康检查 看manager-controller 是否ready 如果不ready systemctl start kube-manager-controller.service
23.TLS问题 (一道很长的题目,建议放弃,难度特别大)
24.创建指定大小和路径的pv
https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume
CKA考试真题-20190714相关推荐
- 2021年CKA考试真题(四)
直通车 2021年CKA考试真题(二) 2021年CKA考试真题(三) 2021年CKA考试真题(四) 2021年CKA考试模拟题(五) 2021年CKA考试模拟题(六) 2021年CKA考试模拟题( ...
- 2021年CKA考试真题(三)
直通车 2021年CKA考试真题(二) 2021年CKA考试真题(三) 2021年CKA考试真题(四) 2021年CKA考试模拟题(五) 2021年CKA考试模拟题(六) 2021年CKA考试模拟题( ...
- python二级考试真题_2020年宁夏二级建造师考试《建筑工程》真题及答案-二级建造师...
2020年二级建造师统考时间为10月31日-11月1日,其中<建筑工程管理与实务>科目考试时间11月1日9:00-12:00.考试结束后,233网校将及时为大家提供试题答案,并有专业老师进 ...
- ccna考试真题及经验介绍
ccna考试真题及经验介绍<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- 2009年计算机二级c语言考试真题,2009年3月全国计算机二级C语言考试真题.doc
2009年3月全国计算机二级C语言考试真题 2009年3月二级C语言真题及答案 2009年3月全国计算机等级考试二级笔试(真题)? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???C语言试 ...
- 2009年出现的计算机术语,2009年计算机一级考试真题及答案
2009年计算机一级考试真题及答案 一.选择题 1.在计算机领域中通常用MIPS来描述______. A.计算机的运算速度 B.计算机的可靠性 C.计算机的可运行性 D.计算机的可扩充性 2.微型计算 ...
- 2011年9月计算机C语言真题,2011年9月全国计算机二级C语言考试真题及答案.doc
2011年9月全国计算机二级C语言考试真题及答案 2011年9月全国计算机等级考试二级笔试试卷 ?C语言程序设计 ?(考试时间90分钟,满分100分) 一.选择题((1)-(10).(21)-(40) ...
- 英语阅读计算机病毒是指,2016年职称计算机考试真题及答案
2016年职称计算机考试真题及答案 31.计算机的软件一般包括( D ) A实阴德软件和应用软件 B.系统软件和管理软件 C.培训软件和源程序 D.系统软件和应用软件 32.下面( C )是系统软件. ...
- vc设备工程师_4注册公用设备工程师专业基础考试真题.
精品文档 精品文档 2010 注册公用设备工程师专业基础考试真题 1 . 热力学系统的平衡状态是指: ( C ) A . 系统内部作用力的合力为零,内部均匀一致 B . 所有广义作用力的合力为零 C ...
最新文章
- c# 元组Tuple
- 在JavaFX程序中嵌入Swing内容
- Linux下qwt源码编译,QWT的编译与配置
- 微信公众号-关注取消关注后图文和普通消息自动回复
- es5 和 es6 class
- 复习-arrary和arraylist的对比以及arraylist的遍历中删除的原理
- LINUX下Android NDK下载并配置
- Java base64转inputStream
- 真正的爱情是日久生情
- diybox路由器设置教程_图文教程:家用无线路由器设置 | 192路由网
- 人工智能ai的有关专业术语_您需要知道的11个人工智能术语
- Java源码:Reference与ReferenceQueue
- 智安网络丨什么是等保2.0?
- 怎么让两个java文件关联,怎么把多个excel文件合并成一个【几个excle合并成一个】...
- python代码画樱花教程-python画樱花树代码 具体代码介绍
- 整型与指针的相互转换(int-int*,long-long*)
- 叮咚小区官网新闻已不更新
- Linux配置ssh远程连接服务
- android 图片内存缓存文件在哪个文件夹,别再用手机管家清理内存了!1分钟删掉这些文件夹,内存多出几个G...
- 765. 情侣牵手(贪心思想)