定制资源定义 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 保存退出

更多推荐