K8S学习之路CKA认证--《定制资源定义 CRD & ConfigMap》
定制资源定义 CRD
Task
验证已部署到集群的 cert-manager 应用程序。
使用 kubectl ,将 cert-manager 所有定制资源定义(CRD)的列表,保存到 ~/resources.yaml 。
注意:您必须使用 kubectl 的默认输出格式。请勿设置输出格式。否则将导致分数降低。
使用 kubectl ,提取定制资源 Certificate 的 subject 规范字段的文档,并将其保存到 ~/subject.yaml 。
注意:您可以使用 kubectl 支持的任何输出格式。如果不确定,请使用默认输出格式。
检查 cert-manager 资源
kubectl -n cert-manager get pods

获取定制资源定义(CRD)的列表
通过 grep
kubectl get crd | grep cert-manager
kubectl get crd | grep cert-manager > ~/resources.yaml

检查文件内容
cat resources.yaml

获取定制资源 Certificate 的 subject 规范字段
kubectl explain certificate.spec.subject
kubectl explain certificate.spec.subject > ~/subject.yaml

检查文件内容
cat subject.yaml

ConfigMap
Task
名为 nginx-static 的 NGINX Deployment 正在 nginx-static namespace 中运行。它通过名为 nginx-config 的 ConfigMap 进行配置。
首先,更新 ConfigMap nginx-config 以允许 TLSv1.2 连接。
提示:将指令 ssl_protocols 设置为 ssl_protocols TLSv1.2 TLSv1.3; 以允许 TLSv1.2
注意:您可以根据需要重新创建、重新启动或扩展资源。
您可以使用以下命令测试更改:
candidate@cka000048$ curl -k --tls-max 1.2 https://web.k8snginx.local
由于已经允许 TLSv1.2,所以此命令应该成功。
最后将 ConfigMap nginx-config 设置为不可变。
在线修改 ConfigMap nginx-config ,添加 TLSv1.2
(vim 和 kubectl edit 后,要先执行 :set paste 再按 i 插入)
kubectl -n nginx-static edit configmaps nginx-config
修改 ssl_protocols TLSv1.3; 为 ssl_protocols TLSv1.2 TLSv1.3;
ssl_protocols TLSv1.2 TLSv1.3; # 按照题目要求,添加 TLSv1.2

将 Deployment nginx-static 重启一下,以便 ConfigMap 生效
kubectl -n nginx-static rollout restart deployment nginx-static

检查
确保新的 pod 是 Running 的
kubectl -n nginx-static get pod

使用 1.2 测试,此时网页可以正常访问。
curl -k --tls-max 1.2 https://web.k8snginx.local

在线修改 configmap,设置为只读
(vim 和 kubectl edit 后,要先执行 :set paste 再按 i 插入)
kubectl -n nginx-static edit configmaps nginx-config
在 kind: ConfigMap 上面添加
immutable: true
编辑完后,按 ESC,再按 :wq 保存退出


更多推荐

所有评论(0)