开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置

这篇具有很好参考价值的文章主要介绍了开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、接着上文

本文的内容是在k8s容器中,如何使用configmap对.env文件进行挂载,实现环境的差异化配置。

二、源码结构

项目ChatGPT-Next-Web使用了.env文件来配置不同环境下的值:

开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker
所以,我们同理新增两个配置文件,见下:

开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker

三、k8s使用configmap挂载.env文件

生产环境的.env文件对应生产环境的数据库连接等信息,不可能写在上面的源码中。
所以,我们在生产k8s里新增.env文件,挂载到容器的对应文件。

1、新增configmap配置

开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker
把.env.production文件配置在configmap,下一步将在deployment.yaml中引用它。

  • 配置项名称ai-assist-web-conf
  • 文件的path路径是.env.production
    开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker

2、deployment.yaml引用configmap,挂载.env.production文件

增加以下内容:

################ 修改前 #######################
		volumeMounts:
            - mountPath: /etc/localtime
              name: volume-localtime
    volumes:
        - hostPath:
            path: /etc/localtime
            type: ''
          name: volume-localtime
          
###############  修改后  #####################
		volumeMounts:
            - mountPath: /etc/localtime
              name: volume-localtime
              # 注意容器里,该配置文件的路径是/opt
            - mountPath: /opt/.env.production
              name: configmap-volume
              subPath: .env.production
    volumes:
        - hostPath:
            path: /etc/localtime
            type: ''
          name: volume-localtime
        - name: configmap-volume
          configMap:
            name: ai-assist-web-conf
            items:
            - key: .env.production
              path: .env.production             

3、完整的deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: ai-assist-web
  name: ai-assist-web
  namespace: web-service
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: ai-assist-web
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: ai-assist-web
    spec:
      containers:
        - image: xxx-harbor-registry-vpc.cn-hangzhou.cr.aliyuncs.com/xxx/ai-assist-web:1.0.5
          imagePullPolicy: Always
          name: ai-assist-web
          ports:
            - containerPort: 5173
          env:
            - name: TZ
              value: Asia/Shanghai
            - name: PORT
              value: '5173'
          resources:
            limits:
              cpu: 2
              memory: 2Gi
            requests:
              cpu: 200m
              memory: 1.8Gi
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /etc/localtime
              name: volume-localtime
            - mountPath: /opt/.env.production
              name: configmap-volume
              subPath: .env.production
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
        - hostPath:
            path: /etc/localtime
            type: ''
          name: volume-localtime
        - name: configmap-volume
          configMap:
            name: ai-assist-web-conf
            items:
            - key: .env.production
              path: .env.production

四、验证挂载

进入容器,查看.env.production文件的内容。

切到目录/opt
开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker文章来源地址https://www.toymoban.com/news/detail-848581.html

  • 查看.env.production文件内容,确认与configmap挂载一致
    开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置,chatgpt,node.js,kubernetes,容器,docker

到了这里,关于开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过NextChat(ChatGPT-Next-Web)低成本给自己或客户部署GPT程序

    在国内,用着别人的GPT总归不爽,一是担心稳定性,二是还可能被广告打扰。Github上超人气项目NextChat提供了私有化部署GPT的最佳实践方案,帮助你低成本完成GPT的私人所有。 注意:本文仅针对需要部署项目的读者来展开,实际本站提供的GPT程序完全可以满足大家平时使用

    2024年01月21日
    浏览(39)
  • ChatGPT-Next-Web使用技巧大全,教你如何用好gpt

    随着AI的应用变广,NextChat(即ChatGPT-Next-Chat,下同)程序已逐渐普及,尤其是在一些日常办公、学习等与撰写/翻译文稿密切相关的场景,极低成本、无需魔法和即拿即用的特点让NextChat类开源AI-UI程序火爆出圈。 近半年通过和很多用户的交流也不难发现,大部分人对该程序的

    2024年04月28日
    浏览(43)
  • 【Docker】快速部署 ChatGPT Next Web,一键免费部署你的私人 ChatGPT 网页应用,支持 GPT3, GPT4 & Gemini Pro 模型。

    ChatGPT Next Web 可以一键免费部署你的私人 ChatGPT 网页应用,支持 GPT3, GPT4 Gemini Pro 模型。你无需任何复杂的配置,只需几行命令就可以完成部署。我们将通过 Docker 来部署这个应用。 下载 Docker 镜像 首先,我们需要从 Docker Hub 下载 ChatGPT 应用的 Docker 镜像。 Docker 版本需要在

    2024年03月10日
    浏览(72)
  • ChatGPT Next Web 搭建过程记录

    ​ https://github.com/Yidadaa/ChatGPT-Next-Web 提供了一键部署到Vercel 在Vercel中关联Git账户后 import工程 然后输入 OpenAI Key 和 Code 这两个环境变量 OpenAI Key 从账户中获取 https://platform.openai.com/api-keys 不要泄露给别人 Code 为用户使用密码(建议设置) 可以设置多密码 用 , 分隔 填写完成后 点

    2024年01月24日
    浏览(77)
  • 基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点

    作为一个技术博主,了不起比较喜欢各种折腾,之前给大家介绍过 ChatGPT 接入微信,钉钉和知识星球(如果没看过的可以翻翻前面的文章),最近再看开源项目的时候,发现了一个 ChatGPT Web UI 项目。 想着刚好之前没有将 ChatGPT 接入过 Web UI ,有了这个开源项目可以拿来使用,

    2023年04月10日
    浏览(43)
  • 开源项目one-api的k8s容器化部署(上)-- 制作镜像及部署准备

    最近需要对开源项目one-api进行k8s容器化部署,主要分以下几个步骤: 制作docker镜像 申请mysql和redis数据库 docker-compose部署方式 k8s部署方式 整个的篇幅比较长,将会分成上下两篇来阐述。 开源项目one-api已经提供了Dockerfile文件,按说制作一个私有镜像是非常简单的事情,可是

    2024年04月15日
    浏览(28)
  • 部署一款开源的交互审计系统—Next Terminal

    部署一款开源的交互审计系统—Next Terminal-雪饼 (xue6ing.cn) https://xue6ing.cn/archives/bu-shu-yi-kuan-kai-yuan-de-jiao-hu-shen-ji-xi-tong--next-terminal Next Terminal 是一个开源的交互审计系统,具有以下主要功能和优势: 免费开源:Next Terminal在GitHub上已收获近4000 Star(dushixiang/next-terminal: Next Termi

    2024年01月19日
    浏览(44)
  • Tomcat无法加载Web项目部署后的静态页面(Caused by: java.lang.IllegalArgumentException: 指定的主资源集[X:XXXX]无效 || 子容器启动失败)

    问题截图: 问题原因: 此种情况一般来讲是 docBase 与 path 的路径有一方是正确路径而另一方路径出错导致的,访问到前面的路径是正确的自然Console是不报错的,如此才会使得资源访问会出现404的问题。 解决方案:  1、在Servers中找到server.xml文件,拉到下方重新统一正确的路

    2024年02月07日
    浏览(59)
  • 在服务器部署Next.js、Node.js项目,并实现自动部署(伪CI\CD)超详细

    目录 一、引言 二、配置服务器 1. 远程连接服务器 · 用服务商提供的远程连接 · 用MotaXterm来远程连接 ​编辑​编辑​编辑  2. 登录实例 · 如何获取账号和密码 · 服务商远程连接方式:  · MotaXterm连接方式 三、项目准备与测试 1. 安装nodejs · 进入安装目录 · 下载 · 解压 ·

    2024年02月05日
    浏览(91)
  • 开源Cillium项目为容器提供强大的网络功能

    试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器提供高速、强大的网络功能。一项名为Cilium的开源项目试图基于Linux内核中所用的技术,为容器提供一种新的网络方法。 试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器提供高速、强大的网络功能。

    2024年02月13日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包