CKAD模拟题:23-PV/PVC的使用
题目要求
在 node02 节点上创建一个文件 /opt/KDSP00101/data/index.html ,内容为 WEPKEY=7789
使用 hostPath 创建一个名为 task-pv-volume 的 PersistentVolume ,并分配 2Gi 容量,指定该卷位于集群节点上的 /opt/KDSP00101/data ,访问模式 ReadWriteOnce 。它应该为 PersistentVolume 定义 StorageClass 名称为 keys ,它将被用来绑定 PersistentVolumeClaim 请求到这个 PersistenetVolume 。
创建一个名为 task-pv-claim 的 PersistentVolumeClaim ,请求容量 200Mi ,并指定访问模式 ReadWriteOnce
创建一个 pod,使用 PersistentVolmeClaim 作为一个卷,带有一个标签 app:my-storage-app ,将卷挂载到 pod 内的 /usr/share/nginx/html
参考https://kubernetes. ...
CKAD模拟题:22-Deployment 修改镜像
题目要求在 namespace default中的一个 Deployment 由于指定了错误的容器镜像而失败。找出此 Deployment 并修复问题
参考1kubectl --help
解答12345678# 查看default namespace空间下的所有资源信息,找到失败的deploymentkubectl -n default get all# 发现 deploy-nk8s 出现了错误,描述看下pod拉取镜像的错误kubectl -n default describe pod deploy-nk8s-58b86cdc9c-9vzp9# 修改deployment,将错误的image修改正确kubectl -n default edit deployments.apps deploy-nk8s# 这里只要修改为nginx即可
CKAD模拟题:21-Service , Configmap , Sidecar
题目要求
更新在 namespace default 中的 Service nginxsvc 来暴露端口 9090 。
在 namespace default 中创建一个名为 haproxy-config 并存储着的**/ckad/ambassador/haproxy.cfg** 的内容的 ConfigMap。
更新在 namespace default 中名为 poller 的 Pod:
首先,添加一个使用 haproxy:lts 镜像、暴露端口 80 并名为 ambassador-container 的 ambassador 容器(sidecar模式)。
最后,ConfigMap haproxy-config 要挂载到 ambassador 容器 ambassador-container 的**/usr/local/etc/haproxy/**目录。
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/
https://kubernetes.io/docs/reference/kubectl ...
CKAD模拟题:20-Ingress-2
题目要求在namespace ingress-kk下有一个 ingress ,但是它貌似不能被正常访问请排除出原因,并修复。
参考https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#expose
1234567891011121314# 参考官方示例apiVersion: v1kind: Servicemetadata: name: my-servicespec: selector: app.kubernetes.io/name: MyApp ports: - protocol: TCP port: 80 targetPort: 9376# 或者kubectl expose -h
解答123456789101112131415161718192021222324252627# 查看 **ingress-kk nam ...
CKAD模拟题:19-Ingress排错 - 1
题目要求在namespace ingress-ckad 下,有 deployment service ingress 三个资源已经部署好了, 但是他们的配置有问题,导致的ingress 网络不通。
3个资源的配置清单在目录 /ckad/CKAD202206 中 ,请将其修改为正确的,并重新创建。
参考https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/
解答123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263# 查看配置,进行修改vim /ckad/CKAD202206/ingress.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-dm namespace: ingress-ckadspec: replicas: 2 selector: ...
CKAD模拟题:18-NetworkPolicy 网络策略
题目要求更新在namespace ckad00018 中的 Pod ckad00018-newpod
使其使用一个只允许此 Pod 与 Pod front 和 db 之间收发流量的 Networkpolicy 。
参考https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/
解答1234567891011# 查看pod 和networkpolicykubectl -n ckad00018 get pod --show-labelskubectl -n ckad00018 get networkpolicies --show-labels# 查看networkpolicy 的 podselectorkubectl -n ckad00018 get networkpolicies access-db -oyaml | grep -i -A3 podselectorkubectl -n ckad00018 get networkpolicies access-front -oyaml | g ...
CKAD模拟题:17-更新 Deployment 并暴露 Service
题目要求
首先 更新在 namespace ckad00017 中的 Deployment ckad00017-deployment :
以使其运行 5 个 Pod 的副本
将以下标签添加到 Pod tier: dmz
然后 在 namespace ckad00017 中创建一个名为 rover 的 NodePort Service 以在 TCP 端口 81 上公开 Deployment ckad00017-deployment
参考https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#expose
解答1234567891011121314151617181920212223# 1.1 扩容副本数到5kubectl -n **ckad00017 scale deployment ckad00017-deployment --replicas=5# 1.2 添加标签kubectl -n ckad00017 get deployments.apps -oyaml > 17.yamlkub ...
CKAD模拟题:16-Deployment 使用 ServiceAcount
题目要求更新在 namespace frontend 中的 Deployment 使其使用现有的 ServiceAccount app
参考https://kubernetes.io/zh-cn/docs/concepts/security/service-accounts/
解答环境准备
12345678910111213141516171819202122232425262728293031323334353637383940414243# 创建ns 和 serviceaccountcat serviceaccount.yamlapiVersion: v1kind: Namespacemetadata: creationTimestamp: null name: frontendspec: {}status: {}---apiVersion: v1kind: ServiceAccountmetadata: creationTimestamp: null name: app namespace: frontend# 创建一个测试应用a ...
CKAD模拟题:15-升级与回滚
题目要求
更新 namespace ckad00015 中的 Deployment webapp 的比例缩放配置 将 maxSurge 设置为 10% ,将 maxUnavailable 设置为 4
更新 Deployment webapp 以让容器镜像 lfccncf/nginx 使用版本标签 1.13.7
将 Deployment webapp 回滚至 前一版本
参考https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/
解答环境准备
1234567891011121314151617181920212223242526272829303132333435363738cat ~/ckad/15-deployment-rolloutapiVersion: v1kind: Namespacemetadata: creationTimestamp: null name: ckad00015spec: {}status: {}---apiVersio ...
CKAD模拟题:14-Pod 健康检查 readinessProbe
题目要求修改现有的 deployment probe-http 增加 readinessProbe 探测 器,规格如下:
12345使用 httpGet 进行探测探测路径为 /healthz/return200探测端口为 80在执行第一次探测前应该等待 15 秒执行探测的时间间隔为 20 秒
解答https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
123456789101112131415161718192021222324# 参考如下配置apiVersion: v1kind: Podmetadata: name: goproxy labels: app: goproxyspec: containers: - name: goproxy image: registry.k8s.io/goproxy:0.1 ports: - containerPort: 8080 readinessPr ...