模拟题目

设置配置环境:

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

Task

  1. 修复清单文件 /ckad/credible-mite/www.yaml 中的任何 API 弃用问题 以便可以将应用程序部署在 k8s cluster 上 。 注意:该应用程序是为 Kubernetes v1.15 开发的 。 k8s cluster 运行着 Kubernetes v1.26
  2. 请在 garfish namespace 中 部署 更新后的 清 单文件 /ckad/credible-mite/www.yaml 中指定的应用程序 。

参考

kubectl explain deployment.spec
kubectl explain deployment.spec.selector

1.8版本之前 .spec.selector 可以省略 1.8版本之后 .spec.selector 不可以省略

解答

切换环境

kubectl config use-context k8s

编辑yaml文件

vim /ckad/credible-mite/www.yaml
#/ckad/credible-mite/www.yaml
apiVersion: apps/v1 #修改
kind: Deployment
metadata:
name: www-deployment
namespace: garfish #namespace
spec:
replicas: 1
selector: #添加
matchLabels: #添加
app: nginx #添加
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.16
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/log/nginx
name: logs
env:
- name: NGINX_ENTRYPOINT_OUIET_LOGS
value: "1"
volumes:
- name: logs
emptyDir: {}

创建pod

kubectl apply -f /ckad/credible-mite/www.yaml

检查

kubectl -n garfish get all

spec-selector-0