Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何使用客户端角色而不是服务器角色的Kubernetes吊舱的SSL证书_Docker_Ssl Certificate - Fatal编程技术网

Docker 如何使用客户端角色而不是服务器角色的Kubernetes吊舱的SSL证书

Docker 如何使用客户端角色而不是服务器角色的Kubernetes吊舱的SSL证书,docker,ssl-certificate,Docker,Ssl Certificate,我有一个运行在Kubernetes吊舱中的应用程序。它需要对一些外部服务进行https调用。这个外部服务要求SSL证书。我理解如果没有Kubernetes,证书可以下载到Linux机器上的某个地方,机器上的应用程序通过路径引用该证书。但是如何为Kubernetes集群安装证书呢?最好的做法是什么 这里是我通过网上搜索收集的一些信息,如果我错了,请纠正我。但就是找不到我问题的答案 很多指南/博客/文档都在谈论签名 向其他客户提供Kubernetes服务时的证书, 但就我而言,情况正好相反——打电话

我有一个运行在Kubernetes吊舱中的应用程序。它需要对一些外部服务进行https调用。这个外部服务要求SSL证书。我理解如果没有Kubernetes,证书可以下载到Linux机器上的某个地方,机器上的应用程序通过路径引用该证书。但是如何为Kubernetes集群安装证书呢?最好的做法是什么

这里是我通过网上搜索收集的一些信息,如果我错了,请纠正我。但就是找不到我问题的答案

  • 很多指南/博客/文档都在谈论签名 向其他客户提供Kubernetes服务时的证书, 但就我而言,情况正好相反——打电话给外部 具有来自Kubernetes的ssl证书的服务
  • 我考虑在集群中提前安装ssl证书 机器。但是

    1) 安装是否可以在短时间内自动完成 安全的方式

    2) 看起来从主机共享文件的播客是 反党派的,甚至可能得不到库伯内特斯的支持,尤其是 在Google Kubernetes引擎中(我们使用GKE)


  • 所以。。。如有任何见解或建议,将不胜感激。谢谢

    我认为您的问题不是关于Kubernetes,而是如何在包装容器图像的方式中添加证书(可能是使用Docker)

    通过运行以下命令,可以轻松地将CA证书安装到容器映像中:

    • 如果您使用的是基于debian/ubuntu的映像:

      apt-get install -qqy ca-certificates
      
    • 如果您使用的是基于alpine的图像:

      apk add --no-cache ca-certificates
      

    这些将确保您的容器具有最新的根CA证书,用于验证公共网站/服务提供的TLS证书的有效性。

    有三种方法,请根据您的方便选择任何一种方法:

    1.仅通过应用程序中的几行代码更改-这会给开发人员带来负担

    2.在构建容器时,仅通过Dockerfile中的少数额外行image-
    将此责任设置在开发人员或devops身上,具体取决于dockercontainer创建的负责人。

  • 最佳方式-仅通过Kubernetes部署yaml/在部署Pod时,通过将cert放入映射到Pod CA根位置的配置图中,改变舵图<代码>-这是一次性活动,将全部责任放在开发人员操作上,并将自动应用于所有未来的应用程序。
  • 以下是关于每种方法的详细步骤以及利弊和示例: