登录
首页 >  Golang >  Go问答

如何从控制器文件向本地 Kubernetes 部署的服务提供静态文件?

来源:stackoverflow

时间:2024-04-05 08:33:35 376浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《如何从控制器文件向本地 Kubernetes 部署的服务提供静态文件?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我已经定义了一个部署文件:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ ... }}
  labels:
    app.kubernetes.io/name: {{ ... }}
    helm.sh/chart: {{ ... }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
    ...

我的服务实现了 jwt 验证,因此需要公钥。我可以以某种方式在部署文件中指定为我的服务提供本地生成的公钥文件吗?


解决方案


我最终使用@crou建议的 secrets 来创建密钥:

$ kubectl create secret generic pub-key --from-file=./jwt-key.pub

然后将其安装到我的部署 yaml 中的卷:

spec:
  volumes:
    - name: secret
      secret:
        secretName: pub-key
        defaultMode: 256
...
  containers:
      volumeMounts:
        - name: secret
          readOnly: true
          mountPath: /secret

并且能够在 /secret/jwt-key.pub 访问我的密钥

您可以使用 configmaps 来完成此操作。配置映射是用于部署单个文件(基本上)的资源。我目前正在使用一个用于我的集群 nginx 配置。

在您的配置文件中,将公钥的内容写入数据字段,然后告诉您的部署使用该配置文件并从中读取。这与仅为单个文件安装卷非常相似。不过,您可能需要更新部署的映像以从安装的位置读取。

在 kubernetes 中搜索 nginx,了解人们如何使用 configmap 将其配置(在您的情况下为公钥)部署到集群的示例。

为了进行测试,您可以使用此命令 kubectl create configmap public-conf --from-file=./your-public-key 创建配置映射。这将创建一个名为 public-conf 的配置映射。您可以运行 kubectl get configmap 来查看新创建的配置映射。

今天关于《如何从控制器文件向本地 Kubernetes 部署的服务提供静态文件?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>