开源项目one-api的k8s容器化部署(下)-- 部署至k8s

一、接着上文

本文讲述如何把上文制作好的docker镜像部署到K8S,会涉及以下部分:

  • 健康检测
  • 应用程序的配置
  • 应用程序的端口
  • 日志路径

二、健康检测

1、健康状态

从官方的docker-compose.yml可以得知其健康检测方法

curl http://localhost:5175/api/status
{"data":{"chat_link":"","display_in_currency":true,"email_verification":false,"footer_html":"","github_client_id":"","github_oauth":false,"lark_client_id":"","logo":"","quota_per_unit":500000,"server_address":"http://localhost:3000","start_time":1712719277,"system_name":"One API","top_up_link":"","turnstile_check":false,"turnstile_site_key":"","version":"","wechat_login":false,"wechat_qrcode":""},"message":"","success":true}

2、deployment.yaml 增加探针

这里的{{ PORT }} 是你应用监听的端口号。

 #########################################
          readinessProbe:
            exec:
              command: ["sh", "-c", "wget -q -O - http://127.0.0.1:{{ PORT }}/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'"]
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 3
            failureThreshold: 3
          startupProbe:
            exec:
              command: ["sh", "-c", "wget -q -O - http://127.0.0.1:{{ PORT }}/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'"]
            initialDelaySeconds: 15
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 3
            failureThreshold: 22
#########################################

三、应用程序的配置

当然,你可以直接在环境变量里配置明文,但不建议!

1、新建Secret(保密字典)

  • mysql数据库连接地址SQL_DSN
  • redis连接地址REDIS_CONN_STRING
  • session密钥SESSION_SECRET

在这里插入图片描述

2、deployment.yaml环境变量引用secret配置

# 修改前
          env:
            - name: SQL_DSN
              value: "oneapi:123456@tcp(db:3306)/one-api"
            - name: REDIS_CONN_STRING
              value: "redis://redis"
            - name: SESSION_SECRET
              value: "random_string"


# 修改后
          env:
            - name: SQL_DSN
              valueFrom:
                secretKeyRef:
                  name: one-api-conf
                  key: sql-dsn
            - name: REDIS_CONN_STRING
              valueFrom:
                secretKeyRef:
                  name: one-api-conf
                  key: redis-conn-string
            - name: SESSION_SECRET
              valueFrom:
                secretKeyRef:
                  name: one-api-conf
                  key: session-secret

四、应用程序的端口

one-api程序的默认端口是3000,一般我们都会需要进行变更。
不同的部署策略,则有不同的方案。

1、docker-compose部署

详见下面的command: --port 5175,指定程序启动的端口号为5175。

version: '3.4'
  
services:
  one-api:
    image: "xxx/one-api:1.0.0"
    container_name: one-api
    command: --port 5175

2、k8s deploymeng.yaml

通过args传入程序启动的端口号

      containers:
        - args:
            - '--port'
            - '5175'

在这里插入图片描述

五、日志路径

默认的存储路径:/data/logs
在这里插入图片描述
oneapi-20240410.log日志内容:
在这里插入图片描述

程序启动进程 one-api在根目录下:

在这里插入图片描述

六、总结

访问地址: http://{ip}:{port} (port就是上文指定的端口号)
在这里插入图片描述
至此,对开源项目one-api的k8s容器化部署就完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/552703.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03-JAVA设计模式-迭代器模式

迭代器模式 什么是迭代器模式 迭代器模式(demo1.Iterator Pattern)是Java中一种常用的设计模式,它提供了一种顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示的方法。迭代器模式将遍历逻辑从聚合对象中分离出来…

Latex学习(从入门到入土)2

第一章 :插图 在LaTeX中插入插图可以通过graphicx宏包来实现,这个宏包提供了强大的图像处理功能。以下是如何使用graphicx宏包插入图像的基本步骤: ### 1. 加载宏包 在文档的序言部分(\begin{document}之前)&#x…

《C语言深度解剖》:(5)C语言操作符一网打尽

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多数据结构与算法点击专栏链接查看&am…

一些docker安装配置以及常见命令

​常用命令 docker 命令 //进去容器内部,找到需要拷贝的文件及目录 docker exec -it 2c2600fb60f8 /bin/bash ​ //将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下: docker cp 4db8edd86202:/usr/share/elasticsea…

pytest系列——allure之在测试用例添加标题(@allure.title())

前言 通过使用装饰器allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。 allure.title的三种使用方式: 直接使用allure.title为测试用例自定义标题;allure.title支持通过占位符的方式传递参数,可以实现测试用例标题参数化&a…

温度对射频电路性能的影响

对于射频电路,通常会有使用温度范围的要求,即在特定的温度范围内其性能变化不超出指标要求的值。对于工业级产品,一般要求使用温度范围为-40℃~+70℃,而军品要求使用温度范围为-55℃~+85℃。有一些其他特殊使用场景的产品会有不同的要求。 不同的温度对电路性能的影响,…

nginx安装在linux上

nginx主要用于反向代理和负载均衡,现在简单的说说如何在linux操作系统上安装nginx 第一步:安装依赖 yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel 第二步: 下载nginx,访问官网,ngin…

char和varchar的区别?

一、问题解析 char和varchar都是用于在数据库中存储字符串的数据类型。它们之间的主要区别在于存储空间的使用方式: char是一种定长的数据类型,它的长度固定且在存储时会自动在结尾添加空格来将字符串填满指定的长度。char的长度范围是0-255&#xff0c…

机器学习理论入门---线性回归从理论到实践

线性回归是机器学习里面最简单也是最常用的算法,理解了线性回归的推导之后对于后续的学习有很大帮助,所以我决定从这里开始深入学习相关的机器学习模型。 本篇首先从矩阵求导开始切入,然后介绍一次线性回归的推导,再到代码实现。本…

【八股】Redisson分布式锁

Redisson分布式锁 主要了解了Redisson分布式锁实现的三个功能: 1.可重入 -> 防止死锁 2.可重试(i.e. 非阻塞获取锁) 3.自动续约 1. 可重入 原理: 利用Redis的Hash结构,记录了使用当前锁的线程id和重用次数&#…

零基础小白,如何入门计算机视觉?

目录 前言 计算机视觉技术学习路线 基础知识 1. 数学基础 2. 编程基础 3. 图像处理基础 基础算法与技术 1. 特征提取与描述符 2. 图像分割与对象检测 3. 三维重建与立体视觉 机器学习与深度学习 1. 机器学习基础 2. 深度学习 高级主题与应用 1. 高级机器学习与深度学习 2. 计算…

Linux之 USB驱动框架-USB总线核心和主控驱动(4)

一、USB设备描述符 一个USB设备描述符中可以有多个配置描述符,即USB设备可以有多种配置;一个配置描述符中可以有多个接口描述符,即USB设备可以支持多种功能(接口);一个接口描述符中可以有多个端点描述符。 …

【YOLOv8改进[Neck]】使用BiFPN助力V8更优秀

目录 一 BiFPN(双向特征金字塔网络) 1 BiFPN 2 EfficientDet 二 使用BiFPN助力模型更优秀 1 整体修改 2 配置文件 3 训练 其他 一 BiFPN(双向特征金字塔网络) BiFPN(双向特征金字塔网络, 2020)用于特征融合层。 官方论文地址:https://arxiv.org…

445. 两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例1: 输入:l1 [7,2,4,3], l2 [5,6,4]…

什么地推网推拉新副业平台最值得推荐? 赚取互联网第一桶金

随着互联网的发展,新型行业层出不穷。其中地推网推拉新作为互联网行业具有收入高、门槛低、时间自由等优势,一部分人从中嗅到了商机,开始纷纷接触并加入了进来。但还是有一部分人对于地推网推拉新的了解很少,不知道如何才能加入其…

这个“高端智库”落地上塘,数字生活商务社区企航俱乐部正式成立

4月10日上午,由浙江省跨境电子商务产业联盟指导,上塘街道党工委、办事处主办,上塘街道数字生活商务社区、运河(国际)跨境电子商务园承办的上塘街道数字生活商务社区企航俱乐部成立仪式暨助力跨境电商高质量发展首期交流…

计算机考研都将采用408!?

这个根本不可能,高考还没做到全国统一考试呢 每个学校对于计算机招生的需求是不一样的,比如清华大学,专业课912,算的上是最难的计算机专业课了,那他为什么搞这么难啊,还不是因为那群敢考清华的卷王们太变态…

Re65:读论文 GPT-3 Language Models are Few-Shot Learners

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:Language Models are Few-Shot Learners ArXiv网址:https://arxiv.org/abs/2005.14165 2020 NeurIPS:https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb49674…

2024阿里云4核8G服务器租用优惠价格700元一年

阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R) Platinum处理器,阿里云优惠 aliyunfuwuqi…

MSSQL 命令行操作说明 sql server 2022 命令行下进行配置管理

说明:本文的内容是因为我在导入Access2019的 *.accdb 格式的数据时,总是出错的背景下,不得已搜索和整理了一下,如何用命令行进行sql server 数据库和用户管理的方法,作为从Access2019 直接导出数据到sql server 数据库…