You need to enable JavaScript to run this app. 如何将防火墙自签名证书添加到k8s中使其被系统信任
优惠活动
大模型
产品
解决方案
定价
更多

如何将防火墙自签名证书添加到k8s中使其被系统信任

流量路径示意图

K8s集群添加自签名根证书信任方案

以下为不同场景下的落地操作步骤:

1. 集群节点全局配置(所有节点上运行的Pod默认都信任该证书)

适合集群内所有工作负载都需要访问对应HTTPS资源的场景,操作需要在每个K8s节点(包含控制平面节点和工作节点)执行:

  • 首先把运维提供的自签名根证书文件(一般为.crt/.pem格式)上传到节点的/usr/local/share/ca-certificates/目录下:
cp your-custom-root-ca.crt /usr/local/share/ca-certificates/
  • 执行证书更新命令让系统信任该证书:
    • Debian/Ubuntu系系统:update-ca-certificates
    • CentOS/RHEL系系统:update-ca-trust extract
  • 验证:在节点执行curl https://目标公网HTTPS地址,无证书报错即配置生效

注意:如果后续集群新增节点,需要在新增节点上重复执行上述操作

2. 单个Pod/容器层面配置(仅指定工作负载信任该证书)

适合只有部分业务需要访问对应资源、不想全局修改节点配置的场景:

方案A:通过ConfigMap挂载证书到容器内证书目录

  • 先将证书文件创建为ConfigMap:
kubectl create configmap custom-root-ca --from-file=root-ca.crt=./your-custom-root-ca.crt
  • 在Deployment的Pod模板中挂载该ConfigMap到容器的证书信任目录,示例配置:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: your-app
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: your-app
        image: your-app-image:tag
        volumeMounts:
        # 不同基础镜像的证书路径不同,按需调整
        # Debian/Ubuntu系镜像路径
        - mountPath: /usr/local/share/ca-certificates/root-ca.crt
          name: ca-cert
          subPath: root-ca.crt
        # CentOS/RHEL/Alpine系镜像可以挂载到/etc/pki/ca-trust/source/anchors/ 或者直接覆盖/etc/ssl/certs/ca-certificates.crt
        command: ["/bin/sh", "-c"]
        args: ["update-ca-certificates && 你的原有启动命令"]
      volumes:
      - name: ca-cert
        configMap:
          name: custom-root-ca

方案B:将证书打包到业务镜像内

直接在你的业务镜像Dockerfile中添加证书信任逻辑,示例:

FROM your-base-image:tag
# 复制证书到镜像内
COPY your-custom-root-ca.crt /usr/local/share/ca-certificates/
# 执行证书更新
RUN update-ca-certificates
# 后续原有镜像构建逻辑

3. 特殊场景适配

  • 如果使用的是Alpine基础镜像,需要先安装ca-certificates包再执行更新:
RUN apk add --no-cache ca-certificates && update-ca-certificates
  • 如果业务代码使用独立的证书库(比如Java应用使用JKS证书库、Python requests指定了cert路径),需要单独将证书导入到对应语言的证书库中,以Java为例:
keytool -importcert -file your-custom-root-ca.crt -alias custom-ca -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit -noprompt

内容的提问来源于stack exchange,提问作者lukisp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 22:12:02