【问题标题】:How to insert a ca-cert inside a container through oc edit deploy <pod/container_name>如何通过 oc edit deploy <pod/container_name> 在容器内插入 ca-cert
【发布时间】:2019-09-25 21:25:33
【问题描述】:

我正在尝试从 openshift pod/容器建立与 memsql 的基于 ssl 的连接。我必须在 pod 中插入一个自签名的 ca 证书,以便在 memsql 和 pod 之间建立连接。我有以下想法,但不确定如何实现它们: 1.在volumeMounts中挂载一个路径:比如/etc/ssl/certs,并在该路径中插入证书并为该文件名提供一个秘密,但是如何将该文件复制到指定的路径。 2. 在secrets下复制deployment config中证书的内容,但是会被验证吗?如何实现?

【问题讨论】:

    标签: docker kubernetes openshift


    【解决方案1】:

    首先创建 TLS 密钥:

    oc create secret tls mycert --cert /tmp/cert.pem --key /tmp/key.pem
    

    然后将这个秘密挂载到你的容器到 /certs 目录中

    oc set volume dc/myapp --add -t secret -m /certs --name cert --secret-name mycert
    

    您的证书将在 /certs/tls.crt 的 pod 内可用,密钥将在 /certs/tls.key

    【讨论】:

    • 您要求添加的这些证书是客户端证书,但我想添加根证书(caCert)并使用根证书更新容器中的 ca-bundle.crt。你能帮忙解决那部分吗?
    • 您通常应该将其作为 Docker 映像的一部分进行
    • 如何将证书文件的路径从本地机器提供给 dockerFile 或 docker 容器。
    • 只需将所需的证书添加到 docker 映像,这就是它的主要完成方式。每次添加新证书时 - 您重建图像,上传到注册表并从新图像重新启动 pod。您也可以使用 Jenkins 作业自动执行此操作。
    • 我是创建 Docker 映像的新手,对如何在 DockerFile 中添加我的本地计算机的一部分的证书文件感到困惑,以便它成为映像和容器的一部分,依此类推... .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2020-04-17
    • 1970-01-01
    • 2015-01-23
    • 2019-11-02
    • 2019-11-14
    • 2011-11-11
    相关资源
    最近更新 更多