首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在容器中使用证书(.pem)文件的最佳实践

在容器中使用证书(.pem)文件的最佳实践
EN

Stack Overflow用户
提问于 2020-09-03 19:40:27
回答 2查看 4.7K关注 0票数 1

我正在学习docker/k8;我想将一个.pem文件传递/存储到运行在k8s集群上的引导容器中。这个容器使用.pem创建一个k8s秘密(kubectl创建秘密.)其他在k8s上运行的应用程序将通过安装kubernetes的秘密来使用。

我可以想到以下几种选择,

  • 我可以将.pem细节作为ENV传递给容器。
  • 我可以用.pem文件构建图像。
  • 我可以将.pem文件存储在S3中,并从容器中下载它。

想了解其中哪一种是完成此任务的最佳实践/安全方法。

EN

回答 2

Stack Overflow用户

发布于 2020-09-03 20:00:56

我看过很多种方法,但我建议使用配置映射,这样就可以让pem文件驻留在k8s集群中,而不必在s3中处理加密等问题。此外,如果您将此包含在docker代码中,则可以让devops团队处理维护,而不是应用程序开发人员。

配置映射Kubernetes Docs

  1. 创建配置映射 kubectl -n创建configmap ca-pemstore - from-file=my-cert.pem
  2. 向pod yaml文件中添加新的配置 apiVersion: v1种类: Pod元数据: name: spec:- name: volumeMounts:- name:-name:cert.pem: /etc/ssl/certs/my-cert.pem subPath: my-cert.pem readOnly: false port:- containerPort: 80命令:.阿格斯:..。卷号:-名称::name:
票数 1
EN

Stack Overflow用户

发布于 2021-11-11 16:45:21

(虽然可以说K8S秘密是Config映射的类型)。

我认为更好的方法是像在这里中指定的那样使用K8S秘密(在Config映射上)

代码语言:javascript
运行
复制
apiVersion: v1
kind: Secret
metadata:
  name: secret-tls
type: kubernetes.io/tls
data:
  # the data is abbreviated in this example
  tls.crt: |
        MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
  tls.key: |
        MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...

然后您可以创建一个通过卷访问秘密数据的pod

代码语言:javascript
运行
复制
apiVersion: v1
kind: Pod
metadata:
  name: secret-test-pod
spec:
  containers:
    - name: test-container
      image: nginx
      volumeMounts:
        # name must match the volume name below
        - name: secret-volume
          mountPath: /etc/secret-dir
  # The secret data is exposed to Containers in the Pod through a Volume.
  volumes:
    - name: secret-volume
      secret:
        secretName: secret-tls

(*)在这个特定的示例中,tls.crttls.key将在/etc/secret-dir下创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63730597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档