CKAD 模拟题库 | 28. Jobs

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

  1. 用执行命令'date; echo Hello from the Kubernetes cluster'的镜像 busybox ,创建一个名为 busybox-job 的 Job 。
  2. 修改此 Job ,确保在执行时间超过 3000 秒后,kubernetes 会自动终止该 Job。
  3. 如果容器失败,则尝试重启容器,但最多尝试重启 5 次。
  4. 检查此Job的日志

参考:

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/#job-termination-and-cleanup

kubectl explain job.spec

继续阅读“CKAD 模拟题库 | 28. Jobs”

CKAD 模拟题库 | 27. Secret 秘钥

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

test 命名空间,创建一个名为 mysecret 的密钥,其值 usernamedevuserpassword为A!B*d$zDsb=test 命名空间,创建一个 pod,镜像使用 nginx:1.16 ,名字为 mypod ,将秘密 mysecret 挂载到路径 /etc/foo 上的卷中

参考:

https://kubernetes.io/zh-cn/docs/tasks/configmap-secret/managing-secret-using-kubectl/
https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod

继续阅读“CKAD 模拟题库 | 27. Secret 秘钥”

CKAD 模拟题库 | 26. SecurityContext 安全上下文

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

test 命名空间,有一个名为 secnginx 的 pod,修改此 pod,为容器添加CAP_NET_ADMINCAP_SYS_TIME 权能

参考:

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo-4
spec:
  containers:
  - name: sec-ctx-4
    image: gcr.io/google-samples/node-hello:1.0
    securityContext:
      capabilities:
        add: ["NET_ADMIN", "SYS_TIME"]

继续阅读“CKAD 模拟题库 | 26. SecurityContext 安全上下文”

CKAD 模拟题库 | 25. 资源配额Quota

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

qutt 命名空间,创建一个名为 myquota 的 Quota,该资源 Quota 具有 1 个CPU, 1G 内存和 2个 pod的硬限制。

参考:

https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/#viewing-and-setting-quotas

继续阅读“CKAD 模拟题库 | 25. 资源配额Quota”

CKAD 模拟题库 | 24. sidecar 边车容器

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

  • default 命名空间创建一个 deployment 名为 deploymenb-web
  • 包含一个主容器 lfccncf/busybox:1 ,名称 logger-123
  • 包含一个边车容器 lfccncf/fluentd:v0.12 ,名称 adaptor-dev
  • 在两个容器上挂载一个共享卷 /ckad/log ,当 pod 删除,这个卷不会持久
  • logger-123 容器运行以下命令:
    while true; do
    echo "i luv cncf" >> /ckad/log/input.log; sleep 10;
    done

    结果会文本输出到 /ckad/log/input.log ,格式示例如下:
    i luv cncf
    i luv cncf
    i luv cncf

  • adaptor-dev 容器读取 /ckad/log/input.log ,并将数据输出到 **/ckad/log/output.*** 格式为 Fluentd JSON

    请注意 :完成此任务不需要了解 Fluentd , 完成此任务所需要的知识 .
    /ckad/KDMC00102/fluentd-configmap.yaml 提供规范文件中创建 configmap ,并将该 configmap 挂载到边车容器 adapter-dev 中的 /fluentd/etc

参考:

https://kubernetes.io/zh-cn/docs/concepts/cluster-administration/logging/

继续阅读“CKAD 模拟题库 | 24. sidecar 边车容器”

CKAD 模拟题库 | 23. PV/PVC 的使用

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

  1. 在 node02 节点上创建一个文件 /opt/KDSP00101/data/index.html ,内容为 WEPKEY=7789
  2. 使用 hostPath 创建一个名为 task-pv-volumePersistentVolume ,并分配 2Gi 容量,指定该卷位于集群节点上的 /opt/KDSP00101/data ,访问模式 ReadWriteOnce 。它应该为 PersistentVolume 定义 StorageClass 名称为 keys ,它将被用来绑定 PersistentVolumeClaim 请求到这个 PersistenetVolume
  3. 创建一个名为 task-pv-claimPersistentVolumeClaim,请求容量 200Mi ,并指定访问模式 ReadWriteOnce
  4. 创建一个 pod,使用 PersistentVolmeClaim 作为一个卷,带有一个标签 app:my-storage-app ,将卷挂载到 pod 内的 /usr/share/nginx/html

参考:

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/

继续阅读“CKAD 模拟题库 | 23. PV/PVC 的使用”

CKAD 模拟题库 | 21. Service , Configmap , Sidecar

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

  1. 更新在 namespace default 中的 Service nginxsvc 来暴露端口 9090
  2. 在 namespace default 中创建一个名为 haproxy-config 并存储着的/ckad/ambassador/haproxy.cfg 的内容的 ConfigMap。
  3. 更新在 namespace default 中名为 poller 的 Pod:
    • 首先,添加一个使用 haproxy:lts 镜像、暴露端口 80 并名为 ambassador-container 的 ambassador 容器(大使代理模式)。
    • 最后,ConfigMap haproxy-config 要挂载到 ambassador 容器 ambassador-container/usr/local/etc/haproxy/目录。

参考:

https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/

继续阅读“CKAD 模拟题库 | 21. Service , Configmap , Sidecar”

CKAD 模拟题库 | 20. Ingress排错 - 2

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

在namespace ingress-kk 下有一个 ingress ,但是它貌似不能被正常访问
请排除出原因,并修复。

请注意,这道题的deployment 是正确的,请不要修改 deployment 。

参考:

https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/

继续阅读“CKAD 模拟题库 | 20. Ingress排错 - 2”

CKAD 模拟题库 | 19. Ingress排错 - 1

模拟题目:

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task


namespace ingress-ckad 下,有 deployment service ingress 三个资源已经部署好了, 但是他们的配置有问题,导致的ingress 网络不通。
3个资源的配置清单在目录 /ckad/CKAD202206 中 ,请将其修改为正确的,并重新创建。

请注意,这道题的deployment 是正确的,请不要修改 deployment

参考:

https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/

继续阅读“CKAD 模拟题库 | 19. Ingress排错 - 1”