cka-2026-ConfigMap

您必须连接到正确的主机。不这样做可能导致零分。

**** ****student@k8s-master1**** **** $ ssh cka0000 00

Task

名为 nginx-stati c 的 NGINX Deployment 正在 nginx-static namespace 中运行。它通过名为 nginx-configConfigMap 进行配置。

更新 nginx-config ConfigMap 以仅允许TLSv1.2 TLSv1.3 连接。注意:您可以根据需要重新创建、重新启动或扩展资源。

您可以使用以下命令测试更改:

student @cka000048$ curl -k --tls-max 1.2 https://web.k8snginx.local

最后请将nginx-config ConfigMap 设置为不可变

题解:

步骤1、导nginx-config ConfigMap

由于 ConfigMap 的 immutable 属性设置为 true,不能直接更新现有的 ConfigMap。

需要先导出现有的 ConfigMap,然后删除现有的 ConfigMap ,并重新创建一个新的 ConfigMap

kubectl -n nginx-static get configmaps nginx-config

kubectl -n nginx-static get configmap nginx-config -o yaml > nginx-config.yaml

< 3 > 修改 nginx-config ConfigMap

vim nginx-config.yaml

在 data 部分中,修改 ssl_protocols 配置,将其值设置为 TLSv1.2 TLSv1.3;

bash 复制代码
apiVersion: v1
data:
  default.conf: |
    # 定义 Nginx 服务器块
    server {
        # 监听 443 端口,启用 SSL 加密
        listen 443 ssl;
        
        # 定义该服务器块的域名
        server_name web.k8snginx.local;

        # 指定 SSL 证书文件的路径(公钥)
        ssl_certificate /etc/nginx/ssl/tls.crt;

        # 指定 SSL 证书的私钥文件路径
        ssl_certificate_key /etc/nginx/ssl/tls.key;

        # 定义启用的 SSL 协议
        # 这里只启用了 TLSv1.3 以提高安全性
        ssl_protocols TLSv1.3;

        # 其他 SSL 设置,例如密码套件、HTTP/2 支持等,可以在此配置
        # ssl_ciphers 'HIGH:!aNULL:!MD5'; # 定义强加密密码套件的示例
        # ssl_prefer_server_ciphers on; # 可选,指定服务器优先使用的密码套件
        
        # 可选:启用 HTTP/2 支持以提高性能
        # listen 443 ssl http2;

        # 可选:配置额外的设置,比如重定向、错误页面等
        # 例如,强制 HTTP 请求重定向到 HTTPS:
        # server {
        #   listen 80;
        #   server_name web.k8snginx.local;
        #   return 301 https://$host$request_uri;
        # }
    }
bash 复制代码
apiVersion: v1
data:
default.conf: |
server {
listen 443 ssl;
server_name web.k8snginx.local;
ssl_certificate /etc/nginx/ssl/tls.crt;
ssl_certificate_key /etc/nginx/ssl/tls.key;
#ssl_protocols TLSv1.2 TLSv1.3;
ssl_protocols TLSv1.3;
...

添加不可变配置:

immutable: true #背掉这个单词

< 4 > 先删除,再重新创建 nginx-config ConfigMap

kubectl -n nginx-static delete configmaps nginx-config

kubectl apply -f nginx-config.yaml

< 5 > 需要重建 nginx-static Deployment。

kubectl rollout restart deployment nginx-static -n nginx-static

< 6 > 检查

确保新的 pod 是 running 的

kubectl -n nginx-static get pod

相关推荐
码兄科技2 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
折哥的程序人生 · 物流技术专研3 小时前
第8篇:六大设计原则在工厂模式中的体现
java·设计模式·设计原则·工厂模式·编程进阶·扩充系列
小明bishe183 小时前
计算机毕业设计之基于JAVA的植物科普网站
java·spring boot·spring·架构·课程设计
r_oo_ki_e_3 小时前
Java Map 集合学习笔记
java·笔记·学习
SL-staff4 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
笑锝没心没肺4 小时前
fail2ban工具安装配置及使用
linux·运维·服务器
咖啡八杯4 小时前
GoF设计模式——模板方法模式
java·后端·spring·设计模式
爱笑的源码基地5 小时前
一款全开源的信创云PACS影像云平台解决方案,支持多模态医学影像处理(CT/MR/DR/超声/病理等)
java·源码·国产化·pacs·云影像·区域pacs
我命由我123455 小时前
Android 开发问题:ClickableSpan 的点击事件没有生效
java·java-ee·android studio·android jetpack·android-studio·android runtime
万亿少女的梦1685 小时前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue