CKAD模拟题:13-Pod 健康检查 livenessProbe
题目要求由于Liveness Probe 发生了问题 您无法访问一个应用程序。该应用程序可能在任何 namespace 中运行
找出对应的 Pod 并将其名称和 namespace 写入文件 /ckad/CKAD00011/broken.txt 使用以下格式 <namespaceName>/<podName>文件 /ckad/CKAD00011/broken.txt 已存在
用 kubectl get events 来获取相关错误事件井将其写入文件 /ckad/CKAD00011/error.txt 请使 @用输出格式 wide文件 /ckad/CKAD00011/error.txt 已存在 。
修复故障的 Pod 的 Liveness Probe 问题。
参考https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
解答12345678910111213141516171819# 首先获取所有pod, ...
CKAD模拟题:12-Secret
题目要求
在 namespace default 中创建一个名为 another-secret 并包含以下单个键值对的 Secret key1:value2
在 namespace default 中创建一个名为 nginx-secret 的 Pod 。 用 nginx:1.16 的镜像来指定一个容器 。添加一个名为 COOL_VARIABLE 的环境变量来使用 secret 键 key1 的值。
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/
https://kubernetes.io/zh-cn/docs/tasks/inject-data-application/distribute-credentials-secure/#configure-all-key-value-pairs-in-a-secret-as-container-env-var
解答1234567891011121314151617181920212223242526272829303132# 创建secretkubectl ...
CKAD模拟题:11-ConfigMap
题目要求
在 namespace default 中创建一个名为 some-config 并存储着以下键值对的 Configmap: key3:value4
在 namespace default 中创建一个名为 nginx-configmap 的 Pod 。用 nginx:stable 的镜像来指定一个容器。用存储在Configmap some-config 中的数据来填充卷 并将其安装在路径 /some/path
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/
解答123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051# 创建configmap资源kubectl create configmap some-config --from-literal=key3=value4 --dry-run=client -o yaml > configmap.yamlc ...
CKAD模拟题:10-RBAC 授权
题目要求在名为 honeybee-deployment 的 Deployment 和 namespace gorilla 中的一个 Pod 正在记录错误
查看日志以识别错误消息找出错误,包括 User “system:serviceaccount:gorilla:default “can not list resource “serviceaccounts “[…] in the namespace “gorilla”
更新 Deployment honeybee-deployment 以解决 Pod 日志中的错误。您可以在 /ckad/prompt-escargot/honeybee-deployment.yaml 中找到 honeybee-deployment 的 清单文件
参考https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/
解答环境创建
12345678910111213141516171819202122232425262728293031323334353637383940414243 ...
CKAD模拟题:9-创建 Deployment 并指定环境变量
题目要求在现有的 namespace ckad00014 中创建一个运行 6 个 Pod 副本 ,名为 api 的 Deployment 。 用 nginx:1.16 的镜像来指定一个容器。将名为 NGINX_PORT 且值为 8000 的环境变量添加到容器中 然后公开端口 80
参考https://kubernetes.io/zh-cn/docs/tasks/inject-data-application/define-environment-variable-container/
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-deployment-em-
解答12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849# 创建一个deployment配置kubectl -n **ckad00014** create deployment api --image= ...
CAKD模拟题:8-配置container 安全上下文
题目要求修改运行在namespace quetzal 名为 broker-deployment 的现有 Deployment 使其容器
以用户 30000 运行
禁止特权提升。
您可以在 /ckad/daring-moccasin/broker-deployment.yaml 找 到 broker-deployment 的清单文件
参考https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/security-context/
官方示例
123456789101112131415161718192021apiVersion: v1kind: Podmetadata: name: security-context-demospec: securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 volumes: - name: sec-ctx-vol emptyDir: {} containers: ...
CKAD模拟题:6-运行旧版应用程序
题目要求
修复清单文件 /ckad/credible-mite/www.yaml 中的任何 API 弃用问题 以便可以将应用程序部署在 k8s cluster 上 。注意:该应用程序是为 Kubernetes v1.15 开发的 。k8s cluster 运行着 Kubernetes v1.26
请在 garfish namespace 中 部署 更新后的 清 单文件 /ckad/credible-mite/www.yaml 中指定的应用程序 。
参考12kubectl explain deployment.speckubectl explain deployment.spec.selector
解答环境准备
1kubectl create ns garfish
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647# 编辑文件vim /ckad/credible-mite/www.yaml# #/ckad/credible-mite/www.yamlapiVers ...
CKAD模拟题:4-CPU和内存请求
题目要求在现有的 namespace pod-resources中创建一个名为nginx-resources 的 Pod 。镜像为 nginx:1.16 ,为其容器指定资源请求40m的 CPU 和50Mi的内存
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/
官方示例:
12345678910111213141516---apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: app image: images.my-company.example/app:v4 resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: &quo ...
CKAD模拟题:5-CPU和内存限制
题目要求namespace haddock 中名为 nosql 的 Deployment 的 Pod 因其容器已用完资源而无法启动。
请更新 haddock Deployment ,使 Pod
为其容器请求 15Mi 的内存
将内存限制为 haddock namespace 设置的最大内存容量的 一半 。您可以在 /ckad/chief-cardinal/nosql.yaml 找到 nosql Deployment 的配置清单。
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/
官方的示例
12345678910111213141516171819202122232425---apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: app image: images.my-company.example/app:v4 resources: re ...
CKAD模拟题:3-Dockerfile
题目要求一个Dockerfile 已经存在于 /ckad/DF/Dockerfile
使用已存在的 Dockerfile ,构建一个名为 centos和标签为 8.2 的容器镜像。您可以安装和使用您选择的工具。
使用您选择的工具,以 OCI 格式导出构建的容器镜像,并将其存储在 /ckad/DF/centos-8.2.tar
参考参考docker 构建
https://docs.docker.com/language/java/build-images/
解答12345678910111213141516#1.查看dockerfile文件,根据要求构建镜像/ckad/DF/Dockerfile# 1.1修改dockerfile文件FROM centos:8LABEL maintainer="test dockerfile"LABEL test=dockerfileUSER rootRUN useradd shadowRUN mkdir /opt/shadow# 1.2构建镜像cd /ckad/DF/sudo docker build -t centos:8.2 ...